Некоторое время назад, когда я разговаривал в IRC, один из пользователей канала, в котором я находился, предложил установить каталог для того, чтобы он унаследовал идентификатор пользователя для файлов, чтобы решить проблему, возникшую у другого человека. В то время я говорил и говорил: «Linux не поддерживает директории setuid». После этого человек, давший совет, показал мне пастин ( http://codepad.org/4In62f13 ) своей системы, соблюдающий набор разрешений setuid для каталога.
Просто чтобы объяснить, когда я говорю «linux не поддерживает каталоги setuid», я имею в виду, что вы можете перейти к «каталогу chmod u + s», и он установит бит в каталоге. Тем не менее, linux (как я понял) игнорирует этот бит (для каталогов).
Попробуйте, как я мог, я просто не могу воспроизвести этот пастин. Кто-то однажды предложил мне, что можно было бы подражать поведению с selinux - и, играя по правилам, можно принудительно установить uid в файле, но не из разрешения директории setuid (что я вижу). Чтение в Интернете было довольно неинформативным - большинство мест утверждают, что «нет, setuid для каталогов не работает с linux», а иногда «это может быть сделано при определенных обстоятельствах» (например, это: http://arstechnica.com/ etc / linux / 2003 / linux.ars-12032003.html )
Я не помню, кто был первоначальным человеком, но исходная система была системой Debian 6, и файловая система, на которой она работала, была смонтирована xfs с "default, acl". Я попытался воспроизвести это, но пока не повезло (пробовал пока что с различными версиями Debian, Ubuntu, Fedora и Centos)
Кто-нибудь может подсказать мне, что или как вы получаете систему для соблюдения setuid в каталоге?
grpid|bsdgroups
илиnogrpid|sysvgroups
), который означает, что файлы в каталогах создаются с группой каталога, а не с группой владельца; возможно поиграть с этим?