Для хранения кода защиты файла в индексном дескрипторе отведено одно 16-ти разрядное слово, младшие 12 бит которого используется определенным образом(остальные для служебных нужд и к правам доступа отношения не имеют).
04000 (16-ти битовое слово) = 400 разрешение переустанавливать идентификатор пользователя при вызове файла на выполнение на идентификатор владельца файла хранящийся в индексном дескрипторе файла.
02000 – разрешение переустанавливать идентификатор группы при вызове файла на выполнение на идентификатор группы хранящийся в индексном дескрипторе файла
01000 – сохранить разделяемый сегмент чистого кода в области swapping’а после завершения выполнения программы.
00400 – разрешение на доступ к файлу по чтению для владельца
00200 – по записи для владельца
00100 – по выполнению для владельца файла
00040 \
00020 - для группы владельцев
00010 /
00004 \
00002 – для всех остальных пользователей
00001 /
$ ls -l
-rw-r--r-- 1 pascal users 4297 13 мар 21:45 files1
Бит suid. Расшифровывается как Set user ID, переводится как "установить идентификатор пользователя". Смысл его состоит в том, что если он установлен на файле, который является программой, то при выполнении эта программа автоматически меняет "эффективный userID" на идентификатор того пользователя, который является владельцем этого файла. То есть, не зависимо от того - кто запускает эту программу, она при выполнении имеет права хозяина этого файла.