Ставим пакеты:
sudo apt-get install winbind krb5-user samba-common-bin
sudo service winbind stop
Создаем файл настройки /etc/samba/smb.conf:
[global]
workgroup = EXAMPLE
server string = %h server
wins server = 172.20.0.97 172.20.0.92
log file = /var/log/samba/%m.log
max log size = 1024
syslog = 0
realm = EXAMPLE.COM
security = ads
idmap backend = hash
idmap uid = 10000-4000000000
idmap gid = 10000-4000000000
winbind nss info = hash
idmap cache time = 1800
winbind refresh tickets = true
winbind cache time = 900
winbind offline logon = true
winbind expand groups = 2
winbind use default domain = No
template homedir = /home/%D/%U
template shell = /bin/bash
kerberos method = secrets and keytab
Добавляем в конце файла /usr/share/pam-configs/winbind
вместо
Session:
optional pam_winbind.so
строки
Session:
optional pam_winbind.so
required pam_mkhomedir.so umask=0022 skel=/etc/skel
Session-Initial:
required pam_mkhomedir.so umask=0022 skel=/etc/skel
Это позволит автоматически создавать каталог администратора, зашедшего на сервер по ssh
Включаем pam модуль:
sudo pam-auth-update
Отмечаем [*] Winbind NT/Active Directory authentication
Заменяем файл /etc/krb5.conf:
[libdefaults]
default_realm = EXAMPLE.COM
default_tgs_enctypes = RC4-HMAC DES-CBC-MD5 DES-CBC-CRC
default_tkt_enctypes = RC4-HMAC DES-CBC-MD5 DES-CBC-CRC
preferred_enctypes = RC4-HMAC DES-CBC-MD5 DES-CBC-CRC
dns_lookup_kdc = true
[realms]
EXAMPLE.COM = {
auth_to_local = RULE:[1:$0\$1](^EXAMPLE\.COM\\.*)s/^EXAMPLE\.COM/EXAMPLE/
auth_to_local = DEFAULT
}
[appdefaults]
pam = {
mappings = EXAMPLE\\(.*) $1@EXAMPLE.COM
forwardable = true
validate = true
}
httpd = {
mappings = EXAMPLE\\(.*) $1@EXAMPLE.COM
reverse_mappings = (.*)@EXAMPLE\.COM EXAMPLE\$1
}
Меняем строки файла /etc/nsswitch.conf:
passwd: compat winbind
group: compat winbind
Включаем в домен:
sudo net ads join -U Administrator
Запускаем winbind
sudo service winbind start
Проверяем работоспособность командой:
id EXAMPLE\\Administrator
При корректной работе будет выведен список групп пользователя EXAMPLE\Administrator.
Добавляем в файл /etc/ssh/ssh_config строки:
GSSAPIAuthentication yes
GSSAPIDelegateCredentials yes
Добавляем в файл /etc/ssh/sshd_config
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
AllowGroups EXAMPLE\netadmins admin root
Это позволит заходить по ssh на сервер членам группы EXAMPLE\netadmins
Разрешаем группе EXAMPLE\netadmins авторизовываться в правами root:
Через команду
sudo visudo
добавляем строку
%EXAMPLE\\netadmins ALL=(ALL) ALL
Интеграция сервера в домен закончена. Теперь участники группы EXAMPLE\netadmins могут заходить по ssh и пользоваться командой sudo.
Настраиваем файл-сервер samba
Устанавливаем пакеты:
sudo apt-get install samba attr acl
Добавляем в вышеприведенный /etc/samba/smb.conf
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=24576 SO_SNDBUF=24576
load printers = no
printing = bsd
printcap name = /dev/null
disable spoolss = yes
# Enable recycle bin and file acl like on ntfs volume (xfs or ext3/ext4 filesystem needed full acl work only on samba >3.5)
map acl inherit = yes
acl group control = yes
[all]
path = /var/shares/all
read only = no
hide unreadable = no
vfs objects = recycle acl_xattr streams_xattr
inherit acls = yes
include = /etc/samba/recycle.confguest ok = no
veto files = /lost+found/
Создаем файл /etc/samba/recycle.conf
recycle:repository = .Корзина
recycle:keeptree = Yes
recycle:touch = Yes
recycle:versions = Yes
recycle:maxsize = 209715200
recycle:exclude = *.tmp|*.temp|*.o|*.obj|~$*|*.~??|*.TMP
recycle:excludedir = /tmp|/temp|/cache
recycle:noversions = *.doc|*.xls|*.ppt
На сервере отключается поддержка печати и включается расширенная настройка списка доступа на файловой системе, максимально приближеного к NTFS. Поддержка расширенных список доступа и потоков NTFS обеспечивается файловыми системами xfs, ext3, ext4. Монтировать том для ext3/ext4 необходимо с параметром noatime,acl,user_xattr. Для XFS монтировать с параметрами noatime, attr2.
Дополнительно используется vfs-модуль recycle. Он позволяет не удалять файлы а складывать их в каталог .Корзина.
Перенос файлов с Windows сервера.
Для переноса файлов с windows сервера на сервер samba можно использовать утилиту robocopy из Windows Server 2003 Resource Kit Tools
Например, для копирования файлов с сервера srv1 на сервер srv2 выполните команду:
robocopy \\srv1\all \\srv2\all /e /zb /copy:dats /xd DfsrPrivate /purge
На samba сервер нельзя скопировать информацию о владельце файла и протоколе аудита. Поэтому используется параметр /copy:dats. Параметр /xd указывает пропустить каталог DfsrPrivate.
No comments:
Post a Comment