linux access control

gsharov

Народ, никто не знает как можно организовать следующий сценарий:
есть папка на nfs, и некая группа пользователей которая должна мочь в нее писать.
При этом надо чтобы
1) перед записью туда надо было ввести пароль (свой, что предпочтительно, или еще какой).
2) чтобы можно было понять какой пользователь сделал какие изменения (ну т.е. чтобы например auditd видел что изменения сделал не просто суперюзер какой то, а именно васька пупкин).
Чем более прозрачно для юзера и проще для админа тем лучше. куда копать (я не админ :)?

Nailgenuine

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

gsharov

это совсем совсем не то. Как например в систему контроля версий поместить какой нить /usr/local/share.
Сам докопался до auditd + AUID via PAM + sudo с умными настройками. Не нравится мне в этом решении то
что придется каждого юзера добавлять в sudoers руками, а также то что сейчас авторизация проводится через NIS который sudoers не экспортирует, т.е. придется еще на каждом компе юзеров вносить.

Filan

sudoers понимает и группы, а не только индивидуальных пользователей.

viktor954

Кстати, хороший вопрос.
На винде это стандартными средствами тоже не решается. Приходится прибегать к сторонним решениям:
http://www.varonis.com/products/datadvantage/windows/index.h...
Есть версия для *nix:
http://www.varonis.com/products/datadvantage/unix/index.html
Можно ли этого же добиться бесплатно?

Sharp

Не очень понятно что именно тебе надо, но могу предложить использовать либо ACL-и, либо AppArmor/SELinux.
В общем вопрос насколько тебе надо понимать кто и что поменял, в каком виде и какова вероятность попыток взлома системы.
p.s.
вроде sudo работает с nis, или что-то не сработало?

gsharov

ACL/SeLinux не катят по причине того что придется переделывать вообще всю авторизацию в сети из пары сотен машин (что в общем то и невозможно - там среди прочего редхаты есть какие то древние которые трогать вообще незя). Вероятность взлома низкая: доступа из инета в сеть нет а внутри сети больше на совесть полагаются. Предполагается что доступ будет ограничиваться к папкам с разнообразным софтом и данными/конфигами для него же. Фишка в том чтобы группа продвинутых юзеров обновляла/настраивала софт а остальные пользовались. Аудит нужен для того чтобы если че то перестало работать то понять кто накосячил и че он делал :)
NIS по дефолту с sudo не работает, точнее работает но нелогично: пользователи берутся из сети, но sudoers на каждой машине локальный. Нафига так сделано я понять не могу но когда я пару лет назад пытался сделать по другому у меня не вышло. Рецепты включали правку кода NIS и все такое. Попробовать можно. Проблема в том что делать все это буду не я а лениво-консервативный админ (которому я должен сказать че мне надо). В принципе можно тупо выделить 1 машину с которой должны все модификации проводиться и править sudoers только там но хотелось бы сделать красиво, т.е. чтобы внес юзера в группу и все.

gsharov

sudoers понимает и группы, а не только индивидуальных пользователей.
Это понятно, но придется делать 2 группы на каждую папку: 1 группа куда включать пользователей которым разрешено выполнять по sudo комманды от имени 2 которая собственно и может писать в папку (если сделать только 1 группу то пользователи смогут обойтись без sudo что не подходит). Учитывая что папок много это не очень хорошо. Основная проблема же все таки в том чтобы заставить сотрудничать NIS и sudo.

Sharp

чтобы группа продвинутых юзеров обновляла/настраивала софт а остальные пользовались. Аудит нужен для того чтобы если че то перестало работать то понять кто накосячил и че он делал

В таком случае посмотри на cfengine или на pikt. Они специально сделаны именно для этих задач.

gsharov

Не, это микроскопом гвозди. В моем случае все машины типа одинаковые и софт запускается с одного NFS раздела: достаточно мониторить доступ к папкам.
Оставить комментарий
Имя или ник:
Комментарий: