Участник:Petr-akhlamov/Test
Тестирование и диагностика Samba и ActiveDirectory
Проверка постоянства имени компьютера (Check hostname persistance) +
Постоянство имени компьютера - это сохранение имени компьютера после перезагрузки.
Настроить имя компьютера можно двумя способами. Так, чтобы оно оставалось до перезагрузки и так, чтобы оно сохранялось после него.
Следующая команда покажет временное (не сохраненное) имя:
$ hostname
А данная постоянное:
$ hostnamectl --static
Если вывод команд различаются, то измененное имя не сохранится.
Проверка имени хоста в FQDN [не короткое] (Test hostname is FQDN [not short])
FQDN (от англ. Fully Qualified Domain Name — «полностью определённое имя домена», иногда сокращается до «полное имя домена») — имя домена, не имеющее неоднозначностей в определении.
test_hostname() { local host="$HOSTNAME_COMMON" echo $host echo test "$host" != "${host/.}" || return 2 }
Если значение:
- 0, то ...
- 2, то ...
Метод аутентификации системы (System authentication method) +
Проверить метод входа в систему можно тремя командами:
# /usr/sbin/control system-auth # readlink -f /etc/pam.d/system-auth # cat /etc/pam.d/system-auth
Первая команда отобразит:
- local - если у Вас локальные учетные записи
- sss - если у Вас доменные учетные записи через Samba
Вторая команда отобразит:
- /etc/pam.d/system-auth-local - если у Вас локальные учетные записи
- /etc/pam.d/system-auth-sss - если у Вас доменные учетные записи через Samba
Третья команда отобразит:
- политики со значениями system-auth-local-only и system-auth-common - если у Вас локальные учетные записи
- политики со значениями pam_permit.so, system-auth-sss-only, system-auth-local-only и system-auth-common - если у Вас доменные учетные записи через Samba
Методы системных политик (System policy method) +
Чтобы узнать, какие системные политики применяются, локальные или удаленные, нужно выполнить три команды:
/usr/sbin/control system-policy readlink -f /etc/pam.d/system-policy cat /etc/pam.d/system-policy
По результатам этих команд можно определить тип политик.
Если команды вывели:
- remote
- /etc/pam.d/system-policy-remote
#%PAM-1.0 session required pam_mkhomedir.so silent
То, политики доменные.
Если команды вывели:
- local
- /etc/pam.d/system-policy-local
#%PAM-1.0
То, политики локальные.
Включение системных групповых политик (System group policy enabled)
test -n "$SYSTEM_POLICY" || SYSTEM_POLICY=local _command /usr/sbin/control system-policy _command test "$SYSTEM_POLICY" == "gpupdate" || return 2
Проверка существующих настроек Kerberos (Check Kerberos configuration exists)
local retval=0 _command ls -l /etc/krb5.conf if ! test -e /etc/krb5.conf; then is_system_auth_local && retval=2 || retval=1 else _command -x cat /etc/krb5.conf fi return $retval
Статус кеша учетных данных Kerberos (Kerberos credential cache status)
local ccache= ccache=$(/usr/sbin/control krb5-conf-ccache) _command /usr/sbin/control krb5-conf-ccache test -n "$ccache" -a "$ccache" != "unknown"
Использование связки ключей в качестве кеша учетных данных Kerberos (Using keyring as kerberos credential cache)
local ccache= ccache=$(/usr/sbin/control krb5-conf-ccache) _command /usr/sbin/control krb5-conf-ccache _command test -n "$ccache" -a "$ccache" == "keyring" || return 2
Проверка состояния поиска DNS kerberos KDC (Check DNS lookup kerberos KDC status)
local retval=0 echo -n "/etc/krb5.conf: dns_lookup_kdc " if grep -q '^\s*dns_lookup_kdc\s*=\s*\([Tt][Rr][Uu][Ee]\|1\|[Yy][Ee][Ss]\)\s*$' /etc/krb5.conf; then echo "is enabled" else if grep -q '^\s*dns_lookup_kdc\s*=' /etc/krb5.conf; then echo "is disabled" retval=1 else echo "is enabled by default" retval=2 fi fi echo return $retval
Проверка существования кэша учетных данных компьютера (Check machine crendetial cache is exists) +
ls -l /etc/krb5.keytab
Если файл будет найден, кэш доменных учетных данных существует, если нет, то используются локальные учетные записи.
Проверка списка учетных данных компьютера в keytab-файле (Check machine credentials list in keytab) +
# klist -ke
Проверка конфигурации преобразователя имен (Check nameserver resolver configuration) +
Следующие команды проверят наличие конфигурационного файла преобразователя имен (resolv.conf) и выведут его содержимое.
$ ls -l /etc/resolv.conf $ cat /etc/resolv.conf
Сравнение мира[i] krb5 и первого поискового домена (Compare krb5 realm and first search domain)
Проверка конфигурации Samba (Check Samba configuration) +
ls -l /etc/samba/smb.conf grep -v -e "'^\s*[#;]'" -e "'^\s*$'" /etc/samba/smb.conf testparm -l -s
Сравнение миров [i] Samba и krb5 (Compare Samba and krb5 realms)
Проверка мира[i] домена Samba (Check Samba domain realm)
Проверка хост-имени доменного имени FQDN (Check hostname FQDN domainname)
Проверка статуса синхронизации времени (Check time synchronization) +
$ timedatectl
Смотрим значение строки System clock synchronized.
Проверка, включена ли синхронизация времени (Time synchronization enabled) +
$ timedatectl show -p NTPSynchronized --value
Если результатом команды будет yes - синхронизация включена, если no - то выключена.
Проверка доступности серверов имен (Check nameservers availability)
Вывод списка контроллеров домена (Check domain controllers list) +
Следующая команда выведет список контроллеров в указанном домене (в примере domain.ru):
host -t srv _ldap._tcp.domain.ru | cut -d ' ' -f 8
Проверка записей Kerberos и LDAP SRV (Check Kerberos and LDAP SRV-records)+
$ host -t srv "_kerberos._udp.domain.ru." $ host -t srv "_ldap._tcp.domain.ru."
Где domain.ru - Ваш домен.
Вы должны получить ответ со списком всех контроллеров домена в Вашей сети:
$ host -t srv "_kerberos._udp.domain.ru." _kerberos._udp.domain.ru has SRV record 0 100 88 samba.domain.ru. _kerberos._udp.domain.ru has SRV record 0 100 88 dc2.domain.ru. _kerberos._udp.domain.ru has SRV record 0 100 88 ad-replice.domain.ru.
$ host -t srv "_ldap._tcp.domain.ru." _ldap._tcp.domain.ru has SRV record 0 100 389 samba.domain.ru. _ldap._tcp.domain.ru has SRV record 0 100 389 ad-replice.domain.ru. _ldap._tcp.domain.ru.ru has SRV record 0 100 389 dc2.domain.ru.
Сравнение имени NetBIOS и имени хоста (Compare NetBIOS name and hostname)
compare_netbios_name() { local netbios= local host= netbios=$(echo "$SMB_NETBIOS_NAME" | tr '[:upper:]' '[:lower:]') host=$(echo "$HOSTNAME_SHORT" | tr '[:upper:]' '[:lower:]') echo "SMB_NETBIOS_NAME = '$SMB_NETBIOS_NAME'" echo "HOSTNAME_SHORT = '$HOSTNAME_SHORT'" echo test "$netbios" = "$host" || return 1 }
Проверка общих пакетов (Check common packages) +
Чтобы проверить, что у Вас установлены все общие пакеты, выполните следующие команды:
# rpm -q alterator-auth # rpm -q libnss-role # rpm -q libkrb5 # rpm -q libsmbclient
Все вышеуказанные пакеты должны быть установлены.
Проверка пакетов групповых политик (Check group policy packages) +
# rpm -q local-policy # rpm -q gpupdate
Если обе команды сработают, то у Вас установлены пакеты для групповых политик.
Проверка пакетов SSSD AD (Check SSSD AD packages) +
# rpm -q task-auth-ad-sssd
Если команда сработает, то у Вас используется Samba с AD-SSSD.
Проверка пакетов SSD Winbind (Check SSSD Winbind packages) +
# rpm -q task-auth-ad-winbind
Если команда сработает, то у Вас используется Samba с WinBind.