Showing posts with label sgid. Show all posts
Showing posts with label sgid. Show all posts

Saturday, December 5, 2015

how to set SGID in linux

What is SGID?


SGID (Set Group ID up on execution) is a special type of file permissions given to a file/folder. Normally in Linux/Unix when a program runs, it inherits access permissions from the logged in user. SGID is defined as giving temporary permissions to a user to run a program/file with the permissions of the file group permissions to become member of that group to execute the file. In simple words users will get file Group’s permissions when executing a Folder/file/program/command.

SGID is similar to SUID. The difference between both is that SUID assumes owner of the file permissions and SGID assumes group’s permissions when executing a file instead of logged in user inherit permissions.




How can I setup SGID for a file?


SGID can be set in two ways

1) Symbolic way (s)

2) Numerical/octal way (2, SGID bit as value 2)

Use chmod command to set SGID on file: file2.txt

Symbolic way:

chmod g+s file2.txt

Let me explain above command we are setting SGID(+s) to group who owns this file.

Numerical way:

chmod 2750 file2.txt

Here in 2750, 2 indicates SGID bitset, 7 for full permissions for owner, 5 for read and execute permissions for group, and no permissions for others.







How can I check if a file is set with SGID bit or not?

Use ls –l to check if the x in group permissions field is replaced by s or S

For example: file2.txt listing before and after SGID set



[root@rhel~]# ls -l
-rwxr-s---. 1 root root 0 Nov 24 14:54 file2.txt


How can I remove SGID bit on a file/folder?



[root@rhel ~]# chmod g-s file2.txt
[root@rhel ~]# ls -l
-rwxr-x---. 1 root root 0 Nov 24 14:54 file2.txt

Saturday, January 24, 2015

Three Special Permission in Linux - SUID, SGID & Sticky Bit



Three Special Permission in Linux - SUID, SGID & Sticky Bit.


Three special permission in linux are SUID, SGID and Sticky Bit which is use to control the linux user in advance.
What is SUID?

The common explanation given for SUID is, it is an advance file permission SUID allows an user to execute a script as if the owner of the script is executing it.

Example for SUID
root@linuxforfreshers:~#ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 22984 Jan  2013 /usr/bin/passwd
SUID bit is set on an executable. It runs with the permission of its owner.

Command :
root@linuxforfreshers:~#chmod u+s  < file name >

                                  or

root@linuxforfreshers:~#chmod 4755  < file name >
What is SGID?

If the set gid bit on directory entry is set, file in that directory will have the group ownership as the directory, instead of than the group of the user that created the file.

Command :
root@linuxforfreshers:~#chmod g+s  < file name >

                                 or

root@linuxforfreshers:~#chmod 2755  <file name >

What is Sticky Bit?
Sticky Bit is mainly used on folders in order to avoid deletion of a folder and its content by other users though they having write permissions on the folder contents. If Sticky bit is enabled on a folder, the folder contents are deleted by only owner who created them and the root user. No one else can delete other users data in this folder(Where sticky bit is set). This is a security measure to avoid deletion of critical folders and their content(sub-folders and files), though other users have full permissions.
How can I setup Sticky Bit for a Folder?
Sticky Bit can be set in two ways
1.     Symbolic way (t,represents sticky bit)
2.     Numerical/octal way (1, Sticky Bit bit as value 1)

Symbolic way:
chmod o+t /opt/dump/
or
chmod +t /opt/dump/
Numerical way:
chmod 1757 /opt/dump/
Here in 1757, 1 indicates Sticky Bit set, 7 for full permissions for owner, 5 for read and execute permissions for group, and full permissions for others.

root@linuxforfreshers:~#chmod o+t  < Dir Name >

                                   or

root@linuxforfreshers:~#chmod 1777 < Dir Name >