Назад | Перейти на главную страницу

В разрешении SETUID отказано

Я изучаю Linux несколько дней, и теперь я пытался изучить расширенные права доступа к файлам, такие как установка UID, GID и липкого бита. В корневом каталоге я сначала сменил владельца каталога на Pavan и группу g1, а затем сделал следующее:

[root@localhost sdcdir]# ll
total 20
drwx------. 2 root  root 16384 Mar 21 21:38 lost+found
drw-r----T. 2 Pavan g1    4096 Mar 22 11:41 testdir
[root@localhost sdcdir]# chmod 4660 testdir/
[root@localhost sdcdir]# ll
total 20
drwx------. 2 root  root 16384 Mar 21 21:38 lost+found
drwSrw----. 2 Pavan g1    4096 Mar 22 11:41 testdir

После входа в систему как Pavan я не могу использовать CD или L в этом каталоге, я получаю следующую ошибку:

[Pavan@localhost sdcdir]$ ll
total 20
drwx------. 2 root  root 16384 Mar 21 21:38 lost+found
drwSrw----. 2 Pavan g1    4096 Mar 22 11:41 testdir
[Pavan@localhost sdcdir]$ cd testdir/
bash: cd: testdir/: Permission denied
[Pavan@localhost sdcdir]$ 

Не могли бы вы указать мне, где я ошибся. Спасибо.

Справочник нуждается выполнять разрешение (x), чтобы вы в него вошли. Пытаться

chmod 4770 testdir/

вместо.

Если вы хотите предоставить кому-либо доступ для входа в каталог, но не для (легкого) просмотра его содержимого, вы можете предоставить только разрешение на выполнение и вообще не давать разрешение на чтение:

chmod 4110 testdir/

http://en.wikipedia.org/wiki/File_system_permissions

Бит выполнения ... когда установлен для каталога, это разрешение дает возможность перемещаться по его дереву для доступа к файлам или подкаталогам, но не видеть содержимое файлов внутри каталога (если не установлено чтение).

Следовательно, вам нужен "chmod 4770 testdir"

HTH