There’s actually 4 attribute sets you can work with via chmod.
Special, User/Owner, Group, and Others in that order, when working with the four-number chmods, with that first number being special bits that can be set.
chmod 4555 equates to the following:
- Set UID bit – Run the file as the owner regardless of which user is running it
- User/Owner: Read, Execute
- Group: Read, Execute
- Others: Read, Execute
The s in your ‘human readable’ string for permissions indicates that the SetUID bit (explained below) is set.
Effectively, we can break down the four-number chmod permissions argument into specific descriptors as follows, and doing the math to determine what a 4 in the first section would be, a 5 in the next section, and so on.
Keep in mind that #### is Special User/Owner Group and Others in that order.
For Special attributes (the first number in a four-number chmod argument):
- Set UID – Run file as owner regardless of the user running it (shows as s in the
human-readable permissions string for User section) = +4
(–s under User/Owner) - Set GID – Run file as group regardless of the user/group running it (shows as s in the human-readable permissions string for Group section) = +2 (–s under Group)
- Sticky Bit – EFFECTIVE ON DIRECTORIES ONLY – If set, only the directory’s owner user and root can delete the directory, and only the file owner or root can delete files
inside it. (shows as t in the human-readable permissions string for Others section) = +1 (–t under Others)
For User/Owner, Group and Others attributes (the last three numbers in a four-number chmod argument):
- Read = +4 (r–)
- Write = +2 (-w-)
- Execute (for files), or ‘Enter Into / List Items’ (for directories) = +1 (–x)
Leave A Comment?