У меня проблемы с общим ресурсом [homes]. ОС - Ubuntu 12.04. Я установил samba 4.0.3, bind9 dlz, ntp, winbind, все, кроме модулей pam, и сделал все тесты из https://wiki.samba.org/index.php/Samba_AD_DC_HOWTO.
Запуск getent passwd и getent user работают просто отлично. Создание простого общего ресурса тоже работает нормально. Я могу управлять пользователями, GPO и DNS из оснастки windows mmc. Я могу подключить winxp, 7, 8 к домену и отлично войти в систему. Я могу менять свои пароли из windows и т.д. и т.п.
Я мог бы сказать, что все в порядке и быть счастливым :), но нет, домашние каталоги не работают.
Поискав здесь и в нашем добром друге google, я понял, что простое
[homes]
read only = no
path = /storage-server/users/
и сопоставление домашней папки пользователя в dsa.msc с \\\server-001\username или \\server-001\homes должно дать мне домашний ресурс, который я мог бы сопоставить для домашней папки моего пользователя. Но оснастка выдает ошибку, говоря, что она не может создать домашнюю папку, потому что сетевое имя не найдено (грубый перевод с португальского).
также, работает
root@server-001:/storage-server/users# smbclient //server-001/test -Utest%'12345678' -c 'ls'
Domain=[MYDOMAIN] OS=[Unix] Server=[Samba 4.0.3]
tree connect failed: NT_STATUS_BAD_NETWORK_NAME
Имя сервера в порядке, если я использую простой общий ресурс на том же сервере, он открывается просто отлично. Если я сопоставляю домашний каталог пользователя с этим простым ресурсом, он работает.
Я хочу, чтобы мне не приходилось вручную создавать новую папку в linux каждый раз, когда я создаю нового пользователя в windows.
Это похоже на разрешения, но я не могу найти никакой документации по этому поводу (да, я пробовал заглянуть в manpages, но трудно сказать, так много опций только в man smb.conf).
Мой smb.conf сейчас выглядит так (довольно просто, я знаю)
# Global parameters
[global]
workgroup = MYDOMAIN
realm = MYDOMAIN.LAN
netbios name = SERVER-001
server role = active directory domain controller
server services = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbind, ntp_signd, kcc, dnsupdate
[netlogon]
path = /usr/local/samba/var/locks/sysvol/mydomain.lan/scripts
read only = No
[sysvol]
path = /usr/local/samba/var/locks/sysvol
read only = No
[homes]
read only = no
path = /storage-server/users
Разрешения папки /storage-server drwxr-xr-x 6 root root 4096 Fev 15 15:17 storage-server
/storage-server/users
drwxrwxrwx 6 root root 4096 Fev 18 17:05 users/
Да, я был достаточно отчаянным, чтобы установить 777 на папку users... не горжусь этим.
Любые указания в правильном направлении будут очень приветствоваться.
Отредактировано:
root@server-001:/# wbinfo --user-info=test
MYDOMAIN\test:*:3000045:100:test:/home/MYDOMAIN/test:/bin/false
root@server-001:/# wbinfo -n test
S-1-5-21-1957592451-3401938807-633234758-1128 SID_USER (1)
root@server-001:/# id test
uid=3000045(MYDOMAIN\test) gid=100(users) grupos=100(users)
root@server-001:/# wbinfo -U 3000045
S-1-5-21-1957592451-3401938807-633234758-1128
root@server-001:/#
Edit 2:
getent passwd | grep test
MYDOMAIN\test:*:3000045:100:test:/home/MYDOMAIN/test:/bin/false
Я понятия не имею, как изменить домашнюю папку на /storage-server/users/test, поэтому я просто пошел и ln -s /storage-server/users /home/MYDOMAIN на всякий случай. все равно, никаких изменений, те же ошибки.
Edit 3
В log.smbd я получаю следующую ошибку при попытке установить домашнюю папку тестового пользователя в \server-001\test
[2013/02/20 14:22:08.446658, 2] ../source3/smbd/service.c:418(create_connection_session_info)
user 'MYDOMAIN\Administrator' (from session setup) not permitted to access this share (test)
Попробуйте что-то вроде:
[homes]
browseable = no
read only = no
create mask = 0700
directory mask = 0700
valid users = %S
Это должно настроить его так, чтобы пользователи не могли видеть домашние папки друг друга, файлы / папки создается безопасно, и папки должны создаваться автоматически.
Проверьте свой файл /etc/pam.d/common-session:
session required pam_unix.so
session required pam_mkhomedir.so umask=0022 skel=/etc/skel
Вам также необходимо добавить следующее в [home]
path = /home/%U
KJS