Недавно я узнал то, что заставило меня весьма задуматься.
В ОС-МС есть весьма гибкая система прав пользователей: что кому делать можно, с этим связано понятие Group policies. Наш же Linux унаследовал Posix систему прав, которая, вообще говоря, была придумана весьма давно. Она не гибкая =(. Так, если какому-то ресурсу в Win возможно для разных групп пользователей назначить самые различные уровни позволенности, в Linux всё заканчивается на уровне User/group/other. Притом группа у файла одна. А что делать, если есть три группы пользователей; первой - читать и писать, второй - только читать, третьей - ничего, четвёртой - только выполнять... Я в недоумении.
Что принято делать в тех случаях, когда нужна подобная гибкость настройки прав?
Оправдайте Linux!
Негибкие права POSIX (неужели Win действительно круче :()
Модератор: Модераторы разделов
-
serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
-
oneq
- Сообщения: 168
Re: Негибкие права POSIX
Оправдывать Linux - это к более другим.
А по теме:
man getfacl
man setfacl
http://samlug.ru/node/242
В KDE с версии 3.5 грозились приделать автодетект использования ACL и появление соответствующих опций в свойствах автоматически.
"Никому просто так не даётся свобода,
Из неё нет выхода и в неё нет входа..."
Из неё нет выхода и в неё нет входа..."
-
Black
- Сообщения: 1104
- ОС: ArchLinux
Re: Негибкие права POSIX
Если файл не исполняемый (бит --x не нужен), то у него могут быть права: ---, r--, rw- (-w- вряд ли полезен - если нельзя читать, то и писать незачем). Если исполняемый: ---, r-x, rwx (r-- и rw- не нужны, если пользователю нельзя исполнять файл, то и читать ему его не зачем; --x тоже - если нельзя читать, то и выполнить не получится). В обоих случаях получается три возможных сочетания и три группы (user, group, others), т.е. всего хватает.
Для каталогов: ---, r-x, rwx (ещё может быть --x и -wx, но никогда не слышал, чтобы этим кто-то пользовался). Так что тут тоже всё в порядке.
Так что я, думаю, не сильно ошибусь, если скажу, что в 99% случаев стандартных прав хватает. А на оставшийся 1% есть вышеописанное.
Для каталогов: ---, r-x, rwx (ещё может быть --x и -wx, но никогда не слышал, чтобы этим кто-то пользовался). Так что тут тоже всё в порядке.
Так что я, думаю, не сильно ошибусь, если скажу, что в 99% случаев стандартных прав хватает. А на оставшийся 1% есть вышеописанное.
Компьютер служит для решения тех проблем, которых до изобретения компьютера не существовало
-
oneq
- Сообщения: 168
Re: Негибкие права POSIX
Угу, только порой ТАКИЕ костыли надо городить...
Классический пример:
В системе имеются группы: "Разработчики", "Проектировщики", "Тестеры", "Бухгалтерия", "Руководство".
Существуют три каталога (или файла - как Вам будет угодно): "Журнал", "Исходники", "Финансы".
Необходимо создать следующие права доступа:
"Журнал" - rw для всех, кроме "Бухгалтерии".
"Исходники" - rw для всех, кроме "Тестеров" и "Бухгалтерии".
"Финансы" - rw для "Бухгалтерии" и "Руководства".
"Никому просто так не даётся свобода,
Из неё нет выхода и в неё нет входа..."
Из неё нет выхода и в неё нет входа..."
-
diesel
- Бывший модератор
- Сообщения: 5989
- ОС: OS X, openSuSE, ROSA, Debian
Re: Негибкие права POSIX
мягко говоря странный пример:
1. Девелоперы имеют какой-то особый доступ к продакшн-системе. Их туда или вообще пускать нельзя, или давать обычные пользовательские права, дабы возможность узреть ошибку была.
2. Это с какого перепугу Руководство и Бухгалтерия должны иметь возможность писать в файлы? Они вообще файлов этих видеть не должны. Они должны иметь возможность работать с данными, с помощью приложений для разработки которых есть первые три группы. И это прежде всего задача приложений разграничивать такой доступ.
Так что все правильно. 1% задач, ради которого можно и погородить огороды. А вот присутсвтие в системе безопасности функциональности которая в 99% использоваться не будет - как раз таки проблема.
-
oneq
- Сообщения: 168
Re: Негибкие права POSIX
Про систему ровным счётом ничего не говорилось. Речь шла всего о трёх каталогах. Даже если предположить, что Вы ведёте речь об "исходниках" - никто не говорил о том, что там продакшн-система. Там вполне может быть какая-нибудь пре-альфа версии 0.00000000001.
Таковы условия. Если Вам будет легче - представьте себе, что они могут общаться только через записи в этих файлах.
Проблема номер раз - получение доступа к данным в обход приложения. Например, базы 1С чаще всего именно так и тащут.
Проблема номер два - размножение костылей в ещё больших масштабах. Вместо того, чтобы использовать единую отлаженную систему каждая программа будет городить собственную систему контроля доступа с собственными ошибками.
Нет, Вы не правы. Задач - далеко не 1%.
И на ограничения системы 3х3 наталкиваешься достаточно часто.
И если в рамках stand-alone системы с этим ещё можно жить, то в рамках разветвлённой сети с кучей разномастных пользователей уже приходится ковылять на костылях.
Ещё примерчик:
Ученики любого класса (например, 7-го), должны иметь доступ на чтение ко всем учебным материалам своего года обучения и всех предыдущих.
К тем же самым ресурсам должны иметь доступ и учителя. Только уже на чтение и запись.
Первая задача решается элементарно - рекурсией - в группу "7 класс" добавляем группу "6 класс", в которую добавляем группу "5 класс" и т.д. Даём группе "7 класс" доступ к ресурсам 7 класса, группе "6 класс" - доступ к ресурсам 6 класса и т.д.
А вот почему для решения второй задачи без использования ACL я должен городить какие-то жуткие огороды вместо того, чтобы просто добавить к каталогу группу "Учителя" и дать ей доступ на чтение и запись - я не понимаю.
Поэтому POSIX ACL - вещь кошерная.
"Никому просто так не даётся свобода,
Из неё нет выхода и в неё нет входа..."
Из неё нет выхода и в неё нет входа..."
-
Luinnar
- Сообщения: 246
- ОС: Solaris, Debian, Ubuntu
Re: Негибкие права POSIX
oneq писал(а): ↑04.04.2008 12:24
Угу, только порой ТАКИЕ костыли надо городить...
Классический пример:
В системе имеются группы: "Разработчики", "Проектировщики", "Тестеры", "Бухгалтерия", "Руководство".
Существуют три каталога (или файла - как Вам будет угодно): "Журнал", "Исходники", "Финансы".
Необходимо создать следующие права доступа:
"Журнал" - rw для всех, кроме "Бухгалтерии".
"Исходники" - rw для всех, кроме "Тестеров" и "Бухгалтерии".
"Финансы" - rw для "Бухгалтерии" и "Руководства".
Какие костыли, если есть Access Control List? Сами же man setfacl написали...
-
diesel
- Бывший модератор
- Сообщения: 5989
- ОС: OS X, openSuSE, ROSA, Debian
Re: Негибкие права POSIX
ситуация когда пользователи общаются через записи в файлах, или попросту работают с одним и тем же файлом, в то время когда необходимость видимости самих файлов для пользователей находится под большим вопросом - не актуален. Ну не работают пользователи с файлами, и нечего заставлять их на права в файловой системе смотреть.
а чего делают пользователи на сервере баз данных? зачем бы мне туда давать им шелл или rdp?
все правильно ... только на уровне файловой системы оно зачем надо.
oneq писал(а): ↑07.04.2008 12:27
Нет, Вы не правы. Задач - далеко не 1%.
И на ограничения системы 3х3 наталкиваешься достаточно часто.
И если в рамках stand-alone системы с этим ещё можно жить, то в рамках разветвлённой сети с кучей разномастных пользователей уже приходится ковылять на костылях.
Ещё примерчик:
Ученики любого класса (например, 7-го), должны иметь доступ на чтение ко всем учебным материалам своего года обучения и всех предыдущих.
К тем же самым ресурсам должны иметь доступ и учителя. Только уже на чтение и запись.
Первая задача решается элементарно - рекурсией - в группу "7 класс" добавляем группу "6 класс", в которую добавляем группу "5 класс" и т.д. Даём группе "7 класс" доступ к ресурсам 7 класса, группе "6 класс" - доступ к ресурсам 6 класса и т.д.
А вот почему для решения второй задачи без использования ACL я должен городить какие-то жуткие огороды вместо того, чтобы просто добавить к каталогу группу "Учителя" и дать ей доступ на чтение и запись - я не понимаю.
у вас все учебное заведение ходит по ssh,rdp, или XDMPC на сервер дабы почитать методичку?
-
Bluetooth
- Сообщения: 4395
- Статус: Блюзовый
- ОС: Debian Squeeze amd64
Re: Негибкие права POSIX
А вот почему для решения второй задачи без использования ACL я должен городить какие-то жуткие огороды вместо того, чтобы просто добавить к каталогу группу "Учителя" и дать ей доступ на чтение и запись - я не понимаю.
я ваще не понимаю зачем городить какие-то огороды в этих невразумительных примерах
-
oneq
- Сообщения: 168
Re: Негибкие права POSIX
В случае 1С сетевой версии у них должен быть доступ.
SQL-версия и дорога, и даже с "родным" MS SQL Server порой способна преподносить сюрпризы.
Естественно, для разграничения прав пользователей
Есть единая система - надо пользовать её как можно шире.
Нет, учебное заведение на данный момент ходит на общую папку. Через стандартные механизмы Windows.
"Никому просто так не даётся свобода,
Из неё нет выхода и в неё нет входа..."
Из неё нет выхода и в неё нет входа..."
-
diesel
- Бывший модератор
- Сообщения: 5989
- ОС: OS X, openSuSE, ROSA, Debian
Re: Негибкие права POSIX
т.е. на SAMBA-шару ходит .... причем тут файловая система?
-
ivze
- Сообщения: 39
- ОС: Ubuntu
Re: Негибкие права POSIX
Итак, можно подвести итог. Никакой целостной замены WinNT системе разграничения прав, кроме SELinux - a, не было предложено.
SELinux, как одно из решений, нашелся и у меня.
Зря вы так.
Безусловно, я - не "гуру". Но все когда-то ими не были!
Вопросы возникли, когда администратор виндового компьютерного класса на Кафедре попросил меня притащить дистрибутив-другой и помочь освоиться. Ему стало интересно, а как здесь распределять права. Двухлетний опыт работы c Ubuntu дома на десктопе не помог.
Радует, что SELinux поддерживается Ubuntu 8.04 - надо поэкспериментировать.
SELinux, как одно из решений, нашелся и у меня.
я думаю автор из разряда, услышал звон, но не знаю где он, т.е. оооо!!!! Linux круууутааааа, я себе поставлю и тоже буду крууут!!!!!! А что, зачем, почему, чем лучше, чем хуже, зачем оно надо, что оно умееет, что не умеет, это уже никого давно не влнует!
З.Ы. гыгыгы smile.gif
Зря вы так.
Безусловно, я - не "гуру". Но все когда-то ими не были!
Вопросы возникли, когда администратор виндового компьютерного класса на Кафедре попросил меня притащить дистрибутив-другой и помочь освоиться. Ему стало интересно, а как здесь распределять права. Двухлетний опыт работы c Ubuntu дома на десктопе не помог.
Радует, что SELinux поддерживается Ubuntu 8.04 - надо поэкспериментировать.
-
oneq
- Сообщения: 168
Re: Негибкие права POSIX
Не торопитесь
Поэтому на настоящий момент времени все ходят на расшаренную папку на Windows.
Соответственно, права доступа определяются файловой системой.
ivze писал(а): ↑11.04.2008 01:29Итак, можно подвести итог. Никакой целостной замены WinNT системе разграничения прав, кроме SELinux - a, не было предложено.
SELinux, как одно из решений, нашелся и у меня.
Вопросы возникли, когда администратор виндового компьютерного класса на Кафедре попросил меня притащить дистрибутив-другой и помочь освоиться. Ему стало интересно, а как здесь распределять права. Двухлетний опыт работы c Ubuntu дома на десктопе не помог.
Радует, что SELinux поддерживается Ubuntu 8.04 - надо поэкспериментировать.
Никакой связи между SELinux и POSIX ACL, насколько мне известно, нет.
Повторяю: man setfacl, man getfacl спасут отца русской демократии.
"Никому просто так не даётся свобода,
Из неё нет выхода и в неё нет входа..."
Из неё нет выхода и в неё нет входа..."