ActiveDirectory/FileShare

Материал из ALT Linux Wiki

Доменный файловый сервер

Примечание: HOST SPN, например Host/ws1, включает CIFS SPN, поэтому не нужно отдельно создавать CIFS SPN — cifs/ws1.


1. Вводим компьютер в домен, как написано в ActiveDirectory/Login.

2. Создаём SPN на контроллере домена (см. Создание SPN и Keytab файла).

# samba-tool spn add cifs/ws1 petrov

где:

petrov
имя доменного пользователя
cifs
тип службы
ws1
имя хоста

3. Экспортируем в keytab на контроллере домена:

# samba-tool domain exportkeytab ws1.keytab --principal=cifs/ws1
# klist -ke ws1.keytab
Keytab name: FILE:ws1.keytab
KVNO Principal
---- --------------------------------------------------------------------------
   2 cifs/ws1@TEST.ALTLINUX (arcfour-hmac) 
   2 cifs/ws1@TEST.ALTLINUX (des-cbc-md5) 
   2 cifs/ws1@TEST.ALTLINUX (des-cbc-crc)

4. Передаём ws1.keytab на хост ws1.

5. Включаем ws1.keytab в системный /etc/krb5.keytab на хосте ws1.

5.1 Устанавливаем пакет krb5-kadmin.

5.2 Запускаем ktutil из пакета krb5-kadmin:

# ktutil
ktutil:  rkt /etc/krb5.keytab
ktutil:  rkt ws1.keytab
ktutil:  wkt /etc/krb5.keytab
ktutil:  quit

5.3 Проверяем, что службы включены в системный keytab:

# klist -ke /etc/krb5.keytab | grep cifs/
   2 cifs/ws1@TEST.ALTLINUX (arcfour-hmac) 
   2 cifs/ws1@TEST.ALTLINUX (des-cbc-md5) 
   2 cifs/ws1@TEST.ALTLINUX (des-cbc-crc)

6. Перезапускаем smb:

# service smb restart

7. Проверяем доступность службы с аутентификацией по Kerberos:

Примечание: В настоящее время, в команде smbclient вместо опции -k, необходимо использовать --use-kerberos. Например:
$ smbclient --use-kerberos=required -L ws1


# kinit petrov
Password for petrov@TEST.ALTLINUX: 
# klist
Ticket cache: KEYRING:persistent:0:0
Default principal: petrov@TEST.ALTLINUX

Valid starting       Expires              Service principal
25.09.2017 13:24:33  25.09.2017 23:24:33  krbtgt/TEST.ALTLINUX@TEST.ALTLINUX
        renew until 02.10.2017 13:24:27
# smbclient -k -L ws1
OS=[Windows 6.1] Server=[Samba 4.6.7]

        Sharename       Type      Comment
        ---------       ----      -------
        public          Disk      Public
        IPC$            IPC       IPC Service (Samba 4.6.7)
        Cups-PDF        Printer   Cups-PDF
        petrov          Disk      Home Directories
OS=[Windows 6.1] Server=[Samba 4.6.7]

        Server               Comment
        ---------            -------

        Workgroup            Master
        ---------            -------
        TEST                 WS1
# klist
Ticket cache: KEYRING:persistent:0:0
Default principal: petrov@TEST.ALTLINUX

Valid starting       Expires              Service principal
25.09.2017 13:24:55  25.09.2017 23:24:33  cifs/ws1@TEST.ALTLINUX
        renew until 02.10.2017 13:24:27
25.09.2017 13:24:33  25.09.2017 23:24:33  krbtgt/TEST.ALTLINUX@TEST.ALTLINUX
        renew until 02.10.2017 13:24:27
# kdestroy 
# smbclient -k -L ws1
SPNEGO: Could not find a suitable mechtype in NEG_TOKEN_INIT
session setup failed: NT_STATUS_INTERNAL_ERROR