[РЕШЕНО] Файловый сервер на Samba4

Автор speed_vm, 06 сентября 2016, 14:54:24

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

speed_vm

Доброго времени суток!
Имеется файловый сервер на debian jessie + samba4 в домене windows (MS AD DS, пользователи сидят на windows), аутентификация - kerberos, winbind. Созданы шары для подразделений и создаются личные каталоги для пользователей с помощью PAM автоматом.
Проблема в том, что помимо каталогов с именами пользователей создаются каталоги с именами учетных записей компьютеров.
Конфиги:
cat /etc/pam.d/samba
Открыть содержимое (спойлер)
@include common-auth
@include common-account
@include common-session-noninteractive
session required pam_exec.so /media/Users/.CreateUserDir.sh
[свернуть]
cat /media/Users/.CreateUserDir.sh
Открыть содержимое (спойлер)
#!/bin/bash

PathUserDir=/media/Users/
NameDir=${PAM_USER##MY\\}

mkdir $PathUserDir$NameDir
chown -R $NameDir $PathUserDir$NameDir
[свернуть]
testparm
Открыть содержимое (спойлер)
Load smb config files from /etc/samba/smb.conf
Processing section "[Users]"
Processing section "[Departaments]"
Processing section "[%U]"
Loaded services file OK.
WARNING: You have some share names that are longer than 12 characters.
These may not be accessible to some older clients.
(Eg. Windows9x, WindowsMe, and smbclient prior to Samba 3.0.)
Server role: ROLE_DOMAIN_MEMBER

Press enter to see a dump of your service definitions

# Global parameters
[global]
dos charset = 866
workgroup = MY
realm = MY.DOMAIN
security = ADS
obey pam restrictions = Yes
os level = 0
preferred master = No
local master = No
domain master = No
dns proxy = No
template shell = /bin/bash
winbind cache time = 600
winbind enum users = Yes
winbind enum groups = Yes
winbind use default domain = Yes
winbind refresh tickets = Yes
idmap config * : range = 100000-1000000
idmap config * : backend = tdb
acl group control = Yes
inherit permissions = Yes
inherit acls = Yes
inherit owner = Yes
map acl inherit = Yes
vfs objects = acl_xattr


[Users]
path = /media/Users
valid users = @gr-casu
read only = No
create mask = 0777
directory mask = 0777
veto files = /.CreateUserDir.sh/.quota.group/.quota.user/nobody/lost+found/


[Departaments]
path = /media/Departaments
valid users = @gr-casu
read only = No
create mask = 0777
directory mask = 0777
veto files = /.EnableQuotas.sh/.quota.group/.quota.user/nobody/lost+found/


[%U]
path = /media/Users/%U
valid users = @gr-RemoteDir
read only = No
create mask = 0777
directory mask = 0777
[свернуть]

gardarea51

Могу ошибаться, но при работе в домене самба всегда оперирует машинными учетками (как минимум - создать), так что тут вам проще не обращать на это внимания.

speed_vm

Раз ничего более изящного не нашлось, пришлось использовать проверку имени переменной $NameDir в скрипте создания каталогов пользователей. Добавил в скрипт создания каталогов проверку символа "$" в конце переменной $NameDir (т.к. имена каталогов компьютеров при создании содержат именно этот символ на конце). Помогло. Тема закрыта.