URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 77541
[ Назад ]

Исходное сообщение
"Права доступа, pwd"

Отправлено ZaCo , 27-Ноя-07 04:35 
как известно, чтобы получить, например, листинг подкаталога необходимо иметь помимо прав на его чтение так же право на чтение и исполнение его родительской директории.

теперь чтобы был понятен вопрос вот код работы в шелле:


# pwd
/usr/home/zaco
# stat .
drwxr-x--- 6 zaco www ...
# cd html
# stat .
drwxr-xr-x 11 zaco www
# su den
%pwd
/usr/home/zaco/html
%stat /usr/home/zaco/html
stat: /usr/home/zaco/html: stat: Permission denied
%stat .
drwxr-xr-x 11 zaco www
%

получается, несмотря на то, что пользователь не имеет фактического права на листинг каталога, ему все же позволительно его просмотривать, только потому, что текущий pwd находится уже в "запрещенной" директории и необходимости в соответсвующих правах на родительские каталоги просто нет?
система freebsd 6.2-RELEASE-p6. на других *nix возможности проверить пока нет.


Содержание

Сообщения в этом обсуждении
"Права доступа, pwd"
Отправлено butcher , 27-Ноя-07 16:36 
>как известно, чтобы получить, например, листинг подкаталога необходимо иметь помимо прав на
>его чтение так же право на чтение и исполнение его родительской директории.

Это не совсем так. Каталог - это тот же файл, содержимое которого имеет
определенную структуру (грубо говоря это список имен файлов и их номеров inode).
Чтобы прочитать его содержимое нужны ТОЛЬКО права для чтения самого этого "файла"
+ права на выполнение каталога, в котором этот "файл" находится.

Право на чтение каталога необходимо для того, чтобы "узнать список файлов". Право на исполнение - чтобы "получить к ним доступ".

>[оверквотинг удален]
>%stat .
>drwxr-xr-x 11 zaco www
>%
>

>
>получается, несмотря на то, что пользователь не имеет фактического права на листинг
>каталога, ему все же позволительно его просмотривать, только потому, что текущий
>pwd находится уже в "запрещенной" директории и необходимости в соответсвующих правах
>на родительские каталоги просто нет?
>система freebsd 6.2-RELEASE-p6. на других *nix возможности проверить пока нет.

Опять же, смотрим:
текущий каталог пользователя den - /usr/home/zaco/html
Пользователь den имеет права на чтение и исполнение каталога html. Всё логично.

Вариант с `stat /usr/home/zaco/html` не работает по причине того, что у пользователя den
нет прав на исполнение каталога zaco. Т.е., даже то что den знает что внутри файла zaco
есть запись с именем html, он не может получить доступ.


"Права доступа, pwd"
Отправлено ZaCo , 27-Ноя-07 18:35 
ну понятно, просто хотел проверить свои догадку. спасибо, тему можно считать закрытой.