URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID14
Нить номер: 2041
[ Назад ]

Исходное сообщение
"Samba не срабатывают права на файл"

Отправлено ck80 , 24-Мрт-09 07:51 
Второй день бьюсь над задачей. Перечитал кучу советов и уже окончательно запутался во всём. Подскажите в конкретном решении, как мне кажется, очень простой задачи:

Есть расшаренный ресурс самбы. Необходимо внутри него разграничить права. На ресурс могут заходить только доверенные лица, создавать файлы и папки, но удалять и изменять файлы может только владелец/автор этих файлов. Вот с последним загвоздка

smb.conf следующий:
==============================
path = some/pat/to/dir
valid users = admin,buh1,buh2
write users = admin,buh1,buh2
read only = no
create mask = 0744
force create mode = 0744
directory mask = 0754
wide links = yes
==============================

Но при попытке создать файл из под любого пользователя, он создаётся с правами 0764 -rwxrw-r-- и получается что любой пользователь из группы может удалить этот файл.


Содержание

Сообщения в этом обсуждении
"Samba не срабатывают права на файл"
Отправлено angra , 24-Мрт-09 10:18 
Вместо советов читали бы man

create mask
...
Note that this parameter does not apply to permissions set by Windows NT/2000 ACL editors. If the administrator wishes to enforce a mask on access control lists also, they need to set the security mask.

...
Default: security mask = 0777


"Samba не срабатывают права на файл"
Отправлено ck80 , 24-Мрт-09 10:47 
>[оверквотинг удален]
>
>create mask
>...
>Note that this parameter does not apply to permissions set by Windows
>NT/2000 ACL editors. If the administrator wishes to enforce a mask
>on access control lists also, they need to set the security
>mask.
>
>...
>Default: security mask = 0777

Security Mask = 0744 сработало. Права теперь правильно выставляются. Но по-прежнему user2 может удалить файл созданный user1.

Права на директорию в файловой системе полные стоят.


"Samba не срабатывают права на файл"
Отправлено angra , 24-Мрт-09 11:13 
Пора вам прочитать man chmod и вообще что-нибудь по стандартным правам в никс системах. Обратите внимание на sticky-бит.



"Samba не срабатывают права на файл"
Отправлено ptr , 27-Мрт-09 11:10 
>Пора вам прочитать man chmod и вообще что-нибудь по стандартным правам в
>никс системах. Обратите внимание на sticky-бит.

На самом деле эта задача куда красивее и проще решается через ACL. Точнее простановкой Default ACL на директорию.


"Samba не. Винда да."
Отправлено Andrey Mitrofanov , 27-Мрт-09 14:26 
>Пора вам прочитать man chmod

В мане не написано, что "в никсах" для удаления файла нужны права на запись на содержащую его _директорию_. В отличие от Win/Dos, где read-only _файл_ не удаляется, но преспокойно удаляется writable файл из r/o директории. В Lin* -- всё наоборот.

> и вообще что-нибудь по стандартным правам в никс системах.

Где про этот нюанс "вообще" может быть написано?...

И кстати, как самба меняет (и меняет ли?) семантику файловой системы для ничего не подозревающих [виндовых] програм и пользователей?


"Samba не срабатывают права на файл"
Отправлено ck80 , 27-Мрт-09 14:58 
>Пора вам прочитать man chmod и вообще что-нибудь по стандартным правам в
>никс системах. Обратите внимание на sticky-бит.

Спасибо, то что надо. Установил sticky-bit командой chmod +t /путь/к/папке и теперь удалять может только автор.

От вас я хотел получить конкретный ответ, типа этого:

---------------------------------------------------------------------------------------
Бит sticky. Никак не расшифровывается, переводится как "липкий". :-)
Выглядит в permissions как ********t (если вместе с битом x для "всех остальных") или ********T (если соответствующего бита x нет).

Для директорий его смысл заключается в том, что удалить файл из такой директории (или переименовать) может только владелец файла. Напомню, что в обычном случае (без такого бита) возможность удалять файлы (как и создавать) определяется правом записи (бит w) на директории. То есть, если какой-либо юзер принадлежит к категории, для которой разрешена запись в директорию, он может удалить в ней любой файл, независимо от атрибутов (владельца, группы, permissions) самого файла.
---------------------------------------------------------------------------------------


"Samba не срабатывают права на файл"
Отправлено angra , 27-Мрт-09 20:28 
man chmod/chown были моим единственным руководством на тему permissions/owner, ну и эксперименты конечно же. Если честно, несмотря на DOSовское прошлое, как то естественно предположил, что на удаление влияют биты w и x на директориях, а не на самом файле. Наверное помогло умение мыслить логически. Чтение манов позволит вас узнать еще пару полезных моментов, о которых в случае прямого ответа вы бы остались в неведении. Заметьте что эти маны очень короткие, man по bash или iptables я бы читать не посоветовал.

Когда-то на одной работе удивлялся тесту на знание permissions для сисадминов, однако чем дальше, тем чаще вижу, что такая простая вещь для многих китайская грамота. И плодят эти ребята ACL где надо и где не надо.


"Samba не срабатывают права на файл"
Отправлено Sergetv , 01-Апр-09 13:59 
А если с каталоге на который установлен  stiky-бит пользователь создает свой каталог и туда пишет файлы - из этого каталога снова могут удалять удалять все.
Может кто-то подскажет Samba умеет сама ставить stiky-бит на создаваемые каталоги (что-то мне говорит что вряд-ли) и как тогда эту проблему решаете, коллеги?

"Samba не срабатывают права на файл"
Отправлено Alexpap , 26-Июн-09 14:21 
У меня другой вопрос, есть расшаренный ресурс, права одни - write list = @emit
В этой группе несколько человек (из них два какбы главные). Подключаются они нормально. В шаре есть папка, к которую все должны иметь права на запись. НО там есть файл (настроечный), который нужно запретить на удаление и изменение всем, кроме этих двоих людей. Как сделать, чтобы остальные его не могли удалить! Запрещаю на запись - работает, но он удаляется!!! Причем мне нужно, чтобы они могли его читать. Права -rw-rw-r-- на нем не спасают от удаления. Изменять права могу везде и на ufs и на самбе. Не подскажите как намудрить, чтобы этот файлик (не в корне, а след папке на шаре), запретить на удаление.

"Samba не срабатывают права на файл"
Отправлено angra , 26-Июн-09 22:38 
В классических rwx правах для этого служит sticky bit на директорию. Если включены какие-либо ACL/MAC, то можно через них. Как это используется/игнорируется самбой надо читать в ее мане в разделе про отображение никсовых прав в виндовые ACL.