Автор Тема: Неправильно выставляется маска на файлы (samba+Thunar) [решено]  (Прочитано 8697 раз)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Что-то Thunar выглядит каким-то недоделанным... что-нибудь с ним, да случается...

Сервер Кентавр 6 (Samba+LDAP+DHCP).
Клиенты ОС Симпли 6.
Все обновления установлены.
Через web создал группу group1, в неё добавил два пользователя user1, user2.
На сервере в smb.conf добавил:[share_1]
path = /srv/share_1
readonly = No
valid users = @group1
create mask = 0770
directory mask = 0770
Права на каталог /srv/share_1 - 770, владелец root, группа group1.
Монтирую на клиенте через pam_mount.
Создаю папку и документ на клиенте в смонтированной папке пользователем user1.
Завершаю сеанс, захожу под пользователем user2. Пытаюсь открыть файл и папку созданную пользователем user1. Папку могу открыть (права у неё 770), а файл не могу (у него права 600)! Хотя переименовать сам файл могу)

На LXDesktop 6 все нормально работает! (сегодня ещё разок проверю на ВМ, под рукой LXDE нет)

Опять бага ? ? ?
« Последнее редактирование: 03.11.2012 09:25:40 от berkut_174 »
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Re: Samba + Thunar
« Ответ #1 : 25.05.2012 10:35:02 »
На LXDesktop 6 все нормально работает! (сегодня ещё разок проверю на ВМ, под рукой LXDE нет)
Вот тут ошибся... на LXDesktop 6 также... Файлы переименовывать могу а изменения в них вносить нет.
Значит дело в самбе ?
Маска неправильно ставится, как быть ?
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Re: Samba + Thunar
« Ответ #2 : 26.05.2012 10:33:50 »
Сноси Винду, переходи на Линукс ! :)

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
« Последнее редактирование: 03.06.2012 00:43:35 от Speccyfighter »

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Это я тут очепятался :-)
В конфиге все правильно (см. багу).
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Сервер такой же.
В smb.conf добавлено:[share]
path = /srv/share
read only = No
force group = admins
create mask = 0660
force create mask = 0660
directory mask = 0770
Пользователи: user1, user2, user3, admin1.
Пользователь admin1 состоит в группе admins.
Права на шару:# ls -l /srv
drwxrwx--- 2 root admins 4096 Oct 29 20:51 share
Теперь что мне нужно. Необходимо, чтобы пользователи user1, user2, user3 могли писать в шару, редактировать и открывать только свои файлы. Пользователь admin1 в свою очередь должен иметь доступ ко всем файлам в шаре и соотвественно писать в шару.
Проблема такая. Скорей всего не зависит от дистрибутива (пробовал на разным p5/p6).
Шара монтируется через pam_mount.
Захожу под пользователем user1, создаю в шаре файл user1.txt, проверяю на сервере права:# ls -l /srv/share
-rw-rw--- 1 user1 admins 0 Oct 29 21:00 user1.txt
Все вроде бы нормально. Выхожу и регистрируюсь под пользователем user2. Захожу в шару и пытаюсь открыть, созданный ранее, файл user1.txt и я спокойно его открываю! :) Более того могу его переписать :) Вот такие чудеса. На сервере права не изменились.
Пользователем admin1 также спокойно могу писать и редактировать файлы других пользователей.

Багу вешать ?

Может у кого-то есть другое решение ?

PS. В Симпли ещё интересней :) при изменении файла другим пользователей (например файл создал user1, а редактирует user2) права на группу слетают на имя первичной группы пользователя, который редактирует файл :) т.е. было # ls -l /srv/share
-rw-rw--- 1 user1 admins 0 Oct 29 21:00 user1.txt
а стало# ls -l /srv/share
-rw-rw--- 1 user2 user2 0 Oct 29 21:00 user1.txt
« Последнее редактирование: 29.10.2012 19:47:00 от berkut_174 »
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Самое интересное, если создать на сервере вручную файл и дать ему права # ls -l /srv/share
-rw-rw--- 1 user1 admins 0 Oct 29 21:00 file.txt
то user2 и user3 не могут прочитать этот файл по сети :) а admin1 может!
Косячит самба... где-то...
Значит я правильно делаю, только здесь что-то не то, самба неправильно форсирует группу!
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Проблемку решил через acl, позже опишу как.
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Решение.
Абсолютно все пользователи состоят в группе share.
Пользователь admin1 состоит в группе admins.
Конфиг самбы:
[share]
path = /srv/share
read only = No
create mask = 0660
force create mask = 0660
directory mask = 0770
Права на шару:
# ls -l /srv
drwxrwx--- 2 root share 4096 Oct 29 20:51 share
Далее через acl поправить права:
# setfacl -m d:g:admins:rwx /srv/shareт.е. разрешил группе admins читать, писать и запускать по умолчанию.
На этом все. Получается все пользователи могут читать и писать только свои файлы, а пользователи, состоящие в группе admins могут открыть и поправить любой файл в шаре, в том числе и удалить их вовсе :)
« Последнее редактирование: 30.10.2012 13:36:18 от berkut_174 »
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Ну вот проблема нарисовалась...
Любой пользователь может чужой файл или чужую папку попросту переименовать! Прочитать не может, а переименовать пожалуйста! :)
Как поправить можно ?
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Ну вот проблема нарисовалась...
http://ru.wikipedia.org/wiki/Sticky_bit
# chmod 1770 /srv/share
Вопрос: можно как-то одного пользователя (или группу) вывести из зоны видимости sticky bit ?
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Короче Thunar опять на высоте, он маску на файлы ставит 670, хотя в самбе указано 660...

PS. Для него нужно отдельную опцию в самбе сделать — thunar force create mode :)
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Короче Thunar опять на высоте, он маску на файлы ставит 670, хотя в самбе указано 660...
А дело-то не в Thunar'е...
Создаю новый пустой тестовый файл внутри шары, права 660, открываю файл, вношу в него изменения, сохраняю и права меняются на 670 :) А вот если создавать файл из шаблона, то у него права сразу ставятся 670. Скорей всего это из-за acl, потому что # setfacl -m d:g:admins:rwx /srv/shareНо тут никак, если дать rw-, тогда в папках других пользователей не развернешься...

В других шарах такого нет, если стоит 660, то он и отрабатывает.
Но, если создавать файл из шаблона, то права почему-то копируются из шаблона, например, в Симпли 6 права на офисные шаблоны установлены 600, так они и переносятся в шару. Почему, непонятно... Пока не ловил больше.
« Последнее редактирование: 01.11.2012 07:54:11 от berkut_174 »
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
У меня мозг плавится...
Ну не хочет работать самба, как мне надо :)

Задача.

Необходимо, чтобы пользователи user1, user2, user3 могли писать в шару, редактировать и открывать только свои файлы. Пользователь admin1 должен иметь доступ ко всем файлам в шаре, писать, удалять, короче быть владельцем всех файлов в шаре.

[share]
path = /srv/share
read only = No
force user = admin1
force group = %U
create mask = 0660
force create mask = 0660
directory mask = 0770
# ls -l /srv
drwxrwx--- 2 root share 4096 Oct 29 20:51 share

Ну что неправильно ? Права все правильно создаются: # ls -l /srv/share
-rw-rw--- 1 admin1 user1 0 Oct 29 21:00 user1.txt
Но права все равно читаются с верхнего каталога, т.е. с /srv/share. Раз там указано, что группе share можно читать и писать, то он видимо эти права и берет. Через acl отнятие прав по умолчанию у share не помогает. Если права у папки share сменить на: chown root:root && chmod 1770, то шара вовсе не монтируется. Если дать chmod 777, то та же история, для остальных чтение/запись берется с верхнего каталога.
Как быть ? Как разрулить права ? Помогите, пожалуйста...
Сноси Винду, переходи на Линукс ! :)

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
А если стики-бит на каталог повесить?
Права на tmp так и разруливаются:
$ ls -l /|grep tmp
drwxrwxrwt  12 root root   280 Ноя  2 01:24 tmp

[user@comp ~]$ touch /tmp/hlam.txt
[user@comp ~]$ su - user2
Password:
[user2@comp ~]$ rm -f /tmp/hlam.txt
rm: невозможно удалить «/tmp/hlam.txt»: Операция не позволена
[user2@comp ~]$
[user2@comp ~]$ touch /tmp/hlam.user2.txt
[user2@comp ~]$ logout
[user@comp ~]$ rm -f /tmp/hlam.user2.txt
rm: невозможно удалить «/tmp/hlam.user2.txt»: Операция не позволена
Писать в каталог могут все, но только владелец файлов имеет право ими распоряжаться.