我最近更改了我的 linux 帐户的 uid(此更改的原因在于需要有一个精确的 uid 来访问挂载驱动器上的文件)。从那以后,我无法访问我的 crontab。键入后:
crontab -e
Run Code Online (Sandbox Code Playgroud)
我收到错误消息:
crontabs/my_login/: fopen: Permission denied
Run Code Online (Sandbox Code Playgroud)
我调查了与文件 /usr/bin/crontab 相关的权限,它是:
-rwxr-xr-x 1 root my_login 35984 Feb 9 2013
Run Code Online (Sandbox Code Playgroud)
但是,如果我查看 my_login 的 id,我会得到:
uid=11375(my_login) gid=1000(my_login) groups=1000(my_login),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),107(lpadmin),110(sambashare)
Run Code Online (Sandbox Code Playgroud)
我可以看到 gid 似乎有问题,但我不知道从这一点上该怎么做......
您对该crontab
文件的权限不正确。它应该是这样的:
-rwxr-sr-x 1 root crontab 35984 Feb 9 2013 /usr/bin/crontab
Run Code Online (Sandbox Code Playgroud)
要将您设置crontab
为上述权限,请先更改所有权:
sudo chown root:crontab /usr/bin/crontab
Run Code Online (Sandbox Code Playgroud)
然后设置权限:
sudo chmod 2755 /usr/bin/crontab
Run Code Online (Sandbox Code Playgroud)
这应该将您设置crontab
为正确的运行权限。
编辑:
另外,查看/var/spool/cron/crontabs/
文件夹,您应该会看到类似于以下内容的内容:
terrance@terrance-ubuntu:~$ sudo ls -al /var/spool/cron/crontabs/
total 16
drwx-wx--T 2 root crontab 4096 Dec 17 22:08 .
drwxr-xr-x 3 root root 4096 Dec 1 07:24 ..
-rw------- 1 root crontab 1185 Dec 17 22:08 root
-rw------- 1 terrance crontab 1130 Dec 17 21:47 terrance
Run Code Online (Sandbox Code Playgroud)
注意你的用户名。如果它没有正确的所有权,请键入以下内容进行更改:
sudo chown username:crontab /var/spool/cron/crontabs/username
Run Code Online (Sandbox Code Playgroud)
如果需要对该文件设置权限:
sudo chmod 600 /var/spool/cron/crontabs/username
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助!
归档时间: |
|
查看次数: |
4519 次 |
最近记录: |