Контактная информация

По всем интересующим вас вопросам связывайтесь при помощи контактной информации приведенной на этой странице!

skype: metsof
email: accusser@gmail.com

В социальных сетях...

Форма обратной связи

Авторизация

Статьи об операционной системе Linux

Сайдбар

Сетевые файловые системы (NFS, CIFS) Сетевые каталоги Linux

20 февр. 2014

Сетевая файловая система — это самый обычный путь, по которому в UNIX/Linux каталоги передаются с локального компьютера в сеть. В этой статье описано, как использовать сетевые каталоги с точки зрения клиента.

В Linux не так давно стала поддерживаться и версия NFS4. Однако эта версия, несмотря на многочисленные усовершенствования по сравнению с третьей, пока не очень распространена.

Необходимые условия



Для того чтобы работать с NFS, вы должны выполнить несколько предварительных условий.

Компьютер, на котором вы собираетесь читать или изменять файлы, должен быть доступен в сети (проверьте это командой ping).

В сети должен быть установлен NFS-сервер, сконфигурированный таким образом, чтобы у вас было право доступа к нужному каталогу.

На локальном (клиентском) компьютере нужно установить программы, необходимые для работы с NFS. В большинстве дистрибутивов они установлены по умолчанию. В Debian и Ubuntu необходимо специально установить пакет nfs-common.

Если на вашем компьютере или на компьютере, где работает NFS-сервер, включены брандмауэры, они не должны блокировать обмен данными в сети NFS. Система NFS использует не только порты 111 и 2049, но и другие порты, назначаемые случайным образом.

Команда mount



Если эти условия выполнены, получить доступ к каталогу NFS несложно. Следующая команда позволяет интегрировать каталог /data внешнего компьютера mars в папку /media/nfsdata в дереве каталогов. Разумеется, каталог /media/nfsdata должен существовать до того, как вы выполните команду mount!

root# mount -t nfs mars:/data /media/nfsdata

Теперь вы можете обращаться ко всем данным из каталога mars:/data так же, как и к данным на своем локальном компьютере. Сможете ли вы изменять эти данные, зависит от конфигурации NFS-сервера.

Вместо имени компьютера можно указать и его IP-адрес, то есть, например, 192,168.0.10:/data. Это решение на крайний случай, если в сети нет сервера имен, а имя NFS-сервера не внесено в /etc/hosts.

Команда unmount вновь удаляет каталог NFS из локальной файловой системы. Если при этом сетевое соединение уже разорвано, нужно выполнять unmount с параметром -f. В ином случае вам потребуется очень долго ждать, пока не завершится выполнение mount.

root# umount /media/nfsdata

Файл /etc/fstab



Чтобы при запуске компьютера автоматически интегрировать каталоги NFS в файловую систему, добавьте в файл /etc/fstab строку, построенную по следующему образцу. В четвертом столбце можно использовать NFS-специфичный параметр bg. Благодаря этому mount запускается в фоновом режиме и пытается подключить сетевой каталог, если такого каталога еще нет в распоряжении. Это следует делать прежде всего во время подключения сетевых каталогов при запуске компьютера.

<code># Дополнение в /etc/fstab

jupiter:/data /externaldata nfs user.exec.bg О О</code>

В большинстве дистрибутивов все каталоги, указанные в /etc/fstab, подключаются в ходе процесса Init-V. SUSE — исключение из этого правила: здесь данный процесс выполняется сценарием Init-V nfs, который необходимо специально активизировать:

root# insserv nfs


ВНИМАНИЕ



NFS не учитывает кодировки, в которых записаны названия файлов, и интерпретирует эти названия просто как последовательности байт. NFS предполагает, что все пользователи работают с одной и той же кодировкой. Если это не так, то символы, не входящие в ASCII, могут представлять проблему. Например, пользователь NFS работает с дистрибутивом Linux, в котором поддерживается кодировка UTF-8, и сохраняет файл grundstuck.txt. Другой пользователь работает с дистрибутивом, в котором поддерживается кодировка латиница-1, и он увидит файл, сохраненный первым пользователем, под названием grundst??ck.txt, где символы ?? соответствуют последовательности байт, присвоенной в UTF-8 символу и.

Что делать? Нужно либо использовать NFS 4, либо убедиться, что все пользователи будут работать с одинаковой кодировкой, либо вообще не указывать в названиях файлов специальных символов!

Сетевые каталоги Windows (CIFS)



Протокол SMB (Блок сообщений сервера) — это аналог NFS из мира Windows. Обычно пользователь обращается к сетевым каталогам Windows прямо из файлового менеджера с локального компьютера.

В качестве альтернативы можно использовать файловую систему cifs или ее устаревший вариант smbfs, чтобы подключать сетевые каталоги Windows к локальному дереву каталогов подобно тому, как это делается в NFS. Кроме того, вы имеете доступ ко всем файлам, как если бы они были расположены в вашей файловой системе. Это удобно и работает хорошо, пока каталог доступен в сети.

Интеграция сетевых каталогов Windows в файловую систему — статический процесс. Метод, описанный здесь, целесообразен лишь в том случае, когда сетевая конфигурация остается неизменной в течение достаточно долгого времени. Если же, наоборот, к сети все время подключаются одни компьютеры и от нее отключаются другие, причем меняются их имена и IP-адреса, то лучше обращаться к сетевым каталогам динамически, через файловый менеджер.

Обратите внимание, что в любом случае придется установить Samba. Это комплект программ, предназначенных для совместного использования в сети каталогов, файлов, принтеров и т. д. по протоколу SMB. Во многих дистрибутивах Samba разделен на две части: клиентскую и серверную. Пока вы работаете так, как описано в этом разделе — только обращаетесь к сетевым каталогам, но не собираетесь предоставлять доступ к тем или иным каталогам своего компьютера через сеть, достаточно установить клиентские пакеты.

Для доступа к сетевым каталогам Windows необходимо, чтобы протокол SMB, работающий между двумя компьютерами, не блокировался брандмауэром!

Сравнение smbfs и cifs


В Linux существует две файловые системы, предназначенные для работы с сетевыми каталогами Windows: SMBFS (Файловая система SMB) и более новая система CIFS (Общая межсетевая файловая система). Сетевая система CIFS является усовершенствованной разработкой Microsoft, поэтому рекомендую остановиться именно на ней. Например, совместимые с CIFS Samba-cepeepa передают информацию о правах доступа к файлам, совместимым с UNIX/Linux, а при работе с SMBFS этого не происходит.

Команда mount


Чтобы интегрировать сетевые каталоги Windows в свою локальную файловую систему, воспользуйтесь командой mount. С помощью параметра -t команды mount вы можете задать файловую систему, с которой собираетесь работать. Большая часть остальных параметров в обеих файловых системах одинакова, но для cifs существуют некоторые дополнительные параметры. Внутри системы команда mount выполняет mount.cifs или smbmount. Подробности обо всех параметрах сообщаются в man mount.cifs, а также в man smbmount.

Если хотите подключить внешний каталог, введите две следующие команды (в зависимости от того, открывается ли доступ к Windows на основе имени пользователя).

root# mount -t cifs //venus/myshare /media/winshare

root# mount -t cifs -o username=name //venus/myshare /media/winshare

В результате открытый каталог с компьютера venus будет подключен к файловой системе Linux под именем myshare. Файлы из открытого каталога будут предоставлены в /media/winshare. Разумеется, этот каталог должен существовать еще до выполнения mount. Перед выполнением команды система запросит у вас пароль. Вы можете указать пароль и напрямую:

root# mount -t cifs -o username=name,password=pw //venus/myshare /media/winshare

СОВЕТ


Если вам часто приходится вручную подключать и отключать каталоги, попробуйте поработать с программой KDE Smb4k. Она отображает все серверы Windows и Samba, доступные в сети, и облегчает интеграцию отдельных каталогов в дерево каталогов локальной системы.

Файл /etc/fstab



Чтобы автоматически подключить сетевые каталоги к файловой системе при запуске компьютера, дополните /etc/fstab строкой, показанной в следующем примере.

<code># Дополнение в /etc/fstab

//venus/myshare /media/winshare cifs defaults О 0
</code>

В большинстве дистрибутивов все каталоги CIFS, упомянутые в /etc/fstab, подключаются к системе при выполнении процесса Init-V. Исключением, как и в случае с NFS, является SUSE: здесь за аналогичный процесс отвечает сценарий Init-V, который необходимо специально активизировать:

root# insserv smbfs

В вышеуказанной форме операция подключения каталогов работает только тогда, когда не требуется аутентификации на сервере Windows или Samba. Если, наоборот, аутентификация требуется, создайте файл /etc/.winshare-pw, в котором будет содержаться логин и пароль для вашего каталога. Файл построен так:

username=name password=xxxx


Если хранить пароль в незашифрованном виде, то сразу возникает риск, что пароль узнают злоумышленники. Следующая команда ограничивает доступ к файлу, позволяя немного снизить риск. Она дает возможность читать и изменять файл с паролем только администратору:

root# chmod go-rw /etc/.winshare-pw


Кроме того, добавьте к записи fstab параметр credentials. При подключении каталога будут считываться файлы аутентификации из .winshare-pw.

<code># Дополнение в /etc/fstab

//venus/myshare /media/winshare cifs credentials=/etc/.winshare-pw 0 0</code>

Читайте так же:
азделы и файлы подкачки Linux






Подпишитесь на рассылку! Никакого спама, только обновления!!!

Комментарии (0)


    Услуги по MODX Revolution

    Посмотреть все услуги

    Техническая оптимизация сайта

    Подробнее & Заказать

    Создание сайта на MODX Revolution

    Подробнее & Заказать

    Перенос сайта на MODX Revolution

    Подробнее & Заказать

    Продвижение сайта на MODX

    Подробнее & Заказать