1.我切换至普通用户的时候 执行crontab -e报错

错误信息如下:

/tmp/crontab.CNTrhu/crontab: Permission denied

终端卡住

/tmp 文件权限 如下图

bVFrP8?w=573&h=386

/usr/bin/crontab

bVFrQv?w=522&h=24

切换到普通用户 执行 crontab -e 情况如图

bVFrRy?w=478&h=108

并且感觉卡住了

好奇怪。你

echo $EDITOR $VISUAL

看看是不是设置成奇怪的编辑器了?

如果没有设置的话,试试 EDITOR=vi crontab 能不能用?

检查一下你的编辑器是不是能用?

http://blog.csdn.net/jkunzhang/article/details/14519109

如果是Ubuntu加sudo,不是参照楼上给权限

crontab这个程序必需要root的有效用户权限,才能写配置文件。

chmod u+s /usr/bin/crontab

这个命令的含义是将crontab程序设置为

set-user-id

,意思是无论用哪个用户执行该程序,shell在调用

exec

执行

crontab

程序时,会将crontab的有效用户改成crontab的

owner

,即

root

。换句话说:被提权了。于是即使此时的crontab的实际用户是普通用户,但其有效用户是root。因此,理论上这么做是可以的。设置完成后(注意那个s):

-rwsr-xr-x. 1 root root 51784 /usr/bin/crontab

另外看下sudo程序的权限为也是类似的:

---s--x--x. 1 root root 123832 /usr/bin/sudo

可能是SElinux的问题,可以执行

setenforce 0

命令后试试。

73bccf0c0b4af35beddca4274520fb45.png

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐