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

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Я уже так сделал, выше писал.
Меня устраивает нынешнее положения дел (http://forum.altlinux.org/index.php/topic,24988.msg190867.html#msg190867 + http://forum.altlinux.org/index.php/topic,24988.msg190896.html#msg190896) без форсирования группы + acl + sticky bit, но есть несколько проблем.
Проблема теперь другая: пользователь user1, например, может изменить права на свой файл, тем самым дав возможность читать и писать другим пользователям. Необходимо запретить менять права на файлы и папки пользователям (в идеале группе admins дать возможность менять права, а всем остальным закрыть). И ещё бы пользователя admin1 вывести бы из под влияния stiky bit или лучше всю группу admins.
Про первый нашел http://www.opennet.ru/openforum/vsluhforumID14/1314.html, проверю.
Тут вспомнил, что в самба как-то тоже можно рулить acl. Пока ушел в это направление.
« Последнее редактирование: 02.11.2012 11:44:12 от berkut_174 »
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Необходимо запретить менять права на файлы и папки пользователям (в идеале группе admins дать возможность менять права, а всем остальным закрыть). И ещё бы пользователя admin1 вывести бы из под влияния stiky bit или лучше всю группу admins.
Добавил в самбу, очень даже хорошо, просто отлично admin users = admin1
Про первый нашел http://www.opennet.ru/openforum/vsluhforumID14/1314.html, проверю.
Не получается...

Осталось запретить менять права на файлы всем... пока не знаю как, может кто подскажет ?
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

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

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Странно, вроде acl должно работать:
http://smb-conf.ru/nt-acl-support-s.html
http://aisalen.wordpress.com/2007/08/10/acls-on-samba/

Мож в гугле через 'samba nt acl support = no' есть что-то неочевидное?

Осталось запретить менять права на файлы всем... пока не знаю как, может кто подскажет ?
По-ходу поможет только смена владельца, иначе никак...
Тут как вариант может быть :
# chattr -i /hlam/hlam*
[user2@comp ~]$ echo "add01" >> /hlam/hlam.user2.txt
[user2@comp ~]$ cat /hlam/hlam.user2.txt
add01

Запрещено всё всем кроме чтения:
# chattr +i /hlam/hlam*
[user2@comp ~]$ echo "add01" >> /hlam/hlam.user2.txt
-bash: /hlam/hlam.user2.txt: Отказано в доступе

[user2@comp ~]$ rm -f /hlam/hlam.user2.txt
rm: невозможно удалить «/hlam/hlam.user2.txt»: Операция не позволена

[user2@comp ~]$ cat /hlam/hlam.user2.txt
add01

[user@comp ~]$ cat /hlam/hlam.user2.txt
add01
add02

[user@comp ~]$ echo "add03" >> /hlam/hlam.user2.txt
bash: /hlam/hlam.user2.txt: Отказано в доступе

[user@comp ~]$ rm -f /hlam/hlam.user2.txt
rm: невозможно удалить «/hlam/hlam.user2.txt»: Операция не позволена

[user2@comp ~]$ ls -l /hlam/hlam.user2.txt
-rw-r--r-- 1 user2 user2 6 Ноя  3 03:37 /hlam/hlam.user2.txt

[user2@comp ~]$ lsattr /hlam/hlam.user2.txt
----i--------e- /hlam/hlam.user2.txt

Как вариант ближе к теме.
Все могут всё в рамках прав на файл. Удалять файл и изменять права доступа к файлу владельцу запрещено.
# chattr -i /hlam/hlam*
# chattr +a /hlam/hlam*
# ls -l /hlam/hlam.user2.txt
-rw-r--r-- 1 user2 user2 6 Ноя  3 03:37 /hlam/hlam.user2.txt
# lsattr /hlam/hlam.user2.txt
-----a-------e- /hlam/hlam.user2.txt

[user2@comp ~]$ cat /hlam/hlam.user2.txt
add01
add02
[user2@comp ~]$ echo "add03" >> /hlam/hlam.user2.txt
[user2@comp ~]$ cat /hlam/hlam.user2.txt
add01
add02
add03

[user@comp ~]$ echo "add03" >> /hlam/hlam.user2.txt
bash: /hlam/hlam.user2.txt: Отказано в доступе
[user@comp ~]$ cat /hlam/hlam.user2.txt
add01
add02
add03

[user2@comp ~]$ chmod o+w /hlam/hlam.user2.txt
chmod: изменение прав доступа для «/hlam/hlam.user2.txt»: Операция не позволена

[user2@comp ~]$ lsattr /hlam/
-----a-------e- /hlam/hlam.user2.txt
[user2@comp ~]$ ls -l /hlam/hlam.user2.txt
-rw-r--r-- 1 user2 user2 18 Ноя  3 04:23 /hlam/hlam.user2.txt
[user2@comp ~]$ rm -f /hlam/hlam.user2.txt
rm: невозможно удалить «/hlam/hlam.user2.txt»: Операция не позволена

man chattr:
Цитировать
Для файла с установленным атрибутом `a' разрешено лишь  добавлять  записи.   Только  суперпользователь или процесс, обладающий возможностью CAP_LINUX_IMMUTABLE, может установить или очистить этот атрибут.

Но как это прикрутить к samba?


$ mount -l|grep acl|grep "/ "
/dev/sda5 on / type ext4 (rw,relatime,user_xattr,acl,commit=600,barrier=1,data=ordered)
« Последнее редактирование: 03.11.2012 06:20:43 от Speccyfighter »

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Спасибо!
chattr приглядывался уже, но ключ i не подходит, так я не могу владельцем записывать в файл, ключ a, тоже блокирует удаление, не дает изменить права доступа (короче дает только на чтение), а вот владельцем записать в файл тоже не могу...
Мне, кажется нужно как-то придумать как можно сменить владельца в шаре кроме force user, иначе все пользователи все равно начинают работать от имни этого пользователя и могу и читать, и писать.
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

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

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Нашел решение! Ура!
[share]
path = /srv/share
read only = No
admin users = @admins
create mask = 0660
force create mask = 0660
directory mask = 0770 
inherit owner = yes # наследовать владельца вышестоящей директории
# chmod 1770 /srv/share# chown admin1:share /srv/share# ls -l /srv
drwxrwx--T 2 admin1 share 4096 Oct 29 20:51 share

Правда в таком случае пользователи не могут ни переименовать свои файлы, ни удалить :) потому что владелец у них автоматически становится admin1. Зато могут писать и читать свои файлы — то, что надо!
Всем спасибо.

Изначальный вопрос про маску в Thunar'е тоже решен.

Сноси Винду, переходи на Линукс ! :)