[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