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

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

  • Наследование прав доступа, 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 )

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

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

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

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

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

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

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

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

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

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

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

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

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

www.opennet.ru

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

Бит setgid и команда umask

В продолжение статьи о бите setuid решил написать подобную и о бите setgid, тем более, что пример, который я здесь приведу был нашим домашним заданием на курсах Linux. Хотя задание на мой взгляд было простое справилось с ним только двое из шести слушателей. Я с задачей справился и хочу рассказать как именно.А задача была следующая: создать общую папку PUB для двух пользователей, для их совместной работы. Пользователи должны иметь возможность создавать файлы в папке и редактировать файлы друг друга. Другие пользователи доступа к папке не имеют.

Для решения этой задачи нам понадобится бит setgid. Напомню, что если этот бит установлен для каталога, то создаваемые в нем объекты будут получать группу владельца каталога, а не пользователя. Пояснение: есть пользователь igor. Он создает в каталоге (бит setgid не установлен) файл. Владелец данного файла будет igor, группа-владелец основная группа пользователя igor (по умолчанию igor). Если есть каталог, владелец которого root, а группа-владелец share, и бит setgid установлен, то владелец созданного объекта будет igor, а группа-владелец не igor, а share (как и у каталога). Далее в примере будет еще понятнее.

Сначала создаю сам каталог PUB:

После этого создаю группу PUB, которая будет группой-владельцем данного каталога:

$ sudo addgroup pub

Одним пользователем буду я (igor), а второго создаю:

$ sudo adduser olya

Теперь добавляю пользователей в группу pub:

$ sudo addgroup igor pub
[email protected]:

$ sudo addgroup olya pub

Проверяю, что пользователи добавились в группу pub:

$ less /etc/group | grep pub
pub:x:1002:igor,olya

Теперь изменяю группу-владельца каталога /PUB с root на pub:

$ sudo chown root:pub /PUB/

$ ls -l / | grep PUB
drwxr-xr-x 2 root pub 4096 2009-10-24 20:19 PUB

Теперь устанавливаю права на каталог /PUB и бит setgid и проверяю результат:

$ sudo chmod g+ws,o= /PUB/
[email protected]:

$ ls -l / | grep PUB
drwxrws— 2 root pub 4096 2009-10-24 20:19 PUB

Бит setgid установлен, прав у остальных пользователей нет.

Кажется все сделал. Проверяю. Захожу с учетной записью olya и создаю файл file.txt:

Из консоли пользователя igor пробую изменить файл:

$ echo Hello! > /PUB/file.txt
bash: /PUB/file.txt: Permission denied

и получаю сообщение, что доступ запрещен. Проверяю права на файл:

$ ls -l /PUB/
ls: невозможно открыть каталог /PUB/: Permission denied

Вероятно нужно выйти и зайти в консоль повторно, так как она еще не знает, что я добавлен в группуpub. Выхожу из системы захожу еще раз, проверяю права:

$ ls -l /PUB/
итого 0
-rw-r–r– 1 olya pub 0 2009-10-24 22:01 file.txt

Вижу, что для группы pub файл имеет разрешения только на чтение. Вспоминаю о правах по умолчанию, шаблоне и команде umask. Для всех пользователей, шаблон задающий права для создаваемых объектов, установлен в 0022 (чтобы убедиться в этом можно набрать команду umask без параметров), что дает объекту файлу права 644 (или -rw-r–r–). Необходимо изменить этот шаблон для пользователей igor и olya, чтобы права для создаваемых файлов были -rw-rw—- . Для этого случая шаблон будет равен 0017. В Ubuntu этот шаблон задается в файле .profile, который расположен в домашнем каталоге каждого пользователя. Изменяю этот шаблон в файле .profile пользователей igor иolya. Необходимо найти строку со словом umask и изменить в ней значение на нужное. Захожу в систему повторно и проверяю полученный результат:

$ touch /PUB/file.txt
[email protected]:

$ echo Hello! > /PUB/file.txt
[email protected]:

$ cat /PUB/file.txt
Hello!
[email protected]:

$ touch /PUB/file2.txt
[email protected]:

$ echo Hello Igor! > file2.txt
[email protected]:

$ ls -l /PUB/
итого 8
-rw-rw—- 1 igor pub 12 2009-10-24 22:43 file2.txt
-rw-rw—- 1 olya pub 7 2009-10-24 22:38 file.txt

Вот теперь все в порядке. В каталоге /PUB создаются файлы, которые доступны для редактирования обоим пользователям. Задача довольно распространенная и теперь я знаю как ее можно решить, зная, что есть бит segid и команда umask.

debuntu.ru

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, а разграничение доступа нормальное ой как нужно

Надеюсь на помощь гуру

Как сделать правильное наследование? пока всё держится на костылях, скрипт в кроне, который подправляет права на вновь создаваемые файлы и каталоги

www.linux.org.ru

и снова права доступа [acl]

Помогите советом, совсем запутался уже.

Поставил ACL + eiciel на Ubuntu 9.10 , настроил права доступа, научил новые файлы наследовать права папки благодаря:

Но вот теперь встал вопрос, как выкрутится в таком случае, если юзер заливает файл в папку, НО потом не должен иметь возможности его удалить или изменить. (пойдет вариант и с не возможностью его открыть, после загрузки)

ЗЫ: Гугл изрыл на вопросы наследования и распределения прав доступа. Понял, что Selinux лучше чем acl, но не осилил пока.

А если посмотреть в сторону chattr +i на каталоги

Если в рамках классического unix — завести пользователя uploader с доступом в каталог назначения, дать поработать простому пользователю в контексте uploader для заливки файлов в этот каталог (например через sudo). Сам пользователь може не иметь туда прав. Всё это можно автоматизировать через самописный скрипт заливки — внутри с использованием sudo -u uploader действие и раздачу прав на этот скрипт в /etc/sudoers. Чисто acl|posixправами это не сделать за исключением варианта когда пользователь имеет права на запись в каталог, но работает с umask 777, тогда созданный им файл доступен только root.

>ЗЫ: Гугл изрыл на вопросы наследования и распределения прав доступа. Понял, что Selinux лучше чем acl, но не осилил пока.
Грустный вывод.

Хм..Принципе то решение, но опять костыли.. =( буду думать, спасибо.

ЗЫ: если подскажешь по selinux будет радостней 🙂 я просто сколько не копал, под убунту все банально — apt-get install selinux, а дальше никто не разжевал как его настраивать. на ночь глядя покурил маны, но как-то безрезультатно. =\

Это не костыли :), это нормально ИМХО.

хех, да не, решение то нормальное! 🙂 Просто в рамках поставленной серверу задачи это выглядит как костыль (для конечного пользователя) Там просто картина такая, что есть некий терминальный сервер, с файло помойкой, жестко ограниченной по доступам внутри себя. И вот вроде ACL все смог разрулить, но вот с удалением и изменением файлов встал вопрос. А писать, какие либо, скрипты — будет уже лишний геморой для админа. Конечно, если решения другого не найдется, то он мягко пойдет на те слова, что на заборах пишут 🙂 Но все же хочется в рамках более простого решения решить.

Хотя вот кстати по совету AnyKey, почти годный результат вышел, правда с флагом:

сейчас попробую с нуля все развернуть, надеюсь заработает.

Вообщем я не понял ПОЧЕМУ, НО работает после таких манипуляций:

Создаю папку. Чрез ACL выставляю нужные её атрибуты. Далее:

Да-да, бред какой-то, НО после этих команд, разрешенным пользователям можно загрузить файл в папку, он открывается только для чтения и не удаляется!

Не, это был глюк. Ребут и все с начала. Вопрос остается открытым. =((

incron + find /path/to/directory -type f -print0 | xargs -0 chattr +i

ругается на не корректный синтаксис использования команды chattr вообще я не совсем понял, что будет результирующим использования этой команды. =(

Спасибо, но это не совсем то. по ссылке идет речь о невозможности удаления файла другими пользователями, мне же нужна невозможность удалить или изменить любой файл, закаченный любым пользователем. Или я не верно понял линк?

не уж то совсем нет решения, кроме как selinux?

перечитал ман про chattr, там ясно написанно:

Для файла с установленным атрибутом `a’ разрешено лишь добавлять записи. Только суперпользователь или процесс, обладающий возможностью CAP_LINUX_IMMUTABLE, может установить или очистить этот атрибут.

Но после добавления этого атрибута я таке не могу ничего записать в папку.

Что я не так делаю? =(

> вообще я не совсем понял, что будет результирующим использования этой команды. =(

immutable на каждый файл по крону.

> Но после добавления этого атрибута я таке не могу ничего записать в папку.

Вообще логично — immutable на директорию запрещает запись в директорию.

А вот в винде дроп-фолдер просто делается — там есть специальный ACL CREATOR-OWNER, которому можно назначить какие угодно права, даже запретить чтение файла после того, как юзер его запишет.

www.linux.org.ru

Linux и права доступа

Используйте sgid:
chmod g+s /dir

Например:
mkdir Test

ls -l | grep Test
drwxrwxr-x 2 zombic zombic 4096 2011-10-12 13:36 Test

ls -l
итого 0
-rw-rw-r— 1 zombic zombic 0 2011-10-12 13:37 file.txt

sudo touch file2.txt

ls -l
итого 0
-rw-r—r— 1 root root 0 2011-10-12 13:37 file2.txt

sudo touch file3.txt

ls -l
итого 0
-rw-r—r— 1 root root 0 2011-10-12 13:37 file2.txt
-rw-r—r— 1 root zombic 0 2011-10-12 13:38 file3.txt
-rw-rw-r— 1 zombic zombic 0 2011-10-12 13:37 file.txt

Это можно реализовать набором команд setfacl, например:

Допустим у нас есть группа sales.
Создадим директорию Sales для доступа на чтение и запись пользователям, входящим в группу sales.
mkdir -m 700 Sales
setfacl -m d:g:sales:rwx,g:sales:rwx Sales
Первая команда первая команда создает директорию с правами только для root, вторая установит те же права для группы sales.
все что будет создано пользователями группы и даже рутом будет наследовать атрибуты доступа.

В интернете много информации по этому материалу

Если я все правильно понял, то вам лучше всего воспользоватся ACL.

setfacl -m default:user:iivanov:rw managerdata
Для файлов и директорий, создаваемых в директории managerdata, добавить право чтение/записи для пользователя iivanov.

toster.ru

Еще по теме:

  • Ближний свет фар правила пдд Глава 22. Пользование внешними световыми приборами и звуковыми сигналами транспортных средств ПДД он-лайн ПДР на Беларускай мове Rules of the road ПДД для Android ПДД для iPhone ПДД в формате FB2 Стаж водителя Административная […]
  • Иск о возмещении вреда причиненного государственными органами Иск о возмещении вреда причиненного государственными органами Автострахование Жилищные споры Земельные споры Административное право Участие в долевом строительстве Семейные споры Гражданское право, ГК РФ Защита прав […]
  • Произведены отчисления единого социального налога Задача: составить бухгалтерские проводки Помогите пожалуйста с проводками и если возможно посмотрите правильные ли везде суммы в скобках. Заранее спасибо.1 Получены в кассу с расчётного счёта деньги для выдачи заработной платы. 210000 50 512 […]
  • Военный прокурор одинцовского гарнизона Военная прокуратура Одинцовского гарнизона Военному прокуроруОдинцовского гарнизонаОБЪЯСНЕНИЕ _____________________ «20» декабря 2011 года (место составления) 1. Фамилия, имя, отчество: Соболева Ксения Сергеевна) 2. Дата рождения: 18.11.1981 г3. […]
  • Приказы о приеме воспитанников в доу Приказы о приеме и отчислении детей Приказ об отчислении воспитанников Приказ об отчислении воспитанников №11/2 от 1.06.2018г. Приказ об отчислении воспитанников №11/3 от 1.06.2018г Приказ об отчислении воспитанников №11/4 от 1.06.2018г Приказ об […]
  • Образцы заявлений родителей в доу ПОДРАЗДЕЛЕНИЕ ДОШКОЛЬНОГО ОБРАЗОВАНИЯ "ДЕТСКИЙ САД" МБОУ "ЦЕНТР ОБРАЗОВАНИЯ № 10" Главное меню ОБРАЗЦЫ ЗАЯВЛЕНИЙ (зачисление, отчисление ребенка, договор об образовании, обмен, компенсация,льгота) 1. Перечень документов при приеме ребенка в ДОУ: […]