Go to the previous, next section.

Setuid & Setgid

The concept of setuid files means that if you have the setuid bit turned on on a file, anybody executing that command (file) will inherit the permissions of the owner of the file. So if you have the following setuid file:

-rwsr-xr-x  1 tot        2437 Sep  8 18:12 foo

This means, that when any user executes this file `foo', he will inherit tot's uid (which means he inherits all their file access permissions whether you're tot or not). Note: this can be quite dangerous. If you have a setuid shell owned by yourself, and I execute it, I essentially inherit your file permissions, hence have the ability to remove all your files.

In the above output, the reason for the small s means there's an x (execute) under it that's hidden. If it were a large S as in:

-rwSrw-rw-  1 tot        2437 Sep  8 18:12 foo

This means there's no x under the S. In order to make a file setuid, you prepend the three digits given chown with a 4, or use the s option. For example to get the first output:

-rwsr-xr-x  1 tot        2437 Sep  8 18:12 foo

I did a chmod 4755. The same is true for group, except use a 2 instead. If you want both, add them, to get 6. Hence a file with chmod 6755 would look like:

-rwsr-sr-x  1 tot        2437 Sep  8 18:12 foo

Again, notice the small s. What does that mean?

Go to the previous, next section.