Câu trả lời:
Tôi sẽ không nhận được bao nhiêu đây là một ý tưởng tồi; chỉ cần đặt, chạy sudo
trong crontab yêu cầu mật khẩu của bạn được lưu trữ ở đâu đó trong bản rõ.
Đó là một ý tưởng tồi.
Sau đây là phương pháp ưa thích để chạy các tác vụ quản trị thông qua cron. Vì bạn không thực sự cần phải viết sudo
trong crontab, nếu bạn đang sửa đổi crontab của root.
Chạy lệnh sau:
sudo crontab -e
Điều này mở ra root
crontab. sudo
không cần thiết để chạy lệnh của bạn trong ngữ cảnh này, vì root
dù sao nó cũng sẽ được gọi .
Do đó, bạn chỉ cần thêm phần sau vào crontab của root.
@hourly rm somefile
Bây giờ, nếu bạn hoàn toàn muốn không an toàn và chấp nhận rủi ro với mật khẩu của mình, những điều sau đây sẽ chạy lệnh của bạn từ crontab của riêng bạn và tự động nhập mật khẩu của bạn khi được nhắc bởi sudo
.
Một lần nữa, điều này không được khuyến khích .
Trong crontab của riêng bạn, hãy viết lệnh của bạn như vậy:
@hourly echo "password" | sudo -S rm somefile
Nhược điểm rõ ràng ở đây là, nếu bất cứ ai từng truy cập vào crontab của bạn, mật khẩu của bạn sẽ có thể đọc được trong bản rõ.
Bạn không nên làm điều này.
root
dụng crontab của người dùng thay vì crontab trên toàn hệ thống /etc/crontab
?
sudoers
tệp của bạn , như các nhóm sudo mà không yêu cầu mật khẩu.
Nếu bạn đang đặt tập lệnh từ một trong các thư mục cron ( /etc/cron.*
) thì bạn không cần sử dụng sudo vì nó đang chạy như root.
Nếu bạn đang sử dụng crontab, thì bạn sẽ muốn sử dụng crontab của root. Điều này sẽ chạy nó như root, và cũng không cần sudo.
sudo crontab -e
Chạy lệnh sau trong terminal
sudo visudo
Đã thêm dòng sau vào cuối tệp:
vidyadhar ALL= NOPASSWD: /bin/rm
Trong ví dụ trên, vidyadhar là tên người dùng và nó sẽ không hỏi mật khẩu nếu bạn đang chạy lệnh rm thông qua vidyadhar.
sudo rm -rf 'slash'
( không chạy lệnh đó ), chạy từ người dùng đó, sẽ không yêu cầu mật khẩu .. Tôi không biết, nó cảm thấy không an toàn, phải không?
vidyadhar ALL= NOPASSWD: /bin/rm somefile
sẽ an toàn hơn.
<username> ALL=(ALL) NOPASSWD: /home/<username>/bin/<script>
, sẽ an toàn hơn nhiều.