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"
НТН