ผู้ใช้ x ไม่สามารถใช้โปรแกรมนี้ (crontab)


9

Ubuntu 14.04

ฉันไม่เข้าใจพฤติกรรมที่ฉันเห็นด้วยการตั้งค่าบัญชี crontab สำหรับบริการ (ไม่มีชื่อเข้าสู่ระบบ) (ชื่อcurator)

เมื่อฉันเข้าสู่ระบบในฐานะ root นี่คือสิ่งที่ฉันได้รับ:

# crontab -u curator -l
The user curator cannot use this program (crontab)

แต่เมื่อฉันเปลี่ยนไปใช้บัญชีผู้ใช้มันใช้งานได้ดี:

# su -s /bin/bash curator
curator@host$ crontab -l
no crontab for curator

มี/etc/cron.allowไฟล์ว่างเปล่าและไม่มี/etc/cron.denyไฟล์ในระบบ ตามman crontab:

หากไฟล์ /etc/cron.allow มีอยู่คุณจะต้องแสดงรายการ (หนึ่งผู้ใช้ต่อบรรทัด) ในนั้นเพื่อให้สามารถใช้คำสั่งนี้ได้ หากไฟล์ /etc/cron.allow ไม่มีอยู่ แต่ไฟล์ /etc/cron.deny นั้นมีอยู่คุณต้องไม่แสดงรายการในไฟล์ /etc/cron.deny เพื่อใช้คำสั่งนี้

ฉันเข้าใจข้อผิดพลาดเมื่อฉันเรียกใช้คำสั่งแรก แต่ทำไมมันทำให้ฉันสามารถทำงานcrontabเมื่อฉันเปลี่ยนไปใช้บัญชีผู้ใช้อย่างชัดเจน?

การเพิ่มผู้ใช้เพื่อให้/etc/cron.allowทั้งสองคำสั่งทำงานได้ดี


1
เพิ่งบอกว่าไม่มี crontab จะเกิดอะไรขึ้นถ้าคุณพยายามสร้างผ่านcrontab -e(ในฐานะผู้ดูแล)
Fiximan

1
ไม่สามารถทำซ้ำปัญหานี้ในภาพ vagy trusty64; ด้วยcron.allowไฟล์ว่างทั้งroot crontab -u vagrant -lและcrontab -lเป็นvagrantผลลัพธ์ในare not allowed to use this programข้อความ (ซึ่งแตกต่างจากข้อความที่คุณอ้าง)
thrig

คำตอบ:


11

ฉันตรวจสอบแหล่งที่มาของ crontab และพบว่าหากผู้ใช้ไม่สามารถเปิดได้/etc/cron.allow(เช่นหลังจากนั้นchmod 0 /etc/cron.allow) crontab คิดว่าผู้ใช้ได้รับอนุญาตให้ใช้มัน (ราวกับว่าcron.allowไม่มีอยู่)

แต่รูทสามารถอ่านไฟล์ใด ๆ ดังนั้นการตรวจสอบโค้ด crontab จึงทำงานได้อย่างที่คาดไว้ ดังนั้นฉันขอแนะนำให้คุณตรวจสอบการอนุญาตก่อน/etc/cron.allowและอาจบันทึกการตรวจสอบ SELinux / AppArmor


ดูเหมือนว่าจะเป็น - ฉันได้ตรวจสอบแล้วว่าchmod -r /etc/cron.allowเป็นสาเหตุของพฤติกรรมที่อธิบายไว้ในระบบ Ubuntu 14.04 ของฉัน
steeldriver

จับได้เห็นชัดตรงเผง! /etc/cron.allowสิทธิ์ของฉันคือ600หลังจากเปลี่ยนเป็น644ทั้งสองrootและcuratorเห็นnot allowed to use this program (crontab)ข้อความ จากนั้นหลังจากที่เพิ่มcuratorไป/etc/cron.allowทั้งสามารถใช้ crontab ภัณฑารักษ์
Adam Michalik
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.