Инструменты пользователя

Инструменты сайта


service:nfs

Общий каталог NFS

NFS - network file system (сетевая файловая система).

Концепция - создаётся каталог на линукс-сервере и спецпользователь с одноимённой группой без права локального входа, от имени которого ведётся работа с этим каталогом, в эту группу можно включать других пользователей.

/etc/hosts.allow и /etc/hosts.deny - списки хостов, которым разрешено или запрещено подключаться к серверу.

/etc/exports — конфигурационный файл NFS. Формат записей:

# <папка на NFS сервере> <ip или подсеть клиента>(<права на файлы>,<sync - сервер не отвечает на запросы, пока файл не будет записан на диск>)
/srv/data 192.168.1.145(rw) 192.168.10.0/255.255.255.0(ro)

:!: Опции нужно писать без пробелов с адресами клиентов - 192.168.1.0/24(rw,sync). Если отделить пробелом, тогда получится так - для адреса/диапазона будут права по умолчанию, а для всех остальных - права заданные.

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/5/html/deployment_guide/s1-nfs-server-config-exports

На сервере

# Установить утилиты nfs
apt install nfs-common
# Создать пользователя nfs без интерактивного входа
useradd  -s /usr/sbin/nologin nfs
# Создать папку и раздать права
mkdir /var/nfs-share
chown -R nfs:nfs /var/nfs-share/
chmod -R 770 /var/nfs-share/
# Включить юзера в группу nfs
usermod -G nfs user
# Как посмотреть ID и группы пользователя
id user
# Проверить права на папку
ls -ld /var/nfs-share/
# Установить поддержку NFS
apt-get install nfs-kernel-server nfs-common
# внести каталог в конфиг, прописать ID пользователя и группы, которые будут работать с каталогом.
# Вместо IP и маски можно поставить *, если не нужно ограничений на подключения
nano /etc/exports
/var/nfs-share 192.168.1.0/24(rw,sync,no_subtree_check,anonuid=1001,anongid=1001)
# Применить настройки
exportfs -a
# или
systemctl restart nfs-kernel-server

Пример

mkdir -p /exports/documents /exports/backup
apt install -y nfs-server # or nfs-kernel-server
# Внести в /etc/exports (no_subtree_check - настройка по умолчанию, без неё выдаётся предупреждение при применении настроек)
/exports/documents    192.168.1.0/24(rw,no_subtree_check)
/exports/backup       192.168.1.0/24(rw,no_subtree_check)
# Применить настройки
exportfs -a

Linux-клиент

# Установка утилит nfs
apt install nfs-common
# Проверить доступность шар на сервере (нужен именно IP, имя не работает)
showmount -e 192.168.1.101
# Создать каталоги для монтирования NFS-шар
sudo mkdir -p /mnt/nfs/documents /mnt/nfs/backup
# Разовое монтирование (работает до перезагрузки)
sudo mount -t nfs4 192.168.1.101:/exports/backup /mnt/nfs/backup
# Отмонтировать 
sudo umount /mnt/nfs/backup
# Чтобы действовало постоянно - отредактировать /etc/fstab
nano /etc/fstab
192.168.1.101:/exports/backup /mnt/nfs/backup  nfs4 auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0

С /etc/fstab есть нюансы, такая конфигурация не переносит гибернацию, см. https://help.ubuntu.ru/wiki/nfs

https://www.tecmint.com/how-to-setup-nfs-server-in-linux/

AutoFS

Автомонтирование сетевых ФС по требованию.

В отличие от ручного монтирования или через /etc/fstab конечные каталоги на клиенте создаваться не должны, AutoFS возьмёт это на себя.
Т. е., для монтирования 192.168.1.101:/exports/backup на клиенте нужно не /mnt/nfs/backup, а только /mnt/nfs как корневой каталог для Autofs.

apt install -y autofs
# Основной файл конфигурации - /etc/auto.master
#  --ghost - создавать каталоги, --timeout - через сколько сек. отмонтировать при отсутствии активности
/mnt/nfs /etc/auto.nfs --ghost --timeout=60
# /etc/auto.nfs
documents -fstype=nfs4,rw 192.168.1.101:/exports/documents
backup -fstype=nfs4,rw 192.168.1.101:/exports/backup

Windows-клиент

Поставить из доп. компонентов «службы для NFS», затем внести в реестр значения соответствия анонимного пользователя тем ID, которые заведены для доступа к общему каталогу в линуксе. Если реестр не править, то доступ к папке будет, но только на чтение.

reg add HKLM\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default /v AnonymousUid /t REG_DWORD /d 1001 /f
reg add HKLM\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default /v AnonymousGid /t REG_DWORD /d 1001 /f
# перезапустить сервис для применения настроек
Restart-service nfsclnt

Дальше можно подключать каталог как сетевое расположение или сетевой диск:
\\<remote_pc_address>\var\nfs-share

https://blog.it-kb.ru/2018/10/16/using-the-nfs-client-in-windows-10-professional-edition/

service/nfs.txt · Последнее изменение: 30.07.2024 19:21 — 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki