перемещаемые профили в samba3 over AD
У вас стоит задача, сохранять переносимые профили 2012 виндовс.
Наш вариант хорош тем, что мы используем гетерогенную сеть для хранения файлов, дабы их с легкостью бекапить средствами rsync минуя windows.
Что мы имели до начала настройки:
- windows server 2012 в роли активной дерриктории.
- windows server 2012 в роли терминального сервера.
- Linux server Debian в роли файлового сервера.
Многие статьи в интернете встречаются с описание общей настройки в связке kerberos, мы не будем использовать его, он нам не нужен. Все будет работать без него.
Приступим:
1 |
apt-get install -y samba3 smbclient acl winbind
|
У нас отдельно выделяется LVM раздел для хранения профилей из windows по протоколу samba.
Поэтому, после установки acl необходимо добавить в /etc/fstab в опции после defaults,acl
или если у вас свой стартап скрипт то в него
mount /dev/sda /home/smb -o defaults,acl
Проверяем acl:
1 2 |
cd /home/smb getfacl tmp |
# file: tmp
# owner: root
# group: root
user::rwx
group::rwx
other::rwx
Добавим доступ:
1 |
setfacl -m u:21000:rx tmp
|
Смотрим что получилось:
1 |
getfacl tmp
|
# file: tmp
# owner: root
# group: root
user::rwx
user:21000:r-x
group::rwx
mask::rwx
other::rwx
Далее настроим аутентификацию для корректной работы nt_auth
Для этого правим файл /etc/nsswitch.conf
Добавляем изменение паролей для winbind:
1 2 3 |
passwd: files winbind shadow: files winbind group: files winbind |
Потом редактируем /etc/pam.d/samba
добавим:
1 2 3 4 5 6 7 |
auth required pam_winbind.so auth required pam_nologin.so account required pam_stack.so service=system-auth session required pam_stack.so service=system-auth auth required pam_stack.so service=system-auth account sufficient pam_winbind.so password required pam_winbind.so |
Далее самое главное настройка конфига самбы:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
[global] case sensitive = no browseable = yes workgroup = DOMAIN security = domain # password server = 192.168.0.11 realm = DOMAIN.RU winbind separator = \ idmap uid = 10000-20000 idmap gid = 10000-20000 winbind enum users = yes winbind enum groups = yes auth methods = winbind netbios name = unisrv # domain logons = yes domain master = Yes logon drive = P: logon home = \\%L\%U logon path = \\%L\profiles\%U os level = 255 preferred master = yes hosts allow = 192.168. 127.0.0.1 log file = /var/log/samba/log.%m log level = 1 max log size = 0 syslog = 0 [profiles] path = /home/smb/profiles read only = no profile acls = yes create mode = 0600 directory mode = 0700 browseable = no writeable = yes inherit acls = yes inherit owner = yes inherit permissions = yes map acl inherit = yes [CommonDirs] path = /home/smb/СommonDirs read only = no profile acls = yes create mode = 0777 directory mode = 0777 browseable = yes guest ok = yes writeable = yes inherit acls = yes inherit owner = yes inherit permissions = yes map acl inherit = yes [PrivateDirs] path = /home/smb/PrivateDirs read only = no profile acls = yes create mode = 0700 directory mode = 0700 browseable = yes guest ok = no writeable = yes valid users = \ \staff \ @"DOMAIN\Пользователи домена" \ @"DOMAIN.local\Пользователи домена" \ @"DOMAIN\Администраторы" \ @"DOMAIN\Пользователи" \ @"DOMAIN\Компьютеры домена" \ @"DOMAIN\Администраторы домена" \ @"DOMAIN\Пользователи домена" admin users = DOMAIN\adms2 , DOMAIN\adms, DOMAIN\Администратор #### |
Перезапускаем самбу и winbind:
1 2 |
/etc/init.d/samba restart /etc/init.d/winbind restart |
добавляем самбу в домен:
1 |
net ads join -U Administrator
|
Вводим пароль админа домена
Joined to domain DOMAIN.
еще раз для верности перезапускаем самбу
1 2 |
/etc/init.d/samba restart /etc/init.d/winbind restart |
Пробуем зайти на самбу с контролера домена, если не запросил пароль и зашёл в папку,
то всё в порядке, если возникли проблемы сделайте лог: log level = 3 или побольше и смотрите на проблемы.
p.s. если у вас русский windows сервер то советуем завести
пользователя на английском для избежания проблем с кодировкой логина.