Наследование прав папки 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 дней].

А какие тогда есть способы получить желаемое?

Читайте также:  Список команд для cmd windows 10

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

Читайте также:  Где находится архив windows

Источник

Наследование прав папки linux

Добрый день. У меня возник вопрос по файловым системам Linux — как можно организовать наследование прав, т.е. есть директория с правами 777. Туда разные пользователи сливают файлы. Как сделать чтобы на всех вновь создаваемых файлах устанавливались права 777?

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

  • Наследование прав доступа, Deus, 08:26 , 25-Окт-07, (1)
  • Наследование прав доступа, angra, 09:56 , 25-Окт-07, (2)
    • Наследование прав доступа, ShyLion, 20:11 , 25-Окт-07, (3)
      • Наследование прав доступа, angra, 09:23 , 26-Окт-07, (4)
        • Наследование прав доступа, Golub Mikhail, 10:21 , 26-Окт-07, (5)
        • Наследование прав доступа, ShyLion, 13:34 , 26-Окт-07, (7)
          • Наследование прав доступа, angra, 06:45 , 27-Окт-07, (9)
  • Наследование прав доступа, tux2002, 11:31 , 26-Окт-07, (6)
    • Наследование прав доступа, konst, 23:06 , 26-Окт-07, (8)
      • Наследование прав доступа, tux2002, 08:20 , 29-Окт-07, (10)
        • Наследование прав доступа, tux2002, 08:28 , 29-Окт-07, ( 11 )
          • Наследование прав доступа, konstantine, 11:41 , 03-Мрт-09, ( 12 )
  • Наследование прав доступа, andrew, 03:59 , 03-Сен-09, ( 13 )
    • Наследование прав доступа, abtop, 16:41 , 27-Фев-10, ( 14 )

Сообщения по теме [Сортировка по времени | RSS]

>Добрый день. У меня возник вопрос по файловым системам Linux — как
>можно организовать наследование прав, т.е. есть директория с правами 777. Туда
>разные пользователи сливают файлы. Как сделать чтобы на всех вновь создаваемых
>файлах устанавливались права 777?

недостаточно информации, как сливают, по какому протоколу? ftp или samba?
у ftp и samba есть параметры которые позволяют назначить права на файлы.

1. «Наследование прав доступа» + / –
Сообщение от Deus (??) on 25-Окт-07, 08:26
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. «Наследование прав доступа» + / –
Сообщение от angra (ok) on 25-Окт-07, 09:56

Зачем 777 на все файлы? Не могу придумать зачем такое нужно. Попробуйте сначала сформулировать четко основную задачу, вы ведь не просто так хотите такие права. Не исключен вариант, что вы просто идете в неправильном направлении.
Если отвечать в общем виде на ваш вопрос, то ответом будет — невозможно. Что однако не означает, что реальная задача стоящая перед вами не решима.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. «Наследование прав доступа» + / –
Сообщение от ShyLion (ok) on 25-Окт-07, 20:11

>Если отвечать в общем виде на ваш вопрос, то ответом будет —
>невозможно.

если пользователь владелец файла или папки, он может задать на нем любые разрешения, в том числе и 777

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. «Наследование прав доступа» + / –
Сообщение от angra (ok) on 26-Окт-07, 09:23

>>Если отвечать в общем виде на ваш вопрос, то ответом будет —
>>невозможно.
>
>если пользователь владелец файла или папки, он может задать на нем любые
>разрешения, в том числе и 777

Вы бы хоть вопрос прочитали бы для начала.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. «Наследование прав доступа» + / –
Сообщение от Golub Mikhail (ok) on 26-Окт-07, 10:21

>>>Если отвечать в общем виде на ваш вопрос, то ответом будет —
>>>невозможно.
>>
>>если пользователь владелец файла или папки, он может задать на нем любые
>>разрешения, в том числе и 777
>
>Вы бы хоть вопрос прочитали бы для начала.

В ftp — umask .
В самба не помню.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

7. «Наследование прав доступа» + / –
Сообщение от ShyLion (ok) on 26-Окт-07, 13:34

>>>Если отвечать в общем виде на ваш вопрос, то ответом будет —
>>>невозможно.
>>
>>если пользователь владелец файла или папки, он может задать на нем любые
>>разрешения, в том числе и 777
>
>Вы бы хоть вопрос прочитали бы для начала.

В вопросе метод помещения файла в папку не указывался. В общем случае пользователю сменить разрешения на собственном файле ничего не мешает.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

9. «Наследование прав доступа» + / –
Сообщение от angra (ok) on 27-Окт-07, 06:45

>В вопросе метод помещения файла в папку не указывался. В общем случае
>пользователю сменить разрешения на собственном файле ничего не мешает.

Таки не прочитали. Задача состоит в АВТОМАТИЧЕСКОЙ установке прав в 777, без ведома/действий пользователя. В ОБЩЕМ случае она не решаема. В частных случаях очень даже решаема.
Кроме того есть ряд случаев когда пользователь НЕ может изменить права на свой файл. Можете на досуге поискать примеры 🙂

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. «Наследование прав доступа» + / –
Сообщение от tux2002 on 26-Окт-07, 11:31

>Добрый день. У меня возник вопрос по файловым системам Linux — как
>можно организовать наследование прав, т.е. есть директория с правами 777. Туда
>разные пользователи сливают файлы. Как сделать чтобы на всех вновь создаваемых
>файлах устанавливались права 777?

Пользователи создают файлы с правами на основании своего значения umask.
Как наследовать права я не знаю — наверное никак.
Можно наследовать например группу папки (владельца не получится) — устанавливать на папку 42XXX

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

8. «Наследование прав доступа» + / –
Сообщение от konst (??) on 26-Окт-07, 23:06

>>Добрый день. У меня возник вопрос по файловым системам Linux — как
>>можно организовать наследование прав, т.е. есть директория с правами 777. Туда
>>разные пользователи сливают файлы. Как сделать чтобы на всех вновь создаваемых
>>файлах устанавливались права 777?
>
>Пользователи создают файлы с правами на основании своего значения umask.
>Как наследовать права я не знаю — наверное никак.
>Можно наследовать например группу папки (владельца не получится) — устанавливать на папку
>42XXX

Если бы у меня стояла такая тупая задача, как дать всем файлам/папкам в опред. дир-рии права 777, я бы просто раз */3 мин рабочего времени запускал бы chmod -R 777

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

10. «Наследование прав доступа» + / –
Сообщение от tux2002 on 29-Окт-07, 08:20

>Если бы у меня стояла такая тупая задача, как дать всем файлам/папкам в опред. дир-рии права 777, я бы просто раз */3 мин рабочего времени запускал бы chmod -R 777

Я пытался донести до спрашивающего вариант с umask 002 и общей группой, в которую данные пользователи входят. Её же установить на папку.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

11 . «Наследование прав доступа» + / –
Сообщение от tux2002 on 29-Окт-07, 08:28

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

12 . «Наследование прав доступа» + / –
Сообщение от konstantine (ok) on 03-Мрт-09, 11:41

У меня 1Ска на линухе терминальная дык пришлось каждому пользователю пр заходе автоматом ставить umask 0002. Жалко что не знаю как сделать чтобы создаваемый файл наследовал группу и владельца дирректории так было бы удобнее.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

13 . «Наследование прав доступа» + / –
Сообщение от andrew (??) on 03-Сен-09, 03:59

Ответ: похоже невозможно(по человечески)! Я, конечно, не уверен, но никакой информации по этому вопросу не нашел.
1) Umask. Umask ограничивает права, а не заставляет файл с ними создаваться. Т.е. при umask 002 файл 777 превращаяется в 775, а файл 755, в 755. Вывод: все зависит от программы, которая создает файл.
2) Acl. Делает force при создании файла. При копировании у файла остаются его старые права.

Не по человечески:
добавьте в crontab на каждую минуту chmod.

Для вопрошающих зачем пример: есть почтовик Thunderbird. Есть некий ящик, который читают несколько пользователей. Так вот, при создании новой папки, или сжатии существующей, права на соответствующий mailbox файл выставляются в 700. После такого другой пользователь вместо почты видит болт.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

14 . «Наследование прав доступа» + / –
Сообщение от abtop on 27-Фев-10, 16:41

# наследовать владельца (вышестоящей директории)
inherit owner = yes
# наследовать ACL
inherit acls = yes
# наследовать права
inherit permissions = yes
# позвоялет редактору прав из винды корректно обрабатывать
# наследуемые права
map acl inherit = yes

Источник

Читайте также:  Беспроводная сеть отключена windows 10 снова включить wifi через командную
Оцените статью