84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
1.我切换至普通用户的时候 执行crontab -e报错
错误信息如下:
/tmp/crontab.CNTrhu/crontab: Permission denied
终端卡住
/tmp 文件权限 777
光阴似箭催人老,日月如移越少年。
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
如果是Ubuntu加sudo,不是参照楼上给权限
crontab这个程序必需要root的有效用户权限,才能写配置文件。
这个命令的含义是将crontab程序设置为set-user-id,意思是无论用哪个用户执行该程序,shell在调用exec执行crontab程序时,会将crontab的有效用户改成crontab的owner,即root。换句话说:被提权了。于是即使此时的crontab的实际用户是普通用户,但其有效用户是root。因此,理论上这么做是可以的。设置完成后(注意那个s):
另外看下sudo程序的权限为也是类似的:
如果是Ubuntu加sudo,不是参照楼上给权限