SETUID В доступе отказано

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

[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 или Ls в этом каталоге, я получаю следующую ошибку:

[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]$ 

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

2 ответа

Решение

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

chmod 4770 testdir/

вместо.

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

chmod 4110 testdir/

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

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

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

НТН

Другие вопросы по тегам