NFS сервер с Kerberos авторизацией: различия между версиями
Дым (обсуждение | вклад) |
Дым (обсуждение | вклад) |
||
Строка 34: | Строка 34: | ||
</source> | </source> | ||
Создать шару для раздачи: | Создать шару для раздачи: | ||
# mkdir -p /exports/test_share/testdir | |||
# chgrp 'Domain Users' /exports/test_share/ | |||
# chmod g+w /exports/test_share/ | |||
Описать её в /etc/exports: | Описать её в /etc/exports: | ||
/exports/test_share *(rw,sync,no_subtree_check,sec=krb5:krb5i:krb5p) | |||
И экспортировать: | И экспортировать: | ||
# exportfs -vra | |||
exporting *:/exports/test_share | |||
Создать сервисную запись | Создать сервисную запись: | ||
# kinit administrator@TEST.ALT | |||
# adcli update --service-name=nfs | |||
Перезапустить сервер nfs: | |||
# systemctl restart nfs-server | |||
==Настройка клиента== | ==Настройка клиента== | ||
# systemctl enable --now nfs-client.target | |||
# mkdir /mnt/nfs | |||
# mount.nfs4 -vvv -o sec=krb5:krb5i:krb5p,rw nfs-server.test.alt://exports/test_share /mnt/nfs/ | |||
Проверить от доменного пользователя: | Проверить от доменного пользователя: | ||
domainuser1@alt-p10-wks / $ touch /mnt/nfs/testdir/myfile | |||
domainuser1@alt-p10-wks / $ ll /mnt/nfs/testdir/myfile | |||
-rw-r--r-- 1 domainuser1 domain users 0 сен 15 17:26 /mnt/nfs/testdir/myfile | |||
=Домен на базе FreeIPA= | =Домен на базе FreeIPA= |
Версия от 06:55, 1 октября 2023
Домен на базе Samba DC
Исходные данные стенда
- Домен test.alt (АльтСервер 10.1, dc.test.alt)
- NFS сервер (Альт Сервер 10.1, nfs-server.test.alt) - включен в домен
- NFS клиент (Альт Рабочая станция 10.1, nfs-client.test.alt) - включен в домен
Настройка сервера
Установить пакет: # apt-get install nfs-server
Включить автозапуск сервиса: # systemctl enable --now nfs-server
В файле /etc/idmapd.conf определить домен (realm) и методы (GSS-Methods):
[General]
Domain = test.alt
Local-Realms = TEST.ALT
[Translation]
Method = nsswitch,static
GSS-Methods = nsswitch,static
В /etc/nfs.conf можно запретить все версии кроме 4:
[nfsd]
vers2=n
vers3=n
vers4=y
vers4.0=y
vers4.1=y
vers4.2=y
Создать шару для раздачи:
# mkdir -p /exports/test_share/testdir # chgrp 'Domain Users' /exports/test_share/ # chmod g+w /exports/test_share/
Описать её в /etc/exports:
/exports/test_share *(rw,sync,no_subtree_check,sec=krb5:krb5i:krb5p)
И экспортировать:
# exportfs -vra exporting *:/exports/test_share
Создать сервисную запись:
# kinit administrator@TEST.ALT # adcli update --service-name=nfs
Перезапустить сервер nfs:
# systemctl restart nfs-server
Настройка клиента
# systemctl enable --now nfs-client.target # mkdir /mnt/nfs # mount.nfs4 -vvv -o sec=krb5:krb5i:krb5p,rw nfs-server.test.alt://exports/test_share /mnt/nfs/
Проверить от доменного пользователя:
domainuser1@alt-p10-wks / $ touch /mnt/nfs/testdir/myfile domainuser1@alt-p10-wks / $ ll /mnt/nfs/testdir/myfile -rw-r--r-- 1 domainuser1 domain users 0 сен 15 17:26 /mnt/nfs/testdir/myfile
Домен на базе FreeIPA
Установить на введенном в домен сервере сервис nfs: # apt-get install nfs-server Включить SECURE_NFS: {{{1}}} Включить автозапуск сервиса: # systemctl enable --now nfs-server
На DC FreeIPA
Добавить сервис, где имя нашего nfs-сервера — nfs.example.test:
# kinit admin # ipa service-add nfs/nfs.example.test
Создать пользователя и группу для доступа к nfs:
# echo 1 | ipa user-add test01 --first test --last 01 --password # ipa group-add nfs_users --desc="NFS users" # ipa group-add-member nfs_users --users=test01
На сервере NFS
Сгенерировать таблицу ключей службы и сохранить в keytab:
# kinit admin # ipa-getkeytab -s ipaserver.example.test -p nfs/nfs.example.test -k /etc/krb5.keytab # klist -ket /etc/krb5.keytab
Создать каталог с групповыми правами на запись:
# install -g nfs_users -m 774 -d /exports/test_share/testdir
Добавить список экспорта:
# echo '/exports/test_share *(rw,no_subtree_check,sec=krb5:krb5i:krb5p)' >>/etc/exports # exportfs -vra
Применить изменения:
# systemctl restart nfs-server
На введённом в домен клиенте
Включить автозагрузку клиента nfs:
# systemctl enable --now nfs-client.target
Проверить доступность ресурса:
# showmount -e nfs.example.test
Создать и смонтировать каталог nfs:
# mkdir /mnt/test_share # mount -o sec=krb5:krb5i:krb5p,rw nfs.example.test://exports/test_share /mnt/test_share
Добавить его в fstab:
# cat >> /etc/fstab << EOF nfs.example.test:/exports/test_share /mnt/test_share nfs rw,sec=krb5:krb5i:krb5p,nolock 1 0 EOF
Зайти доменным пользователем в систему и проверить возможность чтения/записи в каталог testdir.