เมื่องาน cron ทำงานด้วยสิทธิพิเศษอะไรบ้างที่ทำงาน?
ฉันไม่แน่ใจเกี่ยวกับเรื่องนี้ มันมีสิทธิ์ใช้งานแบบเดียวกันกับผู้ใช้ที่เพิ่มเข้าไปcrontab -e
หรือไม่?
เมื่องาน cron ทำงานด้วยสิทธิพิเศษอะไรบ้างที่ทำงาน?
ฉันไม่แน่ใจเกี่ยวกับเรื่องนี้ มันมีสิทธิ์ใช้งานแบบเดียวกันกับผู้ใช้ที่เพิ่มเข้าไปcrontab -e
หรือไม่?
คำตอบ:
คุณสามารถระบุผู้ใช้ในรายการระบบ crontab ดังนี้:
# 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
อาร์กิวเมนต์ที่ 6 สามารถเป็นชื่อผู้ใช้ นอกจากนี้คุณสามารถใส่สคริปต์ใน/etc/cron.d
ไดเรกทอรี สคริปต์ใช้รูปแบบเดียวกับรายการ crontab ที่อธิบายข้างต้นตัวอย่างเช่น:
# /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
คุณสามารถใส่สคริปต์ในไดเรกทอรีเหล่านี้ แต่มันจะถูกเรียกใช้เป็นรูท:
ในที่สุดคุณสามารถสร้างรายการ crontab ของผู้ใช้โดยการเรียกใช้คำสั่งนี้เป็นผู้ใช้ที่กำหนด:
$ crontab -e
รายการเหล่านี้ถูกเก็บไว้ในไฟล์ที่มีชื่อเดียวกับผู้ใช้ในไดเรกทอรีนี้/var/spool/cron/
:
$ sudo ls -l /var/spool/cron/
-rw------- 1 saml root 0 Jun 6 06:43 saml
ใช่อย่างไรก็ตามงานที่ถูกเพิ่มเข้าไปในระบบ crontab ด้วยตนเอง (แก้ไข / etc / crontab) จะถูกรันด้วยสิทธิ์แบบสัมบูรณ์ (เช่น: run as root) เว้นแต่คุณจะระบุผู้ใช้รายอื่น
cronjob