Người dùng x không thể sử dụng chương trình này (crontab)


9

Ubuntu 14.04

Tôi không hiểu hành vi tôi thấy khi thiết lập crontab cho tài khoản dịch vụ (không đăng nhập) (có tên curator).

Khi tôi đăng nhập với quyền root, đây là những gì tôi nhận được:

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

Nhưng, khi tôi chuyển sang tài khoản của người dùng, nó hoạt động tốt:

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

Có một /etc/cron.allowtập tin trống và không có /etc/cron.denytập tin trên hệ thống. Theo man crontab:

Nếu tệp /etc/cron.allow tồn tại, thì bạn phải được liệt kê (một người dùng trên mỗi dòng) trong đó để được phép sử dụng lệnh này. Nếu tệp /etc/cron.allow không tồn tại nhưng tệp /etc/cron.deny không tồn tại, thì bạn không được liệt kê trong tệp /etc/cron.deny để sử dụng lệnh này.

Tôi hiểu lỗi khi tôi chạy lệnh đầu tiên, nhưng tại sao nó lại cho phép tôi chạy crontabkhi tôi chuyển sang tài khoản người dùng một cách rõ ràng?

Thêm người dùng để /etc/cron.allowlàm cho cả hai lệnh hoạt động tốt.


1
Nó chỉ nói rằng không có crontab. Điều gì sẽ xảy ra nếu bạn cố gắng tạo một thông qua crontab -e(với tư cách là người quản lý người dùng)?
Fiximan

1
Không thể tái tạo vấn đề này trên hình ảnh Trusty64 mơ hồ; với một sản phẩm nào cron.allowtập tin, cả root crontab -u vagrant -lcrontab -lnhư vagrantkết quả trong một are not allowed to use this programtin nhắn (đó là khác biệt so với thông điệp mà bạn trích dẫn).
thrig

Câu trả lời:


11

Tôi đã kiểm tra các nguồn crontab và thấy rằng nếu người dùng không thể mở /etc/cron.allow(ví dụ sau chmod 0 /etc/cron.allow), crontab nghĩ rằng người dùng được phép sử dụng nó (như thể cron.allowkhông tồn tại).

Nhưng root có thể đọc bất kỳ tập tin nào, vì vậy mã kiểm tra crontab hoạt động như mong đợi. Vì vậy, tôi khuyên bạn nên kiểm tra các quyền đầu tiên trên /etc/cron.allowvà có thể nhật ký kiểm toán của Selinux / AppArmor.


Điều này có vẻ là như vậy - Tôi đã xác minh rằng chmod -r /etc/cron.allowthực sự gây ra hành vi được mô tả trên hệ thống Ubuntu 14.04 của tôi
Steeldo

Tại chỗ trên! Quyền của tôi /etc/cron.allow600, sau khi thay đổi nó thành 644cả hai rootcuratorthấy not allowed to use this program (crontab)tin nhắn. Sau đó, sau khi thêm curatorvào /etc/cron.allowcả hai có thể sử dụng crontab của giám tuyển.
Adam Michalik
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.