普通用户glog执行命令crontab -e出现如下报错:

# crontab -e
no crontab for glog - using an empty one
/tmp/crontab.idLWOi: Permission denied

当用户要编辑定时任务(执行crontab -e),系统会在/tmp目录下创建一个临时文件,例如上面的crontab.idLWOi,然后在保存后重写这个文件。所以一般问题就出在/tmp目录权限上。

检查/tmp权限(默认drwxrwxrwt.):

# ls -ld /tmp/
drwxrwxr-t. 7 root root 93 May 20 21:45 /tmp/

可以看出权限不对,还原(root用户执行):

# chmod 1777 /tmp

必须保证/tmp对属主,属组,其他都有读、写、执行权限。同时设置Sticky Bit意味着只有文件所有者可以删除,否则其他用户也可以删除目录下任意文件。

最后再执行crontab -e验证。

(另外,根目录/权限问题也会导致这个报错,默认dr-xr-xr-x.

拓展知识:

Sticky Bit主要用于文件夹,以避免其他用户对文件夹内容有写权限,但也会删除该文件夹及其内容。  

如果在文件夹上启用了Sticky Bit,则只有创建文件夹的所有者和root用户才能删除文件夹内容。  

其他人不能删除此文件夹中的其他用户数据(Sticky Bit设置的地方)。  

这是一种安全措施,以避免删除关键文件夹及其内容(子文件夹和文件),尽管其他用户具有完全权限  
Logo

更多推荐