Пользователи домена в 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 комментариев