script để su với mật khẩu trong script mà không cần root


8

Tôi đã viết kịch bản một quy trình liên quan đến việc cập nhật các liên kết tượng trưng trên các tệp nằm trên 3 máy khác nhau. Trên các máy đó tồn tại 4 người dùng, mỗi người cần cập nhật các liên kết này.

Sử dụng su, có cách nào để truyền đối số mật khẩu cho lệnh trên một dòng, mà không cần gọi sudo vì người dùng sẽ không có quyền quản trị?

Giải pháp thay thế duy nhất của tôi tại thời điểm này là ssh xung quanh, tuy nhiên tôi muốn có thể làm điều này mà không cần mã hóa trong một loạt các máy chủ / ips.

Câu trả lời:


3

Bạn có thể đặt mật khẩu để su như thế này:

echo pa$$w0rd | su -c whoami user_1

1
Nhận được lỗi "Tiêu chuẩn phải là một tty"
Triplell89

Bạn đang sử dụng ssh? Hãy thử tùy chọn -t để ssh.
dị

@KevinVW, tôi không thấy -t là tùy chọn trong su.
maestromani

Các -t là cho ssh, không phải su. Nếu buộc một giả giả để su có thể đọc mật khẩu từ stdin.
gogators
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.