I have a process called network_manager which at some point runs a command /usr/sbin/pppd. everything works fine.

But then, some files becomes unreadable on the file system and I use sudo chmod -R 777 rootfs in order to get access right. Once I run this command, the network_manager can no longer run /usr/sbin/pppd, I get an error :

/usr/sbin/pppd: must be root to run /usr/sbin/pppd, since it is not setuid-root

I dont get it, running chmod 777 isn't changing the owner of pppd so why it's no longer working ?

it worked by setting

chown root /usr/sbin/pppd 
chmod u+s /usr/sbin/pppd

but I don't understand why

  • Can you run chmod 4644 on /usr/sbin/pppd – Hunter.S.Thompson Jul 18 '17 at 9:22
  • @Hunter.S.Thompson I edited the question – mikmik Jul 18 '17 at 9:24

By running chmod 777, you removed the setuid bit on pppd. To restore it, you need to run

chmod 4755 /usr/sbin/pppd

Note that by running a recursive chmod 777 in this manner, you’ve probably broken other permissions, and you’ve certainly made your system rather insecure.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.