Иллюстрированный самоучитель по Linux

Совместное использование каталогов в сети

Прежде чем другие пользователи смогут получить доступ к вашим файлам/каталогам, вы должны сделать эти каталоги доступными для совместного использования в сети. Экспорт каталогов с NFS предполагает использование двух демонов, /usr/sbin/rpc.nfsd и /usr/sbin/rpc.mountd, и одного файла конфигурации /etc/exports. Файлы rpc.mountd и rрс .nfsd устанавливаются на большинстве систем. Если эти файлы отсутствуют, установите их из RPM-файла nf s-utils-0.3.1-5.1386 .rpm прилагаемого компакт-диска.

NFS и брандмауэры

Если в ходе установки Red Hat Linux 7.1 вы установили брандмауэр по умолчанию, он заблокирует совместное использование каталогов в NFS. Если ваш компьютер входит в локальную сеть и не имеет выходов в другие сети, можно отключить брандмауэр на нем. Брандмауэр действительно необходим только на компьютере, имеющем выход во внешние сети (например, на компьютере, играющем роль шлюза).

Большинство брандмауэров Linux отключается либо командой /etc/re, d/init.d/ipchains stop либо командой /etc/re.d/init .d/iptables stop. Но такое отключение действует только до следующей перезагрузки. Совсем отключить брандмауэр можно с помощью меню ntsysv. Выполните команду /usr/sbin/ntsysv. Как только возникнет меню Services (Сервисы), сбросьте флажки сервисов ipchains и iptables, как показано на следующей иллюстрации.

Если каталог, который вы хотите разрешить для совместного использования, расположен На компьютере-шлюзе, подключенном к вашему компьютеру и Интернету, то брандмауэр необходим. Даже работая с брандмауэром, лучше не использовать NFS из соображений безопасности. Но если вам все-таки необходимо использовать NFS для предоставления доступа к каталогам на компьютере-шлюзе, воспользуйтесь утилитой конфигурирования брандмауэра, описанной в гл. 31, чтобы открыть порты 111 и 2049. Таким образом будут открыты каналы, необходимые для Network File System.

Первый шаг к совместному использованию каталога в сети – редактирование файла /etc/ exports в текстовом редакторе и добавление по одной записи для каждого каталога, который вы планируете использовать совместно. Запись должна быть следующей.

/каталог хост (параметры)

Ниже приведен пример типичного файла /etc/exports.

# sample /etc/exports file
/ master(rw) .trusty(rw,no_root_squash)
/projects proj* .local..domain (rw)
/usr *.local.domain(ro)
/home/joe pcOOl(rw,all_squash,anonuid=150,anongid=100)
/pub (ro,insecure,all_sguash)
/pub/private (noaccess)

Рассмотрим этот файл построчно.

Строка 1. Строка комментариев, обозначенная знаком диеза (#), игнорируется.

Строка 2. Двум компьютерам даны различные уровни доступа к каталогу /: master – с правом чтения и записи (опция rw), trusty – с правом чтения и записи и правом полного доступа ко всем файлам и подкаталогам для пользователя root (опция no_root_squash). Пользователь root компьютера trusty имеет те же права, что и пользователь root локальной системы.

Строка 3. Любому хост-компьютеру, имя которого начинается с символов proj и который является частью домена local .domain, предоставляются права чтения и записи в каталоге /projects.

Строка 4. Любому хост-компьютеру в домене local .domain предоставляется право на чтение (опция го) каталога /usr.

Строка 5. Хост-компьютер рс 0 01 получает права на чтение и запись в каталог / home / j oe. Все пользователи, использующие эту точку монтирования с компьютера pc001, считаются анонимными пользователями (опция all_squash) с ID пользователя 150 и ID группы 150 (опции anonuid=150 и anongid=150).

Строка 6. Всем хост-компьютерам предоставлено право доступа к каталогу /pub. Все пользователи считаются анонимными и получают право чтения. Опция insecure позволяет клиентам, которые не используют зарезервированный порт ТСР/IР для NFS, осуществлять доступ к этой точке монтирования.

Строка 7. Всем хост-компьютерам запрещен доступ к каталогу /pub/private (опция noaccess).

С другими опциями для файла /etc/exports можно ознакомиться в руководстве, используя команду:

$ man exports

Если каталог для экспорта определен как /etc/exports, необходимо перезапустить процессы rpc .nf sd и rpc .mountd (обычно они выполняются во время начальной загрузки). Сначала используется команда ps для проверки ID каждого процесса.

$ ре aux | grep rpc.nfsd
root 15-03 0.2 0.8 872 508? S 22:25 0:00 /usr/sbin/rpc.nfsd
$ ps aux | grep rpc.mountd
root 1105 0 0.7 836 500? S 22:25 0:00 /usr/sbin/rpc.mountd

Затем следует уничтожить и перезапустить процессы.

$ kill 1103 1105; /usr/sbin/rpc.nfsd; /usr/sbin/rpc.mountd

Предупреждение
Выполните на вашем компьютере указанные выше команды ps aux. С учетом параметров вашего компьютера, числа, выдаваемые командами ps aux, должны отличаться от 1103 и 1105
.

Теперь для доступа удаленных пользователей сети работают новые правила экспорта.

Совет
В некоторых дистрибутивах Linux для перезапуска rpc.nfsd и rpc .mountd необходимо перезапустить демон nfs. Например, в Red Hat Linux 7.1 следует выполнить команду /etc/re.d/init.d/nfs restart в режиме корневого пользователя
.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.