我有一个名为network_manager的进程,它在某个时候运行一个命令/usr/sbin/pppd。一切都很好。
但是,一些文件在文件系统上变得不可读,为了获得正确的访问权限,我使用了sudo chmod -R 777 rootfs。一旦我运行了这个命令,network_manager就不能再运行/usr/sbin/pppd了,我得到了一个错误:
/usr/sbin/pppd: must be root to run /usr/sbin/pppd, since it is not setuid-root
我不明白,运行chmod 777并不能改变pppd的所有者,那么为什么它不再工作呢?
它通过设置
chown root /usr/sbin/pppd
chmod u+s /usr/sbin/pppd但我不明白为什么
发布于 2017-07-18 09:24:05
通过运行chmod 777,您删除了pppd上的setuid位。要恢复它,您需要运行
chmod 4755 /usr/sbin/pppd请注意,通过以这种方式运行递归chmod 777,您可能已经破坏了其他权限,并且肯定会使您的系统变得相当不安全。
https://unix.stackexchange.com/questions/379217
复制相似问题