Доброго времени суток!
CDS-11.9-r3
CLDG-11.9-r1
Имеется странная проблема с правами на файлы, создаваемыми пользователями в Share.
При создании файла в каталоге share полностью игнорируются права группы на запись. При этом если уже созданный файл скопировать то права у него выставляются правильные, согласно smb.conf.
s -la ~/Share/test/
итого 20
drwsrws---+ 3 tester4 Unix_Domain_Users 0 Ноя 23 18:07 .
drwxrwx--x+ 21 tester4 Unix_Domain_Users 0 Ноя 23 14:28 ..
drwxrws---+ 2 tester4 Unix_Domain_Users 0 Апр 20 2011 iii
-rw-r-----+ 1 tester4 Unix_Domain_Users 8 Ноя 23 18:06 nano.txt
-rw-rw----+ 1 tester4 Unix_Domain_Users 5 Ноя 23 15:09 root
-rw-rw-r--+ 1 tester4 Unix_Domain_Users 10752 Окт 13 15:27 коммер.предлож.-2 (1).xls
-rw-rw-r--+ 1 tester4 Unix_Domain_Users 0 Ноя 23 16:11 новый файл
Где “новый файл” создан в дом. каталоге и скопирован через drag&drop gnom’а. а файл nano.txt создан непосредственно в Шаре.
[share]
path = /var/calculate/server-data/samba/share
comment = Share Files
browseable = yes
writable = yes
hide unreadable = yes
security mask = 777
create mask = 666
force create mode = 666
directory mask = 777
force directory mode = 777
(такие права поставил временно для нахождения проблемы). При этом на изменение последнего разряда (“для других”) система реагирует.
Ни изменение ACL, ни смена umask на локальной машине ничего не дает.
tester4@Buh5 ~ $ umask 0002
tester4@Buh5 ~ $ nano ~/Share/test/nano1.txt
tester4@Buh5 ~ $ ls -la ~/Share/test/
итого 20
drwsrws---+ 3 tester4 Unix_Domain_Users 0 Ноя 23 18:14 .
drwxrwx--x+ 21 tester4 Unix_Domain_Users 0 Ноя 23 14:28 ..
drwxrws---+ 2 tester4 Unix_Domain_Users 0 Апр 20 2011 iii
-rw-r-----+ 1 tester4 Unix_Domain_Users 6 Ноя 23 18:14 nano1.txt
-rw-r-----+ 1 tester4 Unix_Domain_Users 8 Ноя 23 18:06 nano.txt
-rw-rw----+ 1 tester4 Unix_Domain_Users 5 Ноя 23 15:09 root
-rw-rw-r--+ 1 tester4 Unix_Domain_Users 10752 Окт 13 15:27 коммер.предлож.-2 (1).xls
-rw-rw-r--+ 1 tester4 Unix_Domain_Users 0 Ноя 23 16:11 новый файл
При создании файла в каталоге share полностью игнорируются права группы на запись. При этом если уже созданный файл скопировать то права у него выставляются правильные, согласно smb.conf.
При создании файла в unix происходит наложение маски umask
(которая у вас скорее всего равна 022
), поэтому удаляются права на запись всем
и группе
. Причем это происходит на стороне сервера. Попробуйте запустить samba
службу с umask 002
.
Попробуйте запустить samba службу с umask 002.
Если под этим понимается выставление umask на сервере 002 и перезапуск самбы, результаты получились следующие:
Клиент:
tester4@Buh5 ~ $ umask
0002
tester4@Buh5 ~ $ nano ~/Share/test/client_002.txt
tester4@Buh5 ~ $ ls -la ~/Share/test/
итого 12
drwsrws---+ 3 tester4 Unix_Domain_Users 0 Ноя 24 09:24 .
drwxrwx--x+ 21 tester4 Unix_Domain_Users 0 Ноя 23 14:28 ..
-rw-r-----+ 1 tester4 Unix_Domain_Users 10 Ноя 24 09:24 client_002.txt
drwxrws---+ 2 tester4 Unix_Domain_Users 0 Апр 20 2011 iii
-rw-rw-r--+ 1 tester4 Unix_Domain_Users 10752 Окт 13 15:27 коммер.предлож.-2 (1).xls
Теперь логинимся пользователем на сервере:
tester4@lin-valentine / $ umask
0002
tester4@lin-valentine / $ ls -la /var/calculate/server-data/samba/share/test
итого 40
drwsrws---+ 3 root Buh 4096 Ноя 24 09:24 .
drwxrwx--x+ 21 root root 4096 Ноя 23 14:28 ..
-rw-r----- 1 tester4 Buh 10 Ноя 24 09:24 client_002.txt
drwxrws---+ 2 root Buh 4096 Апр 20 2011 iii
-rw-rw-r-- 1 tester4 Buh 10752 Окт 13 15:27 коммер.предлож.-2 (1).xls
tester4@lin-valentine / $ nano /var/calculate/server-data/samba/share/test/server_002.txt
tester4@lin-valentine / $ ls -la /var/calculate/server-data/samba/share/testитого 44
drwsrws---+ 3 root Buh 4096 Ноя 24 2011 .
drwxrwx--x+ 21 root root 4096 Ноя 23 14:28 ..
-rw-r----- 1 tester4 Buh 10 Ноя 24 09:24 client_002.txt
drwxrws---+ 2 root Buh 4096 Апр 20 2011 iii
-rw-rw---- 1 tester4 Buh 11 Ноя 24 2011 server_002.txt
-rw-rw-r-- 1 tester4 Buh 10752 Окт 13 15:27 коммер.предлож.-2 (1).xls
и получается что берутся вообще непонятные правила присвоения прав (660) (!).
и получается что берутся вообще непонятные правила присвоения прав (660) (!).
А какие у вас ACL
права на /var/calculate/server-data/samba/share/test
?
getfacl /var/calculate/server-data/samba/share/test
tester4@lin-valentine / $ getfacl /var/calculate/server-data/samba/share/test
getfacl: Removing leading '/' from absolute path names
# file: var/calculate/server-data/samba/share/test
# owner: root
# group: Buh
# flags: ss-
user::rwx
group::rwx
group:Buh:rwx
group:IT:rwx
mask::rwx
other::---
default:user::rwx
default:group::rwx
default:group:Unix_Domain_Users:rw-
default:group:Buh:rwx
default:mask::rwx
default:other::---
сам пользователь:
id tester4
uid=1010(tester4) gid=313(Unix_Domain_Users) группы=313(Unix_Domain_Users),1011(Buh),314(TerminalUser)
в кач-ве эксперимента создал test2:
getfacl /var/calculate/server-data/samba/share/test2
getfacl: Removing leading '/' from absolute path names
# file: var/calculate/server-data/samba/share/test2
# owner: root
# group: root
user::rwx
group::rwx
group:Unix_Domain_Users:rwx
mask::rwx
other::r-x
default:user::rwx
default:group::rwx
default:group:Unix_Domain_Users:rwx
default:mask::rwx
default:other::r-x
при создании файла всё тоже самое…
tester4@lin-valentine / $ ls -la /var/calculate/server-data/samba/share/test2
итого 20
drwxrwxr-x+ 2 root root 4096 Ноя 24 2011 .
drwxrwx--x+ 22 root root 4096 Ноя 24 09:47 ..
-rw-r--r-- 1 tester4 Unix_Domain_Users 5 Ноя 24 2011 cl_002.txt
-rw-rw-r-- 1 tester4 Unix_Domain_Users 5 Ноя 24 2011 server_002.txt
А как Вы запускаете samba службу с umask 002
?
А как Вы запускаете samba службу с umask 002 ?
в /etc/profile выставил 002 и для надежности перезагрузил сервер.
это не правильно?
Попробуйте установить umask
в /etc/conf.d/samba
для параметров smbd_start_options="-D -k 002"
и nmbd_start_options="-D -k 002"
.
К сожалению:
* samba -> start: smbd ...
Invalid option -k: unknown option
* samba -> start: nmbd ...
Invalid option -k: unknown option
Попробуйте добавить -k 002
для параметров "smbd_start
и nmbd_start
перед --
.
добавил, перезапустил самбу, но никаких изменений не увидел.
я уже думаю: может это связано с опциями монтирования каталога Share?
Ведь на самом сервере параметры umask работают, на локальной машине (например создать файл в /tmp) тоже. Не работает, точнее где-то, как мне кажется, накладывается “маска” только в примонтированном каталоге Share.
Но:
tester4@Buh5 ~ $ mount
--------
//lin-valentine.valentine.loc/remote on /var/calculate/remote type cifs (rw,mand)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
//lin-valentine.valentine.loc/share on /home/tester4/Share type cifs (rw,mand)
//lin-valentine.valentine.loc/unix on /home/.tester4 type cifs (rw,mand)
//lin-valentine.valentine.loc/homes on /home/tester4/Home type cifs (rw,mand)
----
никаких указаний на маску я не вижу.
Тем, не менее, спасибо большое за помощь!