Điều gì có thể khiến Perm Perm Perm bị từ chối vì lệnh `crontab -e`?


19

Đây là một số đầu ra mà tôi hy vọng là hữu ích:

nick@home-sv-1:~$ crontab -e
/var/spool/cron/crontabs/nick: Permission denied

nick@home-sv-1:~$ echo $EDITOR
emacs

nick@home-sv-1:~$ ls /var/spool/cron/crontabs
ls: cannot open directory /var/spool/cron/crontabs: Permission denied

nick@home-sv-1:~$ sudo ls -al /var/spool/cron/crontabs
total 12
drwx-wx--T 2 root crontab 4096 2009-10-25 20:45 .
drwxr-xr-x 3 root root    4096 2009-05-18 01:19 ..
-rw------- 1 root root     612 2009-10-25 01:20 root

Vấn đề:

Crontab không có setguid và không thuộc nhóm crontab.

home-sv-1:~# ls -al /usr/bin/crontab
-rwxr-xr-x 1 root root 32048 2009-08-30 03:34 /usr/bin/crontab

Giải pháp:

Là gốc ...

home-sv-1:~# chown root.crontab /usr/bin/crontab
home-sv-1:~# chmod g+s /usr/bin/crontab

home-sv-1:~# ls -al /usr/bin/crontab
-rwxr-sr-x 1 root crontab 32048 2009-08-30 03:34 /usr/bin/crontab

Câu trả lời:


10

Liệu /usr/bin/crontabsetgidthiết lập cho phép?

-rwxr-sr-x 1 gốc crontab 32K 2008-09-28 14:07 / usr / bin / crontab *

Nếu không, chmod g+snó (và nếu cần, chown trước đó)


Chỉnh sửa: Lưu ý rằng điều này chỉ áp dụng cho Vixie Cron (được sử dụng bởi hầu hết các bản phân phối); các trình tiện ích khác (như dcron) có thể sử dụng các quyền khác nhau ( setuid).


15

Ngoài ra, đáng để kiểm tra các quyền tại / var / spool / cron / crontabs bằng

ls -al /var/spool/cron/crontabs 

Trong trường hợp của tôi, điều này cho thấy rằng thực sự người dùng được gán cho crontab là 'whoopsie' mà tôi cho rằng có nghĩa là có một số lỗi trong việc thiết lập người dùng.

Biểu diễn ...

chown <username> /var/spool/cron/crontabs/<username>

Đã sửa lỗi này hoàn toàn :)


1
Điều này làm việc với tôi, nhưng vấn đề là thư mục / var / spool / cron / crontabs thực tế không thể truy cập được cho người dùng, do đó không thể tạo tệp <username>. Đáng để kiểm tra mà ra.
Marco

2

Kiểm tra tệp /etc/cron.allow và /etc/cron.deny. Nếu các tệp đó tồn tại, hãy đảm bảo tên người dùng của bạn nằm trong /etc/cron.allow.


1
Điều này sẽ hiển thị một thông báo lỗi khác - "Bạn ($ USER) không được phép sử dụng chương trình này (crontab)"
grawity

1

Tôi đã từng gặp vấn đề tương tự. Tôi đã giải quyết nó theo cách này.

sudo crontab -u yourUser -e

Tôi hy vọng nó sẽ giúp bạn.

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.