Школьный сервер LDAP + Kerberos + NFS: различия между версиями

Материал из IT в школе
Перейти к навигацииПерейти к поиску
нет описания правки
Строка 1: Строка 1:




<big>'''Это черновик статьи, он используется для хранения рабочих заметок, а не для разворачивания полноценного решения!'''</big>
<big>'''Это черновик статьи, он используется для хранения рабочих заметок, а не для разворачивания полноценного решения!'''</big>
При установке на реальное железо нужно проверить, что SELINUX отключён.


==Введение==
==Введение==
Строка 458: Строка 461:
systemctl enable --now nfs-server  
systemctl enable --now nfs-server  
systemctl enable --now rpcbind
systemctl enable --now rpcbind
systemctl enable --now gssproxy
</syntaxhighlight>Создадим ключи Kerberos на сервере.


От имени пользователя root нужно запустить команду<syntaxhighlight lang="bash">
kadmin.local
</syntaxhighlight>В приложении kadmin.local нужно ввести команды.<syntaxhighlight lang="bash">
addprinc -randkey nfs/server.sch179.local
ktadd -k /etc/krb5.keytab nfs/server.sch179.local
quit
</syntaxhighlight>Проверим, что ключи были созданы, для этого введите команду от root<syntaxhighlight lang="bash">
klist -k /etc/krb5.keytab
</syntaxhighlight>Вывод будет таким.<syntaxhighlight>
Keytab name: FILE:/etc/krb5.keytab
KVNO Principal
---- --------------------------------------------------------------------------
  2 nfs/server.sch179.local@SCH179.LOCAL
  2 nfs/server.sch179.local@SCH179.LOCAL
</syntaxhighlight>'''Созданный в результате файл /etc/krb5.keytab необходимо будет скопировать на каждый клиентский компьютер - иначе kerberos будет отказываться устанавливать соединение с этим компьютером.'''
Теперь настроим экспорт файловой системы /home сервера по сети. Для этого в файле /etc/exports напишем строку<syntaxhighlight>
/home 192.168.0.0/16(rw,sec=krb5p,sync,no_subtree_check)
</syntaxhighlight>192.168.0.0/16 - сеть, из которой разрешён доступ (можете поменять)
krb5p - уровень безопасности Kerberos, означающий полное шифрование всех передаваемых данных. Это наиболее безопасно и даёт дополнительную нагрузку на процессор. Для уменьшения нагрузки можно использовать варианты без шифрования (но тогда возможен перехват данных): krb5 (только авторизация) или krb5i (проверка контрольных сумм данных для защиты от подмены).
Примените изменения командой<syntaxhighlight lang="bash">
exportfs -ra
</syntaxhighlight>Проверьте, что система экспортируется, выполнив команду <syntaxhighlight lang="bash">
exportfs -v
</syntaxhighlight>
</syntaxhighlight>
== Установка NFS на клиенте ==
Установите нужные пакеты.<syntaxhighlight lang="bash">
dnf install nfs-utils krb5-workstation
</syntaxhighlight>'''Скопируйте файл с ключами /etc/krb5.keytab с сервера на клиентскую машину. Установите владельца root:root и права доступа 600 на этот файл.'''
Запустите нужные службы.<syntaxhighlight lang="bash">
systemctl enable --now nfs-client.target
systemctl enable --now gssproxy
</syntaxhighlight>Теперь попробуем подмонтировать каталог /home с сервера. Это тестовая процедура, чтобы убедиться в том, что связка NFS + Kerberos настроена правильно.
Выполняйте все последующие действия под пользователем root.
Монтирование разделов при помощи NFS+Kerberos требует, чтобы у пользователя был действующий билет Kerberos. Этот билет нужно получить командой (выполним её от root)<syntaxhighlight lang="bash">
kinit dk
</syntaxhighlight>Понадобится ввести пароль пользователя dk. Убедитесь, что билет получен, введя команду <syntaxhighlight lang="bash">
klist
</syntaxhighlight>Имея билет, можно выполнить команду монтирования. Создайте на компьютере точку для монтирования, например, /root/home. Затем дайте команду.<syntaxhighlight lang="bash">
mount -t nfs -o sec=krb5p server.sch179.local:/home /root/home
</syntaxhighlight>Эта команда подмонтирует раздел /home с сервера в каталог /root/home на клиенте.

Навигация