понедельник, 26 декабря 2011 г.

Лог аутентификации в SUSE

В файл /etc/syslog-ng/syslog-ng.conf в соответствующие места необходимо добавить следующие строчки:

filter f_auth { facility(auth); };

destination auth { file ("/var/log/auth.log"); };

log { source(src); filter(f_auth); destination(auth); };

Настройка доменной аутентификации для SSH

1. Изменить ssh.conf. Необходимо добавить (или раскомментировать) следующие строчки:
    ForwardX11Trusted yes
    Protocol 2
    SendEnv LC_IDENTIFICATION LC_ALL
    GSSAPIAuthentication on
    GSSAPIDelegateCredentials no

2. Изменить sshd.conf. Необходимо добавить следующие строчки
    Protocol 2
    PasswordAuthentication no
    KerberosAuthentication yes
    KerberosOrLocalPasswd yes
    KerberosTicketCleanup yes
    GSSAPIAuthentication yes
    GSSAPICleanupCredentials yes
    UsePAM yes
    X11Forwarding yes
    AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
    AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
    AcceptEnv LC_IDENTIFICATION LC_ALL
    AllowTcpForwarding yes
    Compression yes
    MaxAuthTries 6
    PermitRootLogin yes
    PrintMotd yes
    PubkeyAuthentication yes
    RSAAuthentication no

3. Настроить pam-модуль /etc/pam.d/sshd. Привести данный файл к следующему виду
# аутентификация акуанта через winbind
auth    sufficient     pam_winbind.so       krb5_auth
auth    sufficient     pam_opie.so          no_fake_prompts
auth    requisite      pam_opieaccess.so    allow_local
auth    required       pam_unix.so          try_first_pass

# проверка доступности акуанта
account   sufficient   pam_winbind.so
account   required     pam_login_access.so
account   required     pam_unix.so

# создание home
session    required    pam_mkhomedir.so skel=/usr/share/skel
session    required    pam_permit.so
password   required    pam_unix.so           try_first_pass

Ввод SUSE в домен Windows

1. Должны быть установлены следующие пакеты: krb5_client, pam_krb5, samba_winbind, samba_client, samba.

2. В файл hosts добавить ip-адреса контроллеров домена, свой ip-адрес.

3. Дать полные права группе в которую включены доменные пользователи (или группе "другие пользователи") или самим пользователям на папку /home/%domain_name (при отсутствии папки, создать её). Необходимо для возможности создания домашней папки пользователя.

4. Настроить сервер samba, для чего изменить smb.conf. Пример smb.conf

[global]
      workgroup = %имя_домена
      idmap gid = 10000-20000
      idmap uid = 10000-20000
      auth methods = winbind
      printing = cups
      printcap name = cups
      printcap cache time = 750
      cups options = raw
      map to guest = Bad User
      include = /etc/samba/dhcp.conf
      logon path = \\%L\profiles\.msprofile
      logon home = \\%L\%U\.9xprofile
      logon drive = P:
      usershare allow guests = Yes
      add machine script = /usr/sbin/useradd  -c Machine -d /var/lib/nobody -s /bin/false %m$
      domain logons = No
      domain master = No
      security = ADS
      encrypt passwords = yes
      wins support = No
      usershare max shares = 100
      realm = UTB.UDM.RU
      template homedir = /home/%D/%U
      winbind refresh tickets = yes
      winbind uid = 10000-20000
      winbind gid = 10000-20000
      winbind enum groups = yes
      winbind enum users = yes
      template shell = /bin/bash
[homes]
      comment = Home Directories
      valid users = %S, %D%w%S
      browseable = No
      read only = No
      inherit acls = Yes
[profiles]
      comment = Network Profiles Service
      path = %H
      read only = No
      store dos attributes = Yes
      create mask = 0600
      directory mask = 0700
[users]
      comment = All users
      path = /home
      read only = No
      inherit acls = Yes
      veto files = /aquota.user/groups/shares/
      admin users = UTB\riv UTB\alexmin
[groups]
     comment = All groups
     path = /home/groups
     read only = No
     inherit acls = Yes
[printers]
     comment = All Printers
     path = /var/tmp
     printable = Yes
     create mask = 0600
     browseable = No
[print$]
     comment = Printer Drivers
     path = /var/lib/samba/drivers
     write list = @ntadmin root
     force group = ntadmin
     create mask = 0664
     directory mask = 0775

5. Сконцентрировать порядок выбора службы имён, для чего изменить nsswitch.conf. Пример:

passwd:     files winbind
shadow:     files winbind
group:      files winbind

hosts:      files dns wins
networks:   files dns

services:   files
protocols:  files
rpc:  files
ethers:     files
netmasks:   files
netgroup:   files nis
publickey:  files

bootparams: files
automount:  files nis
aliases:    files

6. Включить в домен используя графический интерфейс SUSE (YAST2 -> Принадлежность к домену). Установить галочку на использование SMB для аутентификации.

7. Перезагрузить компьютер.

8. Войти под доменным администратором, например: %domain_name\%domain_user. Пусть даже если в качестве входа будет указан "Локальный вход", а не домен.

9. Изменить krb5.conf в котором в качестве kerberos-сервера указать контроллер домена.

[libdefaults]
      ticket_lifetime = 24000
      default_realm = %имя_домена
      dns_lookup_realm = false
      dns_lookup_kds = false
      clockskew = 300
#     default_realm = EXAMPLE.COM

[realms]
%имя_домена = {
      kdc = %ip_или_имя_контролера_домена
      default_domain =
%имя_домена
      admin_server = %ip_или_имя_контролера_домена
}
[logging]
      kdc = FILE:/var/log/krb5/krb5kdc.log
      admin_server = FILE:/var/log/krb5/kadmind.log
      default = SYSLOG:NOTICE:DAEMON
[domain_realm]
      .
%имя_домена = %имя_домена      
[appdefaults]
pam = {
      debug = false
      ticket_lifetime = 1d
      renew_lifetime = 1d
      forwardable = true
      proxiable = false
      retain_after_close = false
      minimum_uid = 1
      clockskew = 300
      external = sshd
     
use_shmem = sshd
}

10. Перезагрузить компьютер.

11. Зайти под доменным пользователем при этом вход должен производится в домен, а не "Локальный вход".