LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   A question about setuid (https://www.linuxquestions.org/questions/linux-newbie-8/a-question-about-setuid-690535/)

trist007 12-14-2008 12:35 PM

A question about setuid
 
I'm running Backtrack 3. I just created a new user so that I won't be using root all the time. I adduser <user> then I went to Konqueror start --> switch user --> start new session and logged in my new user. I'm unable to run some commands like sudo, cat, hexdump, so I logged in as root and edited the /etc/sudoers file. I had to make it writeable first. I added

user ALL=/usr/local/bin/sudo
user ALL=/usr/bin/cat
user ALL=/usr/bin/hexdump

However, I noticed that I had to chmod u+s /usr/local/bin/sudo as root while the others /usr/bin/cat and /usr/bin/hexdump did not require that setuid attribute. So pretty much, I just chmod u+s /usr/local/bin/sudo and not the other two commands. I removed the write attribute as root and then I logged back in as my user and all three commands work.

Why is it that only sudo requires the setuid permission while the other two commands don't require the setuid permission?

trist007 12-14-2008 12:38 PM

Sorry for the multiple posts, browser issues.

jschiwal 12-14-2008 02:23 PM

The passwd program also requires the suid bit be set to function for regular users. This is because it needs to modify /etc/passwd which only root can modify. The program itself only allows a regular user to change their own password. It checks if the effective UID matches the real UID. It is written with safeguards to prevent abuse. Only similar programs should have the suid bit set.

The problem with the programs (/usr/bin/cat, /usr/local/bin/hexdump) you listed isn't that they aren't being run as root. The problem is that you need to add /bin/, /usr/bin/ & /usr/local/bin/ to the $PATH variable in your login script. Cat & hexdump shouldn't be suid. I think that "sudo" is already suid. You distro may not be designed with multiple users in mind and isn't meant to be a general distro to use. It is used during forensic investigations. So it may not have a "wheel" group. Often you need to add a user to the "wheel" group before they can use sudo.


All times are GMT -5. The time now is 11:30 PM.