Пользователи домена в Linux
Устал я следить на пользователями linux систем, что бы пароль меняли, что бы доступ был только у актуальных пользователей, а если человек уволился, то и доступ ему не нужен.
В общем вот как сделал я:

Это не пошаговое руководство, это лог моих действий, местами с учетом ошибок.
Сначала задачка: загнать linux (у меня 95% CentOS) в домен.
Все эти конфиги вам знакомы.
Далее инсталируем samba
yum install samba
Мой конфиг:
На самом деле мне я думаю что раздел printers не нужен, но он у меня есть.
Далее конфиг /etc/krb.conf
как всегда следим за временем и устанавливаем самба-клиент
ну и
еще нам пригодится krb5-workstation
для корректного создания домашней папки дописываем
Файл /lib/libnss_ldap.so.2 нужен для нормальной работы LDAP. Установите пакет nss-pam-ldapd, предоставляющий этот файл.
yum install nss-pam-ldapd
authconfig-tui (можно и просто authconfig, но я торопился)
после выполнения видим:
Запускаются службы Winbind:
Запускается nslcd:
Для разрешения входа на сервер linux по shh
Нам еще и sudo потребуется.
Единственно не понял как избежать ошибки «No DNS domain configured for px2ls. Unable to perform DNS Update.
DNS update failed!».
Дебют!
В общем вот как сделал я:

Картинка для затравки
Это не пошаговое руководство, это лог моих действий, местами с учетом ошибок.
Сначала задачка: загнать linux (у меня 95% CentOS) в домен.
Все эти конфиги вам знакомы.
<code class="bash">#cat nsswitch.conf group: files ldap winbind group_compat: nis hosts: files dns networks: files passwd: files ldap winbind passwd_compat: nis shells: files protocols: files rpc: files shadow: files ldap winbind netgroup: files ldap automount: files ldap services: files </code>
Далее инсталируем samba
yum install samba
Мой конфиг:
<code class="bash">$ cat /etc/samba/smb.conf | grep -v '^;' | grep -v '^#' | grep -v '^$'
[global]
workgroup = DMN
password server = KD1W8.DNM.local
realm = DMN.LOCAL
security = domain
idmap uid = 20000-30000
idmap gid = 20000-30000
template homedir = /home/%D/%U
template shell = /bin/sh
winbind use default domain = true
winbind offline logon = false
server string = Samba Server Version %v
netbios name = px2ls
interfaces = lo eth0 192.168.0.0/16
hosts allow = 127. 192.168.
log file = /var/log/samba/log.%m
max log size = 50
winbind enum users = yes
winbind enum groups = yes
encrypt passwords = yes
winbind cache time = 60
passdb backend = tdbsam
load printers = yes
cups options = raw
[homes]
comment = Home Directories
browseable = no
writable = yes
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes
</code>На самом деле мне я думаю что раздел printers не нужен, но он у меня есть.
Далее конфиг /etc/krb.conf
<code class="bash">[logging] default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log admin_server = FILE:/var/log/kadmind.log
[libdefaults] default_realm = DMN.LOCAL
dns_lookup_realm = true
dns_lookup_kdc = true
ticket_lifetime = 24h
renew_lifetime = 7d forwardable = true
[realms] DMN.LOCAL = {
kdc = dmn.local
admin_server = dmn.local
kdc = kd1w8.dmn.local }
[domain_realm]
dmn.local = DMN.LOCAL
.dmn.local = DMN.LOCAL
</code>как всегда следим за временем и устанавливаем самба-клиент
<code class="bash">yum install ntpdate ntpdate 0.centos.pool.ntp.org; ntpdate 0.centos.pool.ntp.org yum install samba-client samba-winbind </code>в /etc/hosts не забудь дописать свой хостнейм
ну и
<code class="bash"># net ads join -S kd1w8.dmn.local -U username%password Using short domain name -- DMN Joined 'PX2LS' to realm 'dmn.local' No DNS domain configured for px2ls. Unable to perform DNS Update. DNS update failed! </code>
еще нам пригодится krb5-workstation
для корректного создания домашней папки дописываем
<code class="bash">vi /etc/pam.d/sshd session required pam_mkhomedir.so skel=/etc/skel/ umask=0022 </code>
Файл /lib/libnss_ldap.so.2 нужен для нормальной работы LDAP. Установите пакет nss-pam-ldapd, предоставляющий этот файл.
yum install nss-pam-ldapd
authconfig-tui (можно и просто authconfig, но я торопился)
после выполнения видим:
Запускаются службы Winbind:
Запускается nslcd:
Для разрешения входа на сервер linux по shh
<code class="bash"># cat /etc/security/pam_winbind.conf | grep require_membership_of require_membership_of = unix-admin (группа в AD) </code>
Нам еще и sudo потребуется.
<code class="bash">yum install sudo # cat /etc/sudoers | grep unix %unix-admin ALL=(ALL) ALL </code>Теперь проверяем работу. Пользователь, член доменной группы unix-admin должен успешно войти в систему и успешно выполнять команды от имени root.
<code class="bash">$ ssh 192.168.0.17 The authenticity of host '192.168.0.17 (192.168.0.17)' can't be established. RSA key fingerprint is 5f:51:29:a0:ba:f4:b3:e9:82:d4:c6:e6:07:0b:10:16. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.0.17' (RSA) to the list of known hosts. myusername@192.168.0.17 password: Creating directory /home/DNM/myusername. </code>ну и незабыть всё это засунуть в автостарт
<code class="bash">chkconfig nslcd on chkconfig winbind on chkconfig smb on chkconfig ntpdate on</code>
Единственно не понял как избежать ошибки «No DNS domain configured for px2ls. Unable to perform DNS Update.
DNS update failed!».
Дебют!
0 комментариев