[Comm] [devel] Вопрос по POSIX ACL

Michael Pozhidaev =?iso-8859-1?q?msp_=CE=C1_altlinux=2Eru?=
Пн Сен 1 02:55:33 MSD 2008


Здравствуйте, Michael Shigorin!

> home:~> stat /media/Photos/dacha 
>   File: `/media/Photos/dacha'
>   Size: 6               Blocks: 0          IO Block: 4096   directory
> Device: 806h/2054d      Inode: 6292792     Links: 2
> Access: (2775/drwxrwsr-x)  Uid: (  501/    mike)   Gid: (  542/   photo)
>               ^^^^^^^^^^                                          ^^^^^
А чем ты туда файлы копируешь? Это хорошо работает только в случаях,
когда программа не заботиться о выставлении прав. Проведём эксперимент:
[msp на blard proba]$ chgrp audio .
audio взял от балды. Мысленно замени на что больше нравится.
[msp на blard proba]$ chmod 2775 .
[msp на blard proba]$ umask 0
[msp на blard proba]$ cp -r /cdrom/* .
[msp на blard proba]$ ls -l
итого 24
dr-xr-sr-x 2 msp audio 8192 Сен  1 05:40 day1
dr-xr-sr-x 2 msp audio 4096 Сен  1 05:40 day2
dr-xr-sr-x 2 msp audio 4096 Сен  1 05:40 my
[msp на blard proba]$ 

Итого в новые папки никто ничего не запишет. Даже я сам не могу. На этом всё и закончилось. :)
Смотрим в man 2 stat, где это поведение описано:

       Бит setgid  (S_ISGID)  имеет  несколько  специальных  применений:  На  каталоге  он
       означает,  что для этого каталога используется семантика BSD:  файлы, создаваемые в
       нем, наследуют свою  группу-владельца  от  этого  каталога,  а  не  от  фактической
       группы-владельца  процесса,  создавшего  файл, а на подкаталогах, которые созданы в
       этом каталоге, также будет установлен бит S_ISGID.

То есть, установку прав на запись (как-либо, включая наследование от родителя с записью) никто не обещает.
Как кажется, это и было первой причиной вопроса в devel на .
-- 
С уважением и наилучшими пожеланиями, Михаил Пожидаев. E-mail: msp на altlinux.ru.
Томский государственный университет. Факультет информатики. http://www.csd.tsu.ru
ALT Linux Team. http://www.altlinux.ru




Подробная информация о списке рассылки community