
У меня есть папка, которой я хочу поделиться с пользователями группы с именем frx
. Я подал заявку chmod g+s
на папку, но по какой-то причине бит SUID (для папок в каталоге /home/frx) вместо этого выдал S
.
> pwd
/home/frx
> ls -al
drwxrws---+ 14 ferc frx 4096 Dec 24 23:20 .
drwxr-xr-x 8 root root 4096 Dec 2 12:48 ..
...
drwxrwS---+ 20 pi frx 4096 Dec 19 18:50 views
Из того, что я прочитал, s
и S
не должно быть никакой разницы, если пользователь просто открывает файл. Однако другой пользователь в группе frx
не может просматривать или получать доступ к файлам в views
каталоге, даже несмотря на то, что для группы есть разрешения на чтение/запись. (Он мог просматривать touch
файлы в /home/frx без проблем.) Почему это происходит?
Как изменить бит SUID s
для каталога?
решение1
Для доступа к файлам в каталоге пользователю необходимо предоставить разрешение на выполнение в этом каталоге.
S
(заглавные буквы s
) указывают, что бит закрепления установлен для группы, а бит выполнения - нет. И вот почему другой пользователь из frx
группы не может получить доступ ни к одному файлу в views
каталоге. Для правильной работы необходимо установить как бит закрепления, так и бит выполнения для группы.