daftar crontab atau hasil edit di fopen: izin ditolak

10

Baru-baru ini, sebuah pekerjaan yang dikonfigurasikan untuk dijalankan dari crontab pengguna berhenti dijalankan. Saat mencoba mendaftar atau mengedit crontab untuk pengguna, hasilnya adalah:

user@host:~$ crontab -l
crontabs/user/: fopen: Permission denied

user@host:~$ crontab -e
crontabs/user/: fdopen: Permission denied

Jelas itu terkait izin, meskipun saya tidak yakin bagaimana izin itu berubah - dan yang lebih penting, apa yang harus diatur.

Izin pada / usr / bin / crontab:

$ ll /usr/bin/crontab
-rwxr-sr-x 1 root libuuid 35896 Aug 24  2010 /usr/bin/crontab*

Izin pada direktori / var / spool / cron / crontab:

# ll /var/spool/cron/
total 12
drwxr-xr-x 3 root root    4096 Oct 12  2010 ./
drwxr-xr-x 7 root root    4096 Jun  5 20:51 ../
drwx-wx--T 2 root libuuid 4096 Jan 10  2014 crontabs/

Izin di dalam direktori crontab:

# ll /var/spool/cron/crontabs/
total 16
drwx-wx--T 2 root libuuid 4096 Jan 10  2014 ./
drwxr-xr-x 3 root root    4096 Oct 12  2010 ../
-rw------- 1 1017 libuuid 1120 Dec  3  2013 
-rw------- 1 root libuuid 1342 Jan 10  2014 root

Info distro:

# cat /etc/*-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=10.10
DISTRIB_CODENAME=maverick
DISTRIB_DESCRIPTION="Ubuntu 10.10"
kereta kuda
sumber
Bukan jawaban untuk pertanyaan Anda tetapi Anda mungkin ingin melihat peningkatan. Pembaruan keamanan adalah hal yang baik.
Ladadadada
Siapa pengguna? 2013?
krisFR

Jawaban:

5

Izin pada / usr / bin / crontab harus:

 owner=root
 group=root
 perms= 4755  (rws rx rx)

/ Usr / bin / crontab Anda memiliki pemilik grup yang salah. Selain itu, ia memiliki sgid dan BUKAN suid yang harus dimiliki.

mdpc
sumber
1
Apakah ada alasan mengapa defaultnya tidak seperti yang Anda tulis? Saya belum menyentuh izin saya (Ubuntu 14.04), dan saya punya -rwxr-sr-x 1 root crontab 35984 Feb 9 2013 /usr/bin/crontab.
Gauthier
1
Saya mengalami masalah ini setelah menghapus pengguna yang menciptakan kembali dengan UID yang berbeda - ini memperbaikinya untuk saya: askubuntu.com/questions/710671/...
Ryan Tuck
5

Anda dapat mengedit crontab pengguna Anda jika Anda memiliki akses pengguna super, tanpa mengubah izin:

$ sudo crontab -u username -e

Saya pikir Anda dapat mengedit crontab pengguna Anda tanpa sudo, tetapi saya mendapatkan masalah izin yang sama seperti Anda, bahkan setelah menambahkan diri saya ke crontabgrup. Izin di crontab pengguna saya ( /var/spool/cron/crontabs) adalah -rw-------, grup adalah crontab.

Gauthier
sumber