вот задача у меня сделать файловый сервер и соответственно разграничить доступ по правам.
В общем то все работает, но есть одно но. Не получается давать доступ по группам.
Вернее получается, но можно указывать только первую группу пользователя, которая имеет GID в системе. А это неудобно, а вернее даже бесполезно. Потому что у всех пользователей домена она одна и та же.
вот сама шара:
[ITO]
comment = Home Directories
path = /usr/usrdata/ito
valid users = @PROC\programmers
admin users = PROC\komal
write list = PROC\komal
read only = No
create mask = 0777
directory mask = 0777
inherit permissions = Yes
inherit owner = Yes
vfs objects = recycle, full_audit
recycle:versions = yes
recycle:keeptree = yes
recycle:maxsize = 104851000
recycle:exclude = *.tmp | *.TMP | ~$*
recycle:repository = /usr/usrdata/recycles
full_audit:priority = INFO
full_audit:facility = LOCAL5
full_audit:failure = write rename unlink mkdir rmdir
full_audit:success = write rename unlink mkdir rmdir
full_audit:prefix = %m|%U
Так вот, загвоздка в параметре valid users = @PROC\programmers
Вернее в его значении. Вот например вывод команды id
uid=10000(komal) gid=10014(пользователи домена) groups=10014(пользователи домена),
10011(администраторы предприятия),10013(администраторы домена),
10010(администраторы схемы),10025(oko),10027(programmers),
10030(consultant-users),
10031(garant-users),10044(kladmins),10055(mailallproc),10057(allmail)
Так вот, если я пишуvalid users = @"PROC\пользователи домена"
то доступ есть и все нормально. А вот если я пишу любую другую группу, не первую, например:valid users = @"PROC\programmers"то доступа к это шаре нет.
Скажите как обойти это. Что бы он мапил не только первую группу, а все группы пользователя.
И еще как видно из конфига включены acls и на фс тоже все включено и вроде бы можно из винды редактировать шары админ юзеру. И они редактируются. Но вот беда, там тоже можно добавлять только пользователей или вот эту первую группу пользователи домена. Остальные он как бы не находит. Не пойму где собака порылась. Вот сам конфиг: ничего особеного в нем нет.
[global]
dos charset = cp866
unix charset = koi8-r
display charset = koi8-r
workgroup = DOMAIN
realm = DOMAIN.LOCAL
server string = Samba Server mx
interfaces = 192.168.1.1/23
security = ADS
auth methods = winbind
password server = pdc.domain.local bdc.domain.local
passdb backend = tdbsam
log level = 0 vfs:1
log file = /var/log/samba/log.%m
max log size = 50000
os level = 33
preferred master = Yes
local master = No
domain master = Yes
dns proxy = No
wins server = 192.168.1.251
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind enum users = Yes
winbind enum groups = Yes
winbind use default domain = Yes
winbind refresh tickets = Yes
inherit acls = Yes
hosts allow = 192.168.0.0/23, 127.
map acl inherit = Yes
case sensitive = No
У кого нибудь нормально работает с правами групп домена? Покажите конфиг самбы.
>У кого нибудь нормально работает с правами групп домена? Покажите конфиг самбы.
>1-вариант - сопоставить группу на локале с группой из домена и раздовать локальные группы.
2-вариант - берет не первую группу, а "primary group" и АД, меняй пользователям "основную" группу (не спасет если есть у юзвера 2 и более "равноправных групп")З.Ы. 1,5 - вариант - включи в АД расширее для UNIX авторизации.
>У кого нибудь нормально работает с правами групп домена? Покажите конфиг самбы.
>Работает, но через smb.conf я правами не рулю. FS включен в AD. nsswitch дополнен разрешением имён через winbindd. Таки образом я могу использовать в acl (setfack getfacl) на файлы/каталоги имена пользователей AD. А в smb.conf на шары только guest ok = no.
Это стереть valid users = @PROC\programmers
admin users = PROC\komal
write list = PROC\komalПосле этого ,если твой FS введен в АД , заходиш на контроллер домена и через управление компьютером -> подключиться , попробовать законектиться к своему серверу. После этого можно рулить доступом к шарам из винды.
Вдополнение привожу свой рабочий конфиг
[global]
auth methods = winbind
netbios name = test
workgroup = DOMAIN
realm = DOMAIN.LOCAL
password server = ADSRV.DOMAIN.LOCAL
encrypt passwords = true
server string = File Server
security = ADS
allow trusted domains = No
socket options = IPTOS_LOWDELAY TCP_NODELAY SO_RCVBUF=16384 SO_SNDBUF=16384
os level = 0
preferred master = No
local master = No
domain master = No
dns proxy = No
ldap ssl = no
idmap uid = 10000-20000
idmap gid = 10000-20000
strict locking = No
time server = Yes
winbind use default domain = true
winbind refresh tickets = yes
winbind enum groups = yes
winbind enum users = yes
log file = /var/log/samba/samba.%m
max log size = 500 0
log level = 1
display charset = utf-8
unix charset = utf-8
dos charset = 866
case sensitive = no
default case = lower
preserve case = yes
#read size = 65536
#read prediction = true
write raw = yes
read raw = yes
wide links=yes
log level = 0 vfs:2
max log size = 0
syslog = 0[work]
comment = Work
path = /home/work
read only = No
create mask =0660
directory mask =0770
inherit owner =yes
inherit acls =yes
inherit permissions =yes
map acl inherit=yes
hide unreadable = Yes
vfs objects = full_audit
full_audit:prefix = %u|%I
full_audit:failure = none
full_audit:success = mkdir rmdir write sendfile rename unlink chmod fchmod chown fchown ftruncate mknod realpath
full_audit:facility = local5
full_audit:priority = notice
#veto files = /*.avi/*.mp*/*.jpg/*.JPG/*.gif/*.bmp/
[vol1]
comment = Vol1
path = /home/vol1
read only = No
create mask =0660
directory mask =0770
inherit owner =yes
inherit acls =yes
inherit permissions =yes
map acl inherit=yes
hide unreadable = Yes
vfs objects = full_audit
full_audit:prefix = %u|%I
full_audit:failure = none
full_audit:success = mkdir rmdir read pread write pwrite sendfile rename unlink chmod fchmod chown fchown chdir ftruncate symlink readlink link mknod realpath
full_audit:facility = local5
full_audit:priority = notice
#veto files = /*.avi/*.mp*/
в свое время при помощи tunefs включил поддержку ACL на файловой системе с шарами и уже из-под винды назначал полномочия, может и не совсем unix-like-решение, но работает