Страница 1 из 1

Samba в FreeBSD чтобы давала писать но не давала удалять!

Добавлено: 2009-05-04 12:57:28
Jabali
А ведь это проблема товарищи!

Как сделать так чтобы любой из списка пользователей мог записывать но только один мог это удалять?

FreeBSD просто не дает выставить права чтобя только автор мог удалят!

в smb.conf пишу всё как вродебы должно быть

Код: Выделить всё

[test]
 comment = TEST
 path = /usr/data/test
user = u1, u2
force user = u2
#force group = u2
create mask = 0744  
#force create mode  = 0744
directory mask = 0777
#force directory mode = 0744
writable = yes
#printable = no
#write list = u1, u2
по задумки стоит 0744 и владелец u2 чтобы только он мог удалять
пробовал и то что за # не помогает


А Самаба и FreeBSD полностью игнорят эти установки, только вот автора выставили

Код: Выделить всё

-rwxr--r--  1 u2  wheel  5964555 Apr 16 16:32 1.pdf
В самбе удалять могут все даже
chmod 1744 ... - не помогает

где то вычитал что папку с самбой надо смонтировать с параметром bsdgroups - вообще система не загрузилась - Invalid parametr

Re: Samba в FreeBSD чтобы давала писать но не давала удалять!

Добавлено: 2009-05-04 13:45:19
snorlov
Я думаю, что это не удастся сделать, поскольку клиенты виндовые, но вот настроить корзинку на этот ресурс вполне можно

Re: Samba в FreeBSD чтобы давала писать но не давала удалять!

Добавлено: 2009-05-04 13:46:31
Jabali
Да клиенты виндовые winXP... а корзина это как?

Re: Samba в FreeBSD чтобы давала писать но не давала удалять!

Добавлено: 2009-05-04 14:04:48
snorlov
Jabali писал(а):Да клиенты виндовые winXP... а корзина это как?
http://www.lissyara.su/?id=1791
Довольно детально описано...

Re: Samba в FreeBSD чтобы давала писать но не давала удалять!

Добавлено: 2009-05-04 14:15:01
Jabali
А средствами самбы значит никак?... обидно однако...

Я тогда лучше сделаю одну папку куда могут писать все и через crontab копировать от туда всё в ту папку где может удалять один а читать все... только как быть с незаконченными закачками ыыы

Re: Samba в FreeBSD чтобы давала писать но не давала удалять!

Добавлено: 2009-05-04 14:35:27
snorlov
Посмотри сначало на свой конфиг, у тебя там стоит

Код: Выделить всё

force user=u2
Следовательно, любой, кто имеет доступ? работает с доступом u2, поэтому все и могут удалять.
Тебе надо сделать, чтобы пользователи, могучие писать в эту шару становились владельцами своих файлов,
а остальные только их читали, ну а u2 надо сделать админом паки

Код: Выделить всё

admin users=u2

Re: Samba в FreeBSD чтобы давала писать но не давала удалять!

Добавлено: 2009-05-04 14:56:06
Jabali

Код: Выделить всё

force user=u2
Я пологал что это только меняет владельцев файла!

Сейчас тогда всё стало более логично, но теперь надо чтобы у всех записываемых файлов был владелец u2, как это сделать?

Код: Выделить всё

admin users=u2
вроде бы ни на чем не сказывается

Re: Samba в FreeBSD чтобы давала писать но не давала удалять!

Добавлено: 2009-05-04 15:16:43
Jabali
Нет всё равно

Код: Выделить всё

[test]
 comment = TEST
 path = /usr/data/test
inherit owner = yes  (тот же владелец что и у папки пробовал root и u2)
user = u1, u2
admin user = u2
create mask = 0744
directory mask = 0777
writable = yes
И права правильные

-rwxr--r-- 1 u2 wheel 146479 May 4 16:15 angl_nachinai.pdf

а u1 берет и удалеет всё!

Re: Samba в FreeBSD чтобы давала писать но не давала удалять!

Добавлено: 2009-05-04 15:33:10
snorlov
Осталось выяснить в какие группы входит u1, u2, а также права на /usr/data/test и включена ли поддержка acl...

Re: Samba в FreeBSD чтобы давала писать но не давала удалять!

Добавлено: 2009-05-04 15:36:50
Jabali
snorlov писал(а):Осталось выяснить в какие группы входит u1, u2, а также права на /usr/data/test и включена ли поддержка acl...
acl нет
uid=1003(u1) gid=1003(u1) groups=1003(u1)
uid=1004(u2) gid=1004(u2) groups=1004(u2)
файл
-rwxr--r-- 1 u2 u2 5964555 May 4 16:34 223w.pdf
папка в которой он лежит
drwxrwxrwx 2 u2 u2 512 May 4 16:34 test

права папки не наследуютяс только владелец и группа

и всё равно u1 трет всё

Re: Samba в FreeBSD чтобы давала писать но не давала удалять!

Добавлено: 2009-05-04 20:49:48
Neus
Jabali писал(а): -rwxr--r-- 1 u2 u2 5964555 May 4 16:34 223w.pdf
папка в которой он лежит
drwxrwxrwx 2 u2 u2 512 May 4 16:34 test

права папки не наследуютяс только владелец и группа

и всё равно u1 трет всё
вы малость не понимаете про права на файлы в *nix системах
вкратце - права определяют действия с содержимым объекта (файла/папки), а не с самим объектом (отвыкайте от винды ;-) )
т.о. у вас файл "223w.pdf" может читать/писать только юзер "u2", а остальные только читать
а вот читать содержимое папки и создавать/удалять файлы в папке "test" могут и группа "u2" и все - "drwxrwxrwx"

а вот как сделать чтобы работало как в винде - не знаю... :pardon:

Re: Samba в FreeBSD чтобы давала писать но не давала удалять!

Добавлено: 2009-05-04 21:39:45
snorlov
А сама samba у вас кто, PDC, член AD/домена NT4, или же одиночный сервер?

Код: Выделить всё

testparm 

Re: Samba в FreeBSD чтобы давала писать но не давала удалять!

Добавлено: 2009-05-05 7:51:05
Jabali
Neus писал(а): вы малость не понимаете про права на файлы в *nix системах
вкратце - права определяют действия с содержимым объекта (файла/папки), а не с самим объектом (отвыкайте от винды ;-) )
т.о. у вас файл "223w.pdf" может читать/писать только юзер "u2", а остальные только читать
а вот читать содержимое папки и создавать/удалять файлы в папке "test" могут и группа "u2" и все - "drwxrwxrwx"

а вот как сделать чтобы работало как в винде - не знаю... :pardon:
Права папки перекрывают права файлов? Тогда я действительно...а за чем тогда вообще права файлам :pardon: хммм

Re: Samba в FreeBSD чтобы давала писать но не давала удалять!

Добавлено: 2009-05-05 7:52:03
Jabali
snorlov писал(а):А сама samba у вас кто, PDC, член AD/домена NT4, или же одиночный сервер?

Код: Выделить всё

testparm 
Вот такое

Код: Выделить всё

Processing section "[test]"
Unknown parameter encountered: "admin user"
Ignoring unknown parameter "admin user"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions

[global]
        dos charset = cp866
        unix charset = koi8-r
        display charset = koi8-r
        workgroup = TTS
        server string = Test-Server
        log file = /var/log/samba/log.%m
        max log size = 50
        load printers = No
        dns proxy = No
        hosts allow = 10.10.30.

[test]
        comment = TEST
        path = /usr/data/test
        username = u1, u2
        read only = No
        directory mask = 0777
        inherit owner = Yes
Ну вот я же говорил что admin user ни на что не влияет...

Re: Samba в FreeBSD чтобы давала писать но не давала удалять!

Добавлено: 2009-05-05 8:48:15
snorlov
1.

Код: Выделить всё

admin users=u1
2. Убрать

Код: Выделить всё

        read only = No
        directory mask = 0777
        inherit owner = Yes
3. Какие права даны на /usr/data/test ?

Re: Samba в FreeBSD чтобы давала писать но не давала удалять!

Добавлено: 2009-05-05 9:52:14
Sadok123
Погодите.. Я может мимо, конечно. А всякие ACL прикрутить? На самбу и FS... Не? Тогда и из виндовой оснастки рулить можно будет.

Re: Samba в FreeBSD чтобы давала писать но не давала удалять!

Добавлено: 2009-05-05 10:09:29
snorlov
Sadok123 писал(а):Погодите.. Я может мимо, конечно. А всякие ACL прикрутить? На самбу и FS... Не? Тогда и из виндовой оснастки рулить можно будет.
Из винды удастся, если сервак имеет роль PDC/BDC/член домена... Но в любом случае включение acl не помешает...

Re: Samba в FreeBSD чтобы давала писать но не давала удалять!

Добавлено: 2009-05-05 10:29:19
Sadok123
snorlov писал(а):
Sadok123 писал(а):Погодите.. Я может мимо, конечно. А всякие ACL прикрутить? На самбу и FS... Не? Тогда и из виндовой оснастки рулить можно будет.
Из винды удастся, если сервак имеет роль PDC/BDC/член домена... Но в любом случае включение acl не помешает...
Угу. Просто помню, что игрался и выбросил - не пригодилось.

Re: Samba в FreeBSD чтобы давала писать но не давала удалять!

Добавлено: 2009-05-05 11:08:25
Jabali
snorlov писал(а):1.

Код: Выделить всё

admin users=u1
2. Убрать

Код: Выделить всё

        read only = No
        directory mask = 0777
        inherit owner = Yes
3. Какие права даны на /usr/data/test ?
1-2
read only = No не могу убрать потому что такой запии нет

Код: Выделить всё

[test]
 comment = TEST
 path = /usr/data/test
user = u1, u2
admin users = u2
create mask = 0744
writable = yes
3 Права на папку /usr/data/test после много всего сейчас такие
drwxrwxrwx 2 u2 u2 512 May 5 12:05 test

файл пишет вот с такими правами сейчас
-rwxr--r-- 1 u1 u2 146479 May 30 2006 angl_nachinai.pdf

Re: Samba в FreeBSD чтобы давала писать но не давала удалять!

Добавлено: 2009-05-05 11:53:39
snorlov
Jabali писал(а):

Код: Выделить всё

[test]
 comment = TEST
 path = /usr/data/test
user = u1, u2
admin users = u2
create mask = 0744
writable = yes
Параметр user срабатывает, если только добавить

Код: Выделить всё

only user=yes
, это означает доступ к шаре только пользователям в user, оно

Код: Выделить всё

only user=
по умолчанию стоит в no
Если хочешь использовать доступ к шаре, то лучше применить

Код: Выделить всё

valid users= u1,u2 

Код: Выделить всё

create mask = 0744
тоже, если отсуствует стоит в 0744
Jabali писал(а): 3 Права на папку /usr/data/test после много всего сейчас такие
drwxrwxrwx 2 u2 u2 512 May 5 12:05 test

файл пишет вот с такими правами сейчас
-rwxr--r-- 1 u1 u2 146479 May 30 2006 angl_nachinai.pdf
Ну вроде все что ты хотел...

Re: Samba в FreeBSD чтобы давала писать но не давала удалять!

Добавлено: 2009-05-05 13:09:42
Jabali
Так в том то и дело что выглядит оно правильно но не работает!!!

u2 должен только стирать а стирают все

Re: Samba в FreeBSD чтобы давала писать но не давала удалять!

Добавлено: 2009-05-05 13:34:14
snorlov
Jabali писал(а):Так в том то и дело что выглядит оно правильно но не работает!!!

u2 должен только стирать а стирают все
U2 имеет все права, а вот U1 только на те файлы, которые он создал, т.е., владельцем, которых он является, нельзя принудительно у него это отобрать, в противном случае отнимется права на создание/изменение файла. Если очень заботит проблема удалением, то я вижу только один выход, создание корзины, доступ к которой будет иметь только U2.
Кстати, проверь, что работает, создай еще одного пользователя и уже им попробуй удалить файл созданный u1...