Негибкие права POSIX (неужели Win действительно круче :()

Любые разговоры которые хоть как-то связаны с тематикой форума

Модератор: Модераторы разделов

ivze
Сообщения: 39
ОС: Ubuntu

Негибкие права POSIX

Сообщение ivze »

Недавно я узнал то, что заставило меня весьма задуматься.
В ОС-МС есть весьма гибкая система прав пользователей: что кому делать можно, с этим связано понятие Group policies. Наш же Linux унаследовал Posix систему прав, которая, вообще говоря, была придумана весьма давно. Она не гибкая =(. Так, если какому-то ресурсу в Win возможно для разных групп пользователей назначить самые различные уровни позволенности, в Linux всё заканчивается на уровне User/group/other. Притом группа у файла одна. А что делать, если есть три группы пользователей; первой - читать и писать, второй - только читать, третьей - ничего, четвёртой - только выполнять... Я в недоумении.
Что принято делать в тех случаях, когда нужна подобная гибкость настройки прав?
Оправдайте Linux!
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Негибкие права POSIX

Сообщение serzh-z »

ivze писал(а):
02.04.2008 13:52
Что принято делать в тех случаях, когда нужна подобная гибкость настройки прав?
Использовать ACL (то что и используется в Windows NT) + SELinux.
Спасибо сказали:
oneq
Сообщения: 168

Re: Негибкие права POSIX

Сообщение oneq »

ivze писал(а):
02.04.2008 13:52
Оправдайте Linux!

Оправдывать Linux - это к более другим.

А по теме:
man getfacl
man setfacl
http://samlug.ru/node/242
В KDE с версии 3.5 грозились приделать автодетект использования ACL и появление соответствующих опций в свойствах автоматически.
"Никому просто так не даётся свобода,
Из неё нет выхода и в неё нет входа..."
Спасибо сказали:
Аватара пользователя
Black
Сообщения: 1104
ОС: ArchLinux

Re: Негибкие права POSIX

Сообщение Black »

Если файл не исполняемый (бит --x не нужен), то у него могут быть права: ---, r--, rw- (-w- вряд ли полезен - если нельзя читать, то и писать незачем). Если исполняемый: ---, r-x, rwx (r-- и rw- не нужны, если пользователю нельзя исполнять файл, то и читать ему его не зачем; --x тоже - если нельзя читать, то и выполнить не получится). В обоих случаях получается три возможных сочетания и три группы (user, group, others), т.е. всего хватает.
Для каталогов: ---, r-x, rwx (ещё может быть --x и -wx, но никогда не слышал, чтобы этим кто-то пользовался). Так что тут тоже всё в порядке.
Так что я, думаю, не сильно ошибусь, если скажу, что в 99% случаев стандартных прав хватает. А на оставшийся 1% есть вышеописанное.
Компьютер служит для решения тех проблем, которых до изобретения компьютера не существовало
Спасибо сказали:
oneq
Сообщения: 168

Re: Негибкие права POSIX

Сообщение oneq »

Black писал(а):
03.04.2008 20:10
Так что я, думаю, не сильно ошибусь, если скажу, что в 99% случаев стандартных прав хватает. А на оставшийся 1% есть вышеописанное.

Угу, только порой ТАКИЕ костыли надо городить...

Классический пример:
В системе имеются группы: "Разработчики", "Проектировщики", "Тестеры", "Бухгалтерия", "Руководство".
Существуют три каталога (или файла - как Вам будет угодно): "Журнал", "Исходники", "Финансы".
Необходимо создать следующие права доступа:
"Журнал" - rw для всех, кроме "Бухгалтерии".
"Исходники" - rw для всех, кроме "Тестеров" и "Бухгалтерии".
"Финансы" - rw для "Бухгалтерии" и "Руководства".
"Никому просто так не даётся свобода,
Из неё нет выхода и в неё нет входа..."
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian

Re: Негибкие права POSIX

Сообщение diesel »

oneq писал(а):
04.04.2008 12:24
Классический пример:
В системе имеются группы: "Разработчики", "Проектировщики", "Тестеры", "Бухгалтерия", "Руководство".

мягко говоря странный пример:
1. Девелоперы имеют какой-то особый доступ к продакшн-системе. Их туда или вообще пускать нельзя, или давать обычные пользовательские права, дабы возможность узреть ошибку была.
2. Это с какого перепугу Руководство и Бухгалтерия должны иметь возможность писать в файлы? Они вообще файлов этих видеть не должны. Они должны иметь возможность работать с данными, с помощью приложений для разработки которых есть первые три группы. И это прежде всего задача приложений разграничивать такой доступ.

Так что все правильно. 1% задач, ради которого можно и погородить огороды. А вот присутсвтие в системе безопасности функциональности которая в 99% использоваться не будет - как раз таки проблема.
Спасибо сказали:
oneq
Сообщения: 168

Re: Негибкие права POSIX

Сообщение oneq »

diesel писал(а):
04.04.2008 13:07
мягко говоря странный пример:
1. Девелоперы имеют какой-то особый доступ к продакшн-системе. Их туда или вообще пускать нельзя, или давать обычные пользовательские права, дабы возможность узреть ошибку была.

Про систему ровным счётом ничего не говорилось. Речь шла всего о трёх каталогах. Даже если предположить, что Вы ведёте речь об "исходниках" - никто не говорил о том, что там продакшн-система. Там вполне может быть какая-нибудь пре-альфа версии 0.00000000001.

diesel писал(а):
04.04.2008 13:07
2. Это с какого перепугу Руководство и Бухгалтерия должны иметь возможность писать в файлы? Они вообще файлов этих видеть не должны.

Таковы условия. Если Вам будет легче - представьте себе, что они могут общаться только через записи в этих файлах.

diesel писал(а):
04.04.2008 13:07
Они должны иметь возможность работать с данными, с помощью приложений для разработки которых есть первые три группы. И это прежде всего задача приложений разграничивать такой доступ.

Проблема номер раз - получение доступа к данным в обход приложения. Например, базы 1С чаще всего именно так и тащут.
Проблема номер два - размножение костылей в ещё больших масштабах. Вместо того, чтобы использовать единую отлаженную систему каждая программа будет городить собственную систему контроля доступа с собственными ошибками.

diesel писал(а):
04.04.2008 13:07
Так что все правильно. 1% задач, ради которого можно и погородить огороды. А вот присутсвтие в системе безопасности функциональности которая в 99% использоваться не будет - как раз таки проблема.

Нет, Вы не правы. Задач - далеко не 1%.
И на ограничения системы 3х3 наталкиваешься достаточно часто.
И если в рамках stand-alone системы с этим ещё можно жить, то в рамках разветвлённой сети с кучей разномастных пользователей уже приходится ковылять на костылях.
Ещё примерчик:
Ученики любого класса (например, 7-го), должны иметь доступ на чтение ко всем учебным материалам своего года обучения и всех предыдущих.
К тем же самым ресурсам должны иметь доступ и учителя. Только уже на чтение и запись.
Первая задача решается элементарно - рекурсией - в группу "7 класс" добавляем группу "6 класс", в которую добавляем группу "5 класс" и т.д. Даём группе "7 класс" доступ к ресурсам 7 класса, группе "6 класс" - доступ к ресурсам 6 класса и т.д.
А вот почему для решения второй задачи без использования ACL я должен городить какие-то жуткие огороды вместо того, чтобы просто добавить к каталогу группу "Учителя" и дать ей доступ на чтение и запись - я не понимаю.
Поэтому POSIX ACL - вещь кошерная.
"Никому просто так не даётся свобода,
Из неё нет выхода и в неё нет входа..."
Спасибо сказали:
Аватара пользователя
Luinnar
Сообщения: 246
ОС: Solaris, Debian, Ubuntu

Re: Негибкие права POSIX

Сообщение Luinnar »

oneq писал(а):
04.04.2008 12:24
Black писал(а):
03.04.2008 20:10
Так что я, думаю, не сильно ошибусь, если скажу, что в 99% случаев стандартных прав хватает. А на оставшийся 1% есть вышеописанное.

Угу, только порой ТАКИЕ костыли надо городить...

Классический пример:
В системе имеются группы: "Разработчики", "Проектировщики", "Тестеры", "Бухгалтерия", "Руководство".
Существуют три каталога (или файла - как Вам будет угодно): "Журнал", "Исходники", "Финансы".
Необходимо создать следующие права доступа:
"Журнал" - rw для всех, кроме "Бухгалтерии".
"Исходники" - rw для всех, кроме "Тестеров" и "Бухгалтерии".
"Финансы" - rw для "Бухгалтерии" и "Руководства".

Какие костыли, если есть Access Control List? Сами же man setfacl написали...
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian

Re: Негибкие права POSIX

Сообщение diesel »

oneq писал(а):
07.04.2008 12:27
diesel писал(а):
04.04.2008 13:07
2. Это с какого перепугу Руководство и Бухгалтерия должны иметь возможность писать в файлы? Они вообще файлов этих видеть не должны.

Таковы условия. Если Вам будет легче - представьте себе, что они могут общаться только через записи в этих файлах.

ситуация когда пользователи общаются через записи в файлах, или попросту работают с одним и тем же файлом, в то время когда необходимость видимости самих файлов для пользователей находится под большим вопросом - не актуален. Ну не работают пользователи с файлами, и нечего заставлять их на права в файловой системе смотреть.

oneq писал(а):
07.04.2008 12:27
Проблема номер раз - получение доступа к данным в обход приложения. Например, базы 1С чаще всего именно так и тащут.
.

а чего делают пользователи на сервере баз данных? зачем бы мне туда давать им шелл или rdp?

oneq писал(а):
07.04.2008 12:27
Проблема номер два - размножение костылей в ещё больших масштабах. Вместо того, чтобы использовать единую отлаженную систему каждая программа будет городить собственную систему контроля доступа с собственными ошибками..
все правильно ... только на уровне файловой системы оно зачем надо.

oneq писал(а):
07.04.2008 12:27
diesel писал(а):
04.04.2008 13:07
Так что все правильно. 1% задач, ради которого можно и погородить огороды. А вот присутсвтие в системе безопасности функциональности которая в 99% использоваться не будет - как раз таки проблема.

Нет, Вы не правы. Задач - далеко не 1%.
И на ограничения системы 3х3 наталкиваешься достаточно часто.
И если в рамках stand-alone системы с этим ещё можно жить, то в рамках разветвлённой сети с кучей разномастных пользователей уже приходится ковылять на костылях.
Ещё примерчик:
Ученики любого класса (например, 7-го), должны иметь доступ на чтение ко всем учебным материалам своего года обучения и всех предыдущих.
К тем же самым ресурсам должны иметь доступ и учителя. Только уже на чтение и запись.
Первая задача решается элементарно - рекурсией - в группу "7 класс" добавляем группу "6 класс", в которую добавляем группу "5 класс" и т.д. Даём группе "7 класс" доступ к ресурсам 7 класса, группе "6 класс" - доступ к ресурсам 6 класса и т.д.
А вот почему для решения второй задачи без использования ACL я должен городить какие-то жуткие огороды вместо того, чтобы просто добавить к каталогу группу "Учителя" и дать ей доступ на чтение и запись - я не понимаю.

у вас все учебное заведение ходит по ssh,rdp, или XDMPC на сервер дабы почитать методичку?
Спасибо сказали:
Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: Негибкие права POSIX

Сообщение Bluetooth »

А вот почему для решения второй задачи без использования ACL я должен городить какие-то жуткие огороды вместо того, чтобы просто добавить к каталогу группу "Учителя" и дать ей доступ на чтение и запись - я не понимаю.

я ваще не понимаю зачем городить какие-то огороды в этих невразумительных примерах
Спасибо сказали:
oneq
Сообщения: 168

Re: Негибкие права POSIX

Сообщение oneq »

diesel писал(а):
09.04.2008 23:51
а чего делают пользователи на сервере баз данных? зачем бы мне туда давать им шелл или rdp?

В случае 1С сетевой версии у них должен быть доступ.
SQL-версия и дорога, и даже с "родным" MS SQL Server порой способна преподносить сюрпризы.

diesel писал(а):
09.04.2008 23:51
все правильно ... только на уровне файловой системы оно зачем надо.

Естественно, для разграничения прав пользователей :)
Есть единая система - надо пользовать её как можно шире.

diesel писал(а):
09.04.2008 23:51
у вас все учебное заведение ходит по ssh,rdp, или XDMPC на сервер дабы почитать методичку?

Нет, учебное заведение на данный момент ходит на общую папку. Через стандартные механизмы Windows.
"Никому просто так не даётся свобода,
Из неё нет выхода и в неё нет входа..."
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian

Re: Негибкие права POSIX

Сообщение diesel »

oneq писал(а):
10.04.2008 16:36
diesel писал(а):
09.04.2008 23:51
у вас все учебное заведение ходит по ssh,rdp, или XDMPC на сервер дабы почитать методичку?

Нет, учебное заведение на данный момент ходит на общую папку. Через стандартные механизмы Windows.

т.е. на SAMBA-шару ходит .... причем тут файловая система?
Спасибо сказали:
ivze
Сообщения: 39
ОС: Ubuntu

Re: Негибкие права POSIX

Сообщение ivze »

Итак, можно подвести итог. Никакой целостной замены WinNT системе разграничения прав, кроме SELinux - a, не было предложено.
SELinux, как одно из решений, нашелся и у меня.
я думаю автор из разряда, услышал звон, но не знаю где он, т.е. оооо!!!! Linux круууутааааа, я себе поставлю и тоже буду крууут!!!!!! А что, зачем, почему, чем лучше, чем хуже, зачем оно надо, что оно умееет, что не умеет, это уже никого давно не влнует!

З.Ы. гыгыгы smile.gif

Зря вы так.
Безусловно, я - не "гуру". Но все когда-то ими не были!
Вопросы возникли, когда администратор виндового компьютерного класса на Кафедре попросил меня притащить дистрибутив-другой и помочь освоиться. Ему стало интересно, а как здесь распределять права. Двухлетний опыт работы c Ubuntu дома на десктопе не помог.

Радует, что SELinux поддерживается Ubuntu 8.04 - надо поэкспериментировать.
Спасибо сказали:
oneq
Сообщения: 168

Re: Негибкие права POSIX

Сообщение oneq »

diesel писал(а):
10.04.2008 23:25
т.е. на SAMBA-шару ходит .... причем тут файловая система?

Не торопитесь ;) На Linux я ещё не перешёл. SAMBA пока в стадии активного изучения.
Поэтому на настоящий момент времени все ходят на расшаренную папку на Windows.
Соответственно, права доступа определяются файловой системой.

ivze писал(а):
11.04.2008 01:29
Итак, можно подвести итог. Никакой целостной замены WinNT системе разграничения прав, кроме SELinux - a, не было предложено.
SELinux, как одно из решений, нашелся и у меня.

Вопросы возникли, когда администратор виндового компьютерного класса на Кафедре попросил меня притащить дистрибутив-другой и помочь освоиться. Ему стало интересно, а как здесь распределять права. Двухлетний опыт работы c Ubuntu дома на десктопе не помог.

Радует, что SELinux поддерживается Ubuntu 8.04 - надо поэкспериментировать.

Никакой связи между SELinux и POSIX ACL, насколько мне известно, нет.
Повторяю: man setfacl, man getfacl спасут отца русской демократии.
"Никому просто так не даётся свобода,
Из неё нет выхода и в неё нет входа..."
Спасибо сказали: