- Наследование ACL
- Re: Наследование ACL
- Re: Наследование ACL
- Samba и наследование ACL
- Наследование прав доступа от родительского каталога
- Принудительная установка группы и прав доступа для новых файлов и директорий в Linux
- ПРИНУДИТЕЛЬНАЯ УСТАНОВКА ГРУППЫ И ПРАВ ДОСТУПА ДЛЯ НОВЫХ ФАЙЛОВ И ДИРЕКТОРИЙ В LINUX
- Наследование прав папки linux
Наследование ACL
Есть такая проблема:
есть раздел на xfs, на котором лежат каталоги разных пользователей (не домашний). Требуется, чтобы все файлы, создаваемые одним пользователем в своем каталоге были доступны на запись и некоему другому пользователю, а остальным — только на чтение или вообще запрещены.
Можно, конечно, создать общую группу и поставить umask в значение, разрешающее запись для членов группы, но проблема в том, что все остальные пользователи _уже_ объединены в общей группе, и, значит, они тоже смогут писать в файлы.
Если быть более детальным, то это раздел предназначен для расчетов и научный руководитель хочет иметь права писать в файлы своих студентов. Понятно, что остальные пользователи машины, в общем, писать туда не должны. Но беда в том, что все пользователи, ведущие расчеты, уже объединены в группу, для которой дано несколько больше прав, чем всем остальным. Т.е. нужно еще более тонкое разделение прав. Пытаюсь реализовать это на уровне ACL, но пока не понимаю, как сделать так, чтобы некоторый лист прав доступа автоматически присваивался и вновь создаваемым файлам. (что-то вроде наследования прав в Винде).
Re: Наследование ACL
man setfacl -> default, Luke.
Re: Наследование ACL
Вы не совсем меня поняли. Я знаю, как поставить ACL на существующие файлы. Я хочу, чтобы все создаваемые _новые_ файлы имели ACL тот, который мне нужен, а не тот, который по умолчанию. _Наследование_ ACL, например от каталога, в котором этот файл расположен, работает?
Источник
Samba и наследование ACL
Возникла необходимость в разграничении прав доступа на файловом сервере (Debian, Samba) виндовым пользователям.
Стало ясно, что лучше раскурить это дело с помощью acl Разобрался, прописал в самбе необходимые параметры для работы с acl
inherit acls = Yes inherit permissions = Yes inherit owner = Yes map acl inherit = Yes
все пользователи в группе aclUsers
Есть личные папки пользователей, куда писать могут только они, а остальные пользователи (из группы aclUsers, у всех пользователей это основная группа) — только читать. Владельцы личных папок — сами пользователи
/storage/share — расшаренная папка
chown user1:aclUsers -R /storage/share/folder1 chmod 6750 -R /storage/share/folder1 setfacl -Rdm u::rwx,g::rx,o:- /storage/share/folder1
есть и такие папки, куда необходим доступ сразу 2 пользователям
chown user2:aclUsers -R /storage/share/folder2 chmod 6750 -R /storage/share/folder2 setfacl -Rdm u::rwx,g::rx,o:-,u:user1:rwx /storage/share/folder2 setfacl -Rm u:user1:rwx /storage/share/folder2
т.е. понятно, что мне необходимо наследование прав в таких папках если там создает папку или файл тот, кто имеет на это право, то у папки бы устанавливались следующие права owner: rwx group: rx other: —
если 2 пользователя имеют право, то такие права (просто добавляется ещё 1 пользователь с полными правами) owner: rwx group: rx other: — user:user1:rwx
Казалось бы, всё просто, но не тут-то было. После добавления в acl еще одного пользователя папки и файлы создаются с полными правами для группы, хотя в acl явно указано, что только чтение и выполнение что за ересь?
Не очень хочется из-за этого заводить Windows, а разграничение доступа нормальное ой как нужно
Надеюсь на помощь гуру
Как сделать правильное наследование? пока всё держится на костылях, скрипт в кроне, который подправляет права на вновь создаваемые файлы и каталоги
Источник
Наследование прав доступа от родительского каталога
Есть директория /srv/sites/domain.ltd/html принадлежащая пользователю и группе apache:apache и имеющая права 6770 (rwsrws—). Есть юзер iskatel, который входит в группу apache и он создаёт в этой директории файл, скажем, index.html. Файл автоматом получает принадлежность к юзеру iskatel и группе apache. А я вот ожидал другого результата, ведь наличие suid и sgid битов на каталоге должно приводить к тому что файл у родительского каталога будет наследовать и группу и юзера, то есть юзер должен быть apache. Почему так?
Потому что suid не работает для каталогов.
Бит setuid, установленный для директорий, игнорируется в большинстве версий Unix[источник не указан 1468 дней].
А какие тогда есть способы получить желаемое?
Cоздавайте файл пользователем apache. Но полагаю chown будет удобнее.
Каждый раз делать chown? А представь, что юзеру права рута, чтобы использовать chown, не даются. А вообще это же вечная проблема в линуксе, когда два юзера пишут в один каталог с одинаковыми правами. Вот например юзер по ftp создаёт файлы от имени iskatel, php-скрипты создают файлы от имени apache. Вообще случай с веб-сервером — это частный случай. Другой случай, когда имеется файлопомойка в которой создают файлы различные сотрудники одного отдела, если один случайно создаст файл read-only — то второй не сможет его удалить. Я не верю, что за столько лет существования линукса никто не научился решать эту проблему.
Другой случай, когда имеется файлопомойка в которой создают файлы различные сотрудники одного отдела, если один случайно создаст файл read-only — то второй не сможет его удалить.
Если оба юзера входят в группу, являющуюся группой-владельцем этого файла, то сможет.
Если пользователь не входит в группу wheel — вообще не стоит менять права и владельца в будущем, это поможет более менее контролить «файло-помойку». ftp и web чуточку отличаются. На ftp сервере владельца менять не стоит, а на web сервере создавать файлы скриптом (права apache).
если один случайно создаст файл read-only — то второй не сможет его удалить. Я не верю, что за столько лет существования линукса никто не научился решать эту проблему.
проблемы нет. один отдел — одна группа, все пользователи этой группы имеют равные права на файлы и могут использовать chmod. Заблокировать файл можно только с помощью chown, а значит пользователь должен входить в группу wheel. Не стоит подключать к этой группе всех подряд, также не стоит подключать рядового пользователя более чем к одной группе.
P.S. Надо поэксперементировать с этим )
Каждый раз делать chown? А представь, что юзеру права рута, чтобы использовать chown, не даются.
Источник
Принудительная установка группы и прав доступа для новых файлов и директорий в Linux
ПРИНУДИТЕЛЬНАЯ УСТАНОВКА ГРУППЫ И ПРАВ ДОСТУПА ДЛЯ НОВЫХ ФАЙЛОВ И ДИРЕКТОРИЙ В LINUX
Инструкция по принудительной установке группы и прав доступа для новых файлов и директорий в OC Linux.
Иногда нужно, чтобы создаваемые в директории some_path файлы зразу же принадлежали к какой-то группе some_group и имели определенные права доступа. Для этого следует определить параметры ACL в этой директории.
ACL (Access Control List — Список Контроля Доступа) предоставляет расширенный и более гибкий механизм распределения прав файловых систем. Он предназначен для расширения прав доступа к файлам UNIX. ACL позволяет устанавливать разрешения любым пользователям или группам для различных файловых ресурсов.
Для начала стоит глянуть на текущие настройки ACL для директории:
$ getfacl some_path
# file: some_path
# owner: some_user
# group: some_group
user::rwx
group::r-x
other::r-x
Затем выполнить следующие команды:
Установка групы some_group владельцем some_path
# chgrp -R some_group some_path
Установка разрешений 770 для директорий
# find some_path -type d | xargs chmod 770
или
# find some_path -type d -exec chmod 770 <> \;
Установка setgid.
Бит setgid для директории (chmod g+s) заставляет только новые каталоги и файлы, созданные в ней, наследовать ID группы этой директории вместо ID группы пользователя, создавшего файл. Новые поддиректории также наследуют бит setgid. Это позволяет создать общее рабочее пространство для группы без неудобств членам группы явно менять их текущую группу для создания новых файлов и директорий.
# chmod g+s some_path
Наследование устанавливается только для новых файлов и каталогов. Уже существующим файлам и директориям этот бит нужно устанавливать вручную, например:
# find some_path -type d | xargs chmod g+s
или
# find some_path -type d -exec chmod g+s <> \;
Установка разрешений 770/660 для уже существующих файлов и директорий:
# find some_path/ -type d -exec chmod 770 <> \;
# find some_path/ -type f -exec chmod 660 <> \;
Установка параметров ACL для some_path. Все файлы и каталоги при создании будут наследовать записи ACL родительского каталога:
# setfacl -dRm «u:some_user:rwx,g:some_group:rwx,o::0» some_path
Проверяем:
$ getfacl some_path
# file: some_path
# owner: some_user
# group: some_group
# flags: -s-
user::rwx
group::rwx
other::—
default:user::rwx
default:user:some_user:rwx
default:group::r-x
default:group:some_group:rwx
default:mask::rwx
default:other::—
Удалить настройки ACL для директории some_path можно следующей командой:
setfacl -b some_path
Источник
Наследование прав папки linux
Добрый день. У меня возник вопрос по файловым системам Linux — как можно организовать наследование прав, т.е. есть директория с правами 777. Туда разные пользователи сливают файлы. Как сделать чтобы на всех вновь создаваемых файлах устанавливались права 777?
Оглавление |
|
Сообщения по теме | [Сортировка по времени | RSS] |
1. «Наследование прав доступа» | + / – | |
Сообщение от Deus | ||
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору |
2. «Наследование прав доступа» | + / – | |
Сообщение от angra | ||
| ||
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору |
3. «Наследование прав доступа» | + / – | |
Сообщение от ShyLion | ||
если пользователь владелец файла или папки, он может задать на нем любые разрешения, в том числе и 777 | ||
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору |
4. «Наследование прав доступа» | + / – | |
Сообщение от angra | ||
Вы бы хоть вопрос прочитали бы для начала. | ||
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору |
5. «Наследование прав доступа» | + / – | |
Сообщение от Golub Mikhail | ||
В ftp — umask . | ||
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору |
7. «Наследование прав доступа» | + / – | |
Сообщение от ShyLion | ||
В вопросе метод помещения файла в папку не указывался. В общем случае пользователю сменить разрешения на собственном файле ничего не мешает. | ||
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору |
9. «Наследование прав доступа» | + / – | |
Сообщение от angra | ||
Таки не прочитали. Задача состоит в АВТОМАТИЧЕСКОЙ установке прав в 777, без ведома/действий пользователя. В ОБЩЕМ случае она не решаема. В частных случаях очень даже решаема. | ||
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору |
6. «Наследование прав доступа» | + / – | |
Сообщение от tux2002 | ||
Пользователи создают файлы с правами на основании своего значения umask. | ||
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору |
8. «Наследование прав доступа» | + / – | |
Сообщение от konst | ||
Если бы у меня стояла такая тупая задача, как дать всем файлам/папкам в опред. дир-рии права 777, я бы просто раз */3 мин рабочего времени запускал бы chmod -R 777 | ||
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору |
10. «Наследование прав доступа» | + / – | |
Сообщение от tux2002 | ||
Я пытался донести до спрашивающего вариант с umask 002 и общей группой, в которую данные пользователи входят. Её же установить на папку. | ||
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору |
11 . «Наследование прав доступа» | + / – | |
Сообщение от tux2002 | ||
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору |
12 . «Наследование прав доступа» | + / – | |
Сообщение от konstantine | ||
У меня 1Ска на линухе терминальная дык пришлось каждому пользователю пр заходе автоматом ставить umask 0002. Жалко что не знаю как сделать чтобы создаваемый файл наследовал группу и владельца дирректории так было бы удобнее. | ||
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору |
13 . «Наследование прав доступа» | + / – | |
Сообщение от andrew | ||
Не по человечески: Для вопрошающих зачем пример: есть почтовик Thunderbird. Есть некий ящик, который читают несколько пользователей. Так вот, при создании новой папки, или сжатии существующей, права на соответствующий mailbox файл выставляются в 700. После такого другой пользователь вместо почты видит болт. | ||
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору |
14 . «Наследование прав доступа» | + / – | |
Сообщение от abtop | ||
Источник |