NFS start: различия между версиями

Материал из ALT Linux Wiki
 
(не показано 13 промежуточных версий этого же участника)
Строка 1: Строка 1:
{{merge|NFS}}
{{Note|Обратите внимание, что это не официальная документация, а попытка начинающего админа объяснить материал начинающим админам.}}
'''Network File System''' (NFS) — протокол сетевого доступа к файловым системам, первоначально разработан Sun Microsystems в 1984 году. Позволяет монтировать (подключать) удалённые файловые системы через сеть.  
'''Network File System''' (NFS) — протокол сетевого доступа к файловым системам, первоначально разработан Sun Microsystems в 1984 году. Позволяет монтировать (подключать) удалённые файловые системы через сеть.  


==Настройка сервера==
==Настройка сервера==
{{Note|В примере у нас адрес сервера 10.0.2.6, адрес сети 10.0.2.0}}
Установка сервера:
Установка сервера:
  # apt-get install nfs-server
  # apt-get install nfs-server
Строка 14: Строка 17:
#:<pre># mcedit /etc/exports</pre>
#:<pre># mcedit /etc/exports</pre>
#В файле /etc/exports следует указать экспортируемые каталоги (каталоги, которые будет разрешено монтировать с других машин) и IP, с которых будет доступ:
#В файле /etc/exports следует указать экспортируемые каталоги (каталоги, которые будет разрешено монтировать с других машин) и IP, с которых будет доступ:
#:<pre>/home/share 192.168.2.0/24(rw)</pre>{{Note|Между адресом и скобками с параметрами не должно быть пробела}}#: - /home/share - каталог для общего доступа
#:<pre>/home/share 10.0.2.0/24(rw,subtree_check)</pre>{{Note|Между адресом и скобками с параметрами не должно быть пробела}}#: - '''/home/share''' - каталог для общего доступа
#: - 192.168.2.0/24 - адрес сети, для которой разрешен доступ
#: - '''10.0.2.0/24''' - адрес сети, для которой разрешен доступ
#: - (rw) - параметры доступа
#: - '''(rw)''' - параметры доступа
#После внесения изменений в файл /etc/exports, для применения параметров, необходимо выполнить следующую команду:
#: - без '''subtree_check'''/'''no_subtree_check''' доступа не будет
#:<pre># exportfs –r</pre>
#После внесения изменений в файл /etc/exports, для применения параметров, необходимо перезапустить сервер:
#:<pre># systemctl restart nfs.service</pre>
#Проверить список экспортируемых файловых систем можно, выполнив команду:
#Проверить список экспортируемых файловых систем можно, выполнив команду:
#:<pre># exportfs</pre>
#:<pre># exportfs</pre>
#:Вывод:
#:Вывод:
#:<pre>/home/share 192.168.2.0/24</pre>
#:<pre>/home/share 10.0.2.0/24</pre>


===Параметры доступа===
===Параметры доступа===
В скобках можно указать следующие параметры:
В скобках можно указать следующие параметры:
*rw - разрешить чтение и запись в этой папке;
*'''rw''' - разрешить чтение и запись в этой папке;
**ro - разрешить только чтение;
**'''ro''' - разрешить только чтение;
*sync - отвечать на следующие запросы только тогда, когда данные будут сохранены на диск (по умолчанию);
*'''sync''' - отвечать на следующие запросы только тогда, когда данные будут сохранены на диск (по умолчанию);
**async - не блокировать подключения пока данные записываются на диск;
**'''async''' - не блокировать подключения пока данные записываются на диск;
*secure - использовать для соединения только порты ниже 1024;
*'''secure''' - использовать для соединения только порты ниже 1024;
**insecure - использовать любые порты;
**'''insecure''' - использовать любые порты;
*nohide - не скрывать поддиректории при открытии доступа к нескольким директориям;
*'''nohide''' - не скрывать поддиректории при открытии доступа к нескольким директориям;
*root_squash - подменять запросы от root на анонимные, используется по умолчанию;
*'''root_squash''' - подменять запросы от root на анонимные, используется по умолчанию;
**no_root_squash - не подменять запросы от root на анонимные;
**'''no_root_squash''' - не подменять запросы от root на анонимные;
**all_squash - превращать все запросы в анонимные;
**'''all_squash''' - превращать все запросы в анонимные;
*subtree_check - проверять не пытается ли пользователь выйти за пределы экспортированной папки;
*'''subtree_check''' - проверять не пытается ли пользователь выйти за пределы экспортированной папки;
**no_subtree_check - отключить проверку обращения к экспортированной папке, улучшает производительность, но снижает безопасность, можно использовать когда экспортируется раздел диска;
**'''no_subtree_check''' - отключить проверку обращения к экспортированной папке, улучшает производительность, но снижает безопасность, можно использовать когда экспортируется раздел диска;


===Команды exportfs===
===Команды exportfs===
  # exportfs -u 192.168.2.0/24:/home/share - удаляет из экспорта все или указанные каталоги
  # exportfs -u 10.0.2.0/24:/home/share - удаляет из файла конфигурации все или указанные каталоги
  # exportfs -a - экспорт или отзыв каталогов из экспорта, в зависимости от остальных опций
  # exportfs -a - экспорт или отзыв каталогов из экспорта, в зависимости от указанных опций
  # exportfs -r - вызов всех каталогов из /etc/exports
  # exportfs -r - применение параметров после изменения файла конфигурации
  # exportfs -i - игнорирует /etc/exports и использует только опции командной строки
  # exportfs -i - игнорирование /etc/exports и использование только опций командной строки
  # exportfs -o - отзывает из экспорта все предоставленные в общий доступ каталоги
  # exportfs -o - отзыв из экспорта всех предоставленных в общий доступ каталогов
  # exportfs -v - детальный вывод информации
  # exportfs -v - детальный вывод информации


==Подключение клиента==
==Подключение клиента==
===Консоль===
===Консоль===
Для того, чтобы смонтировать NFS-каталог в консоли, выполните следующую команду:
Для того, чтобы смонтировать NFS-каталог в консоли, нужно создать каталог, куда будет монтироваться папка, и выполнить следующую команду:
  $ su -
  $ su -
  # mount 10.0.2.6/home/share /mnt
# mkdir /mnt/share
  # mount 10.0.2.6:/home/share /mnt/share


===Fstab===
===Fstab===
Строка 61: Строка 66:
  10.0.2.6:/home/share /mnt/Share nfs rw 0 0
  10.0.2.6:/home/share /mnt/Share nfs rw 0 0
И сохраняем файл.
И сохраняем файл.
{{Category navigation|title=Начинающему системному администратору|category=Начинающему системному администратору|sortkey={{SUBPAGENAME}}}}

Текущая версия от 19:11, 18 мая 2024

Merge-arrow.svg
Необходимо перенести содержимое этой статьи в статью NFS
Вы можете помочь проекту, объединив их.


Примечание: Обратите внимание, что это не официальная документация, а попытка начинающего админа объяснить материал начинающим админам.

Network File System (NFS) — протокол сетевого доступа к файловым системам, первоначально разработан Sun Microsystems в 1984 году. Позволяет монтировать (подключать) удалённые файловые системы через сеть.

Настройка сервера

Примечание: В примере у нас адрес сервера 10.0.2.6, адрес сети 10.0.2.0

Установка сервера:

# apt-get install nfs-server

Запуск службы:

# systemctl enable --now nfs

Настройка подключаемых каталогов:

  1. Первым делом, нужно создать каталог, который мы хотим расшарить:
    # mkdir /home/share
  2. После этого нужно отредактировать файл /etc/exports, в котором хранятся настройки каталогов NFS.
    # mcedit /etc/exports
  3. В файле /etc/exports следует указать экспортируемые каталоги (каталоги, которые будет разрешено монтировать с других машин) и IP, с которых будет доступ:
    /home/share 10.0.2.0/24(rw,subtree_check)
    Примечание: Между адресом и скобками с параметрами не должно быть пробела
    - /home/share - каталог для общего доступа
    - 10.0.2.0/24 - адрес сети, для которой разрешен доступ
    - (rw) - параметры доступа
    - без subtree_check/no_subtree_check доступа не будет
  4. После внесения изменений в файл /etc/exports, для применения параметров, необходимо перезапустить сервер:
    # systemctl restart nfs.service
  5. Проверить список экспортируемых файловых систем можно, выполнив команду:
    # exportfs
    Вывод:
    /home/share 10.0.2.0/24

Параметры доступа

В скобках можно указать следующие параметры:

  • rw - разрешить чтение и запись в этой папке;
    • ro - разрешить только чтение;
  • sync - отвечать на следующие запросы только тогда, когда данные будут сохранены на диск (по умолчанию);
    • async - не блокировать подключения пока данные записываются на диск;
  • secure - использовать для соединения только порты ниже 1024;
    • insecure - использовать любые порты;
  • nohide - не скрывать поддиректории при открытии доступа к нескольким директориям;
  • root_squash - подменять запросы от root на анонимные, используется по умолчанию;
    • no_root_squash - не подменять запросы от root на анонимные;
    • all_squash - превращать все запросы в анонимные;
  • subtree_check - проверять не пытается ли пользователь выйти за пределы экспортированной папки;
    • no_subtree_check - отключить проверку обращения к экспортированной папке, улучшает производительность, но снижает безопасность, можно использовать когда экспортируется раздел диска;

Команды exportfs

# exportfs -u 10.0.2.0/24:/home/share - удаляет из файла конфигурации все или указанные каталоги
# exportfs -a - экспорт или отзыв каталогов из экспорта, в зависимости от указанных опций
# exportfs -r - применение параметров после изменения файла конфигурации
# exportfs -i - игнорирование /etc/exports и использование только опций командной строки
# exportfs -o - отзыв из экспорта всех предоставленных в общий доступ каталогов
# exportfs -v - детальный вывод информации

Подключение клиента

Консоль

Для того, чтобы смонтировать NFS-каталог в консоли, нужно создать каталог, куда будет монтироваться папка, и выполнить следующую команду:

$ su -
# mkdir /mnt/share
# mount 10.0.2.6:/home/share /mnt/share

Fstab

Для монтирования через Fstab нужно создать каталог, куда будет монтироваться папка, и отредактировать соответствующий файл:

$ su -
# mkdir /mnt/Share
# mcedit /etc/fstab

Вставляем следующую строчку:

10.0.2.6:/home/share /mnt/Share nfs rw 0 0

И сохраняем файл.