Добрый всем день!
Поднял у себя Samba 3.0.25 + OpenLDAP + FreeBSD. DHCP и BIND интегрированы с LDAP также. Все работает хорошо, но вот проблема: почему то пользователям нет доступа к их домашним папкам и к общей папке на самбе. Причем скрипт из netlogon нормально запускается.
Пользователя добавляю так:
/usr/local/sbin/smbldap-useradd -a -P -d /home/samba/home/user -m "user" -c "Test User" -N "User" -S "Test"
Вот smb.conf
========================================================
[global]
workgroup = MYDOMAIN
server string = FreeBSD Samba Server
netbios name = BSD-SERV
enable privileges = yes
interfaces = 192.168.0.1/24
security = user
encrypt passwords = yes
obey pam restrictions = no
ldap passwd sync = yes
log level = 0
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000000
time server = yes
socket options = TCP_NODELAY
mangling method = hash2
display charset = koi8-r
unix charset = koi8-r
dos charset = cp866
logon script logon.cmd
logon drive = X:
logon path =
domain logons = yes
preferred master = yes
domain master = yes
local master = yes
wins support = yes
wins proxy = yes
dns proxy = no
name resolve order = lmhosts wins dns host bcast
passdb backend = ldapsam:ldap://127.0.0.1/
ldap admin dn= cn=Manager,dc=mydomain,dc=local
ldap suffix= dc=mydomain,dc=local
ldap user suffix= ou=Users
ldap group suffix= ou=Groups
ldap machine suffix= ou=Computers
ldap idmap suffix= ou=Users
ldap ssl=off
add user script = /usr/local/sbin/smbldap-useradd -m "%u"
ldap delete dn = yes
delete user script = /usr/local/sbin/smbldap-userdel "%u"
add machine script = /usr/local/sbin/smbldap-useradd -w "%u"
add group script = /usr/local/sbin/smbldap-groupadd -p "%g"
delete group script = /usr/local/sbin/smbldap-groupdel "%g"
add user to group script = /usr/local/sbin/smbldap-groupmod -m "%u" "%g"
delete user from group script = /usr/local/sbin/smbldap-groupmod -x "%u" "%g"
set primary group script = /usr/local/sbin/smbldap-usermod -g "%g" "%u"
load printers = no
[homes]
comment = Home directories
path=/home/samba/home/%U
browseable = No
writable = yes
public = no
valid users =%U,@"Domain admins"
force user = %U
create mask = 0660
directory mask 0770
vfs object = recycle
recycle:repository = .лПТЪЙОБ
recycle:keeptree = Yes
recycle:touch = Yes
recycle:version = Yes
recycle:maxsize = 0
recycle:exclude = *.tmp|*.tbi|*.temp|~$*|*.~??
[netlogon]
comment = Network Logon Service
path = /home/samba/netlogon/
browseable = no
read only = yes
[Profiles]
path = /home/samba/profiles/%U
read only = no
create mask = 0600
directory mask = 0700
browseable = No
guest ok = yes
profile acls = yes
csc policy = disable
force user = %U
valid users = %U @"Domain Admins"
[public]
comment = пВЭЙК ТЕУХТУ
path = /home/samba/public
valid users = @"Domain Admins", @"Domain Users"
browseable = yes
guest ok = yes
read only = no
directory mask = 0777
create mask = 0666
force user = %U
Поставь 3.0.25а? Или дождись 25b даже.
так Samba 3.0.25a и стоит... я думаю проблема не в версии самбы а конфиге я где то напортачил, или пользователя как то не так добавляю.
У меня конфигурация другая (Linux ads member)
В папках homes не надо задавать никаких прав
так-как каждый пользователь попадает только в СВОЙ каталог
Каталоги пользователей должны существовать и доступны на запись
Создаваться должны скриптом, при создании пользователя, или как у меня при входеЗамени "@" на "+" в определении групп
Мой конфиг:
..............................
[public]
path = /media/public
guest ok = yes
read only = yes[homes]
path = /media/homes/%U
guest ok = yes
valid users = +"DOMAIN\domain users"
write list = +"DOMAIN\domain users"
#Скрипт создает каталог пользователя если он не существует и копирует в него содержимое скелетного каталога
preexec = if [ ! -x /media/homes/%U ]; then mkdir /media/homes/%U ; cp -aR /etc/samba/skel/home/* /media/homes/%U; fi
read only = no
browseable = no
.............................
Спасибо!! Сделал используя твой конфиг как отправную точку, все работает :) Спасибо!
>#Скрипт создает каталог пользователя если он не существует и копирует в него
>содержимое скелетного каталога
>preexec = if [ ! -x /media/homes/%U ]; then mkdir
> /media/homes/%U ; cp -aR /etc/samba/skel/home/* /media/homes/%U; fiА что, в таком виде будет работать? Вроде как не должен с 3.0.25 начиная...
https://bugzilla.samba.org/show_bug.cgi?id=4648
>так Samba 3.0.25a и стоит... я думаю проблема не в версии самбы
>а конфиге я где то напортачил, или пользователя как то не
>так добавляю.Просто в Самбе3 до 25а есть бага в работе с группами, так что если каталог должен быть доступен по primary gid, то будет облом-с....