Khi một công việc định kỳ chạy với đặc quyền nào thì nó thực thi?
Tôi không chắc về điều đó. Có phải nó có cùng đặc quyền của người dùng đã thêm nó thông qua crontab -e
?
Khi một công việc định kỳ chạy với đặc quyền nào thì nó thực thi?
Tôi không chắc về điều đó. Có phải nó có cùng đặc quyền của người dùng đã thêm nó thông qua crontab -e
?
Câu trả lời:
Bạn có thể chỉ định người dùng trong các mục crontab của hệ thống như vậy:
# For details see man 4 crontabs
# Example of job definition:
.---------------- minute (0 - 59)
| .------------- hour (0 - 23)
| | .---------- day of month (1 - 31)
| | | .------- month (1 - 12) OR jan,feb,mar,apr ...
| | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
| | | | |
* * * * * user-name command to be executed
Đối số thứ 6 có thể là tên người dùng. Ngoài ra, bạn có thể đặt các tập lệnh trong /etc/cron.d
thư mục. Các tập lệnh có dạng tương tự như các mục crontab được mô tả ở trên, ví dụ:
# /etc/cron.d/clamav-update
## Adjust this line...
MAILTO=root
## It is ok to execute it as root; freshclam drops privileges and becomes
## user 'clamav' as soon as possible
0 */3 * * * root /usr/share/clamav/freshclam-sleep
Bạn có thể đặt các tập lệnh trong các thư mục này, nhưng chúng có nghĩa là được chạy dưới quyền root:
Cuối cùng, bạn có thể tạo các mục crontab dựa trên người dùng bằng cách chạy lệnh này với tư cách là một người dùng nhất định:
$ crontab -e
Các mục này được lưu trữ trong các tệp có cùng tên với người dùng trong thư mục này , /var/spool/cron/
:
$ sudo ls -l /var/spool/cron/
-rw------- 1 saml root 0 Jun 6 06:43 saml
Có , tuy nhiên, công việc mà được bổ sung bằng tay để crontab hệ thống (chỉnh sửa / etc / crontab) sẽ được chạy với quyền tuyệt đối (ví dụ: chạy như root) trừ khi bạn chỉ định một người dùng khác.
cronjob