====== Общий каталог NFS ====== NFS - network file system (сетевая файловая система). Концепция - создаётся каталог на линукс-сервере и спецпользователь с одноимённой группой без права локального входа, от имени которого ведётся работа с этим каталогом, в эту группу можно включать других пользователей. ''/etc/hosts.allow'' и ''/etc/hosts.deny'' - списки хостов, которым разрешено или запрещено подключаться к серверу. ''/etc/exports'' — конфигурационный файл NFS. Формат записей: # <папка на NFS сервере> (<права на файлы>,) /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 Дальше можно подключать каталог как сетевое расположение или сетевой диск:\\ ''\\\var\nfs-share'' https://blog.it-kb.ru/2018/10/16/using-the-nfs-client-in-windows-10-professional-edition/