Здравствуйте!
Для каждого отдела создана своя группа: div1, div2, ....
В группах созданы пользователи:
div1: d1user1, d1user2, ...
div2: d2user1, d2user2, ...Есть шара, в которой созданы папки. Доступ к папкам разделён по группам (т.е. владельцами папок установлены соответствующие группы):
folder1 - div1
folder2 - div2, ...
На папки выставлены права 775.
Пользователи отделов имеют полный доступ к своим папкам и доступ только-чтение к папкам других отделов.Внутри папки folder1 есть папка exception.
К этой папке нужно дать полный доступ пользователям из разных групп (пусть это будут пользователи d1user1, d2user2).Думал сделать так: создаём ещё одну группу sharedgroup (далее сокращенно sg), в неё добавляем пользователей d1user1 и d2user2.
Владельцем папки folder1/exception делаем группу sg, на папку устанавливаем права 770.
Беда в том, что в папку folder1/exception всё равно могут вносить изменения пользователи группы div1.
Как ограничить доступ к этой вложенной папке лишь определённому набору пользователей?Конфиг шары:
[public]
path = /samba/public
writable = yes
read only = no
create mask = 664
directory mask = 775
guest ok = no
# inherit owner = yes
# inherit permissions = yes
inherit owner = no
inherit permissions = noБуду благодарен любым советам!
> Буду благодарен любым советам!Совет простой, лучше вынести папку exeption в отдельную самостоятельную папку и шару и дать права тем кому нужно, лучше группу создать отдельную. Чем проще, тем лучше и спокойнее живется админу. Избегай этого всегда. Хотелки юзеров в этом плане лучше сразу пресекать на корню, мотивацию сам придумай.
Если такие вещи не документировать (права на вложенные папки), то при миграции папок в другое место или на другой сервер, об этом никто не вспомнит. А если придет другой админ, то он вообще об этом знать не будет.То, что ты хочешь, нужно решать установкой расширенных списков контроля доступа (ACL) для файлов и каталогов. Читай про утилиту setfacl и getfacl
Но это сложновато, в плане тестов прав тоже не просто, повторюсь лучше избежать этого.Небольшой ликбез есть здесь https://help.ubuntu.ru/wiki/access_control_list
статьи получше сам найдешь, если захочешь.
> То, что ты хочешь, нужно решать установкой расширенных списков контроля доступа (ACL)
> для файлов и каталогов. Читай про утилиту setfacl и
> getfacl
> Но это сложновато, в плане тестов прав тоже не просто, повторюсь
> лучше избежать этого.Ув. @ipmanyak, спасибо Вам большое!
Именно из-за extended ACL права и работали не так, как указано обычным linux-правами.
Extended ACL уже были назначены на папку. Почитал помощь с Убунты, мануал по setfacl/getfacl и всё получилось.
Вроде не сложно и очень даже гибко - можно кому угодно любые права на файлы/папки назначать.
> Беда в том, что в папку folder1/exception всё равно могут вносить изменения пользователи группы div1.Каким образом пользователи без группы sharedgroup могут вносить изменения в папку с группой sharedgroup? Вот и думай.
Советовать выкидывать samba не буду, сам решишь.
> Каким образом пользователи без группы sharedgroup могут вносить изменения в папку с
> группой sharedgroup?Вот это и не понятно, собственно вопрос в этом и есть. Как пользователь, не относящийся к группе может записывать в папку, где права выставлены 770 (и ещё раз - пользователь не входит в группу, которая является владельцем папки).
>Вот и думай.
Думал, уже думалку сломал - потому и пишу сюда
> Советовать выкидывать samba не буду, сам решишь.
Какие могут быть альтернативы? На винду переходить?
> Какие могут быть альтернативы? На винду переходить?Думалось, что на самбе из-за винды и сидите.
Тогда почему бы не NFS?
Я как любитель SSH пошёл по пути SSHFS, что костыли, да, но мне так проще разграничивать доступ и хоть какая-то надежда на безопасность. А хомячки будут жрать что дают, никуда не денутся)