На данный момент в вашем распоряжении должно быть работающее TCP/IP-подключение к вашей сети. Вы должны быть в состоянии пинговать другие компьютеры сети и, если вы соответствующим образом настроили шлюз, вы также должны быть в состоянии пинговать компьютеры в Интернете. Как известно, главной целью подключения компьютера к сети, является получение доступа к информации. Хотя некоторые люди могут подключать компьютер к сети просто так, большинство людей хотели бы предоставлять и получать доступ к файлам и принтерам. Они хотели бы получать доступ к документам в Интернете или играть в онлайновые игры. Установив в свою новую систему Slackware поддержку TCP/IP и необходимое программное обеспечение, вы всё это получите; однако, установив только поддержку TCP/IP, функциональность будет очень ограниченной. Чтобы предоставлять и получать общий доступ к файлам, нам потребуется переносить их туда и обратно, используя FTP или SCP. Мы не можем посматривать на нашем новой компьютере со Slackware дерево файлов через значки “Сетевое окружение” или “Вся сеть” с Windows-компьютеров. Мы хотели бы иметь возможность иметь постоянный доступ к файлам на других Unix-машинах.
В идеале мы хотели бы использовать сетевую файловую систему, позволяющую нам иметь прозрачный доступ к файлам на компьютерах. Программам, которые мы используем для работы с информацией, хранимой на компьютерах, на самом деле даже не надо знать на каком компьютере хранится нужный файл. Им нужно только знать, что этот файл существует, и способ для его получения. Дальнейшее уже является задачей операционной системы, обеспечивающей доступ к этому файлу с помощью доступных локальных и сетевых файловых систем. Две наиболее часто используемые сетевые файловые системы - это SMB (реализованная через Samba) и NFS.
SMB (Server Message Block, блок серверных сообщений) - это потомок более старого протокола NetBIOS, изначально разработанного в IBM для их продукта LAN Manager. Компанию Microsoft в свою очередь всегда интересовал NetBIOS и его наследники (NetBEUI, SMB и CIFS). Проект Samba начал своё существование в 1991 году, когда он был написан для обеспечения связи между IBM PC и сервером Unix. Сегодня предоставление общего доступа к файлам и службам печати через сеть SMB является предпочитаемым методом практически для всего цивилизованного мира, поскольку его поддерживает и Windows.
Конфигурационный файл Samba /etc/samba/smb.conf является одним из самых хорошо документированных конфигурационных файлов, которые вы сможете найти. К вашим услугам уже готовые примеры с настройками общих ресурсов, так что вы можете просмотреть и изменить их согласно своим потребностям. Если же вам нужен ещё больший контроль, к вашим услугам страница руководства smb.conf. Поскольку Samba имеет такую хорошую документацию, мы не будем её здесь переписывать. Однако быстро остановимся на основных моментах.
smb.conf разбит на несколько разделов: по одному разделу на общий ресурс плюс один глобальный раздел для настройки параметров, которые используются везде. Некоторые параметры являются действительными только в глобальном разделе, а некоторые верны только за его пределами. Помните, что глобальный раздел может быть переопределён любым другим разделом. За дополнительной информацией обращайтесь к страницам руководства.
Вы скорее всего захотите отредактировать свой файл smb.conf, чтобы отразить в нём параметры своей локальной сети. Советуем вам изменить перечисленные ниже пункты:
[global] # workgroup = Домен NT или Рабочая группа, напр: LINUX2 workgroup = MYGROUP |
Измените значение workgroup на домен/рабочую группу, которые используются в вашей ЛВС.
# server string является эквивалентом поля Description в NT server string = Samba Server |
Это будет описание вашего компьютера Slackware, показываемое в папке Сетевое окружение (или Вся сеть).
# Режим безопасности. Большинство людей захотят установить режим # безопасности user. Подробности смотрите в файле security_level.txt. # ЗАМЕЧАНИЕ: Чтобы получить поведение Samba-1.9.18, необходимо использовать # "security = share". security = user |
Вы почти наверняка захотите использовать в своей системе Slackware уровень безопасности user.
# Вы можете использовать шифрование паролей. Пожалуйста, # прочтите файлы ENCRYPTION.txt, Win95.txt и WinNT.txt # в документации по Samba. # Не включайте этот параметр, если вы не прочли эти документы. encrypt passwords = yes |
Если шифрование паролей не включено, вы не сможете использовать Samba с системами NT4.0, Win2k, WinXP и Win2003. Для предыдущих версий операционных систем Windows для предоставления доступа к общим ресурсам шифрование не требовалось.
SMB является протоколом с аутентификацией, т.е. вы можете указать имя пользователя и пароль, чтобы воспользоваться возможностями этой службы. Мы сообщаем серверу samba о том, что имена пользователей и пароли верны, посредством команды smbpasswd. smbpasswd допускает использование общих ключей для добавления как обычных пользователей, так и машин-пользователей (для SMB необходимо, чтобы вы добавили NETBIOS-имена компьютеров как машин-пользователей, ограничивая тем самым круг компьютеров, с которых может осуществляться аутентификация).
Добавление пользователя в файл /etc/samba/private/smbpasswd. # smbpasswd -a user Добавление имени компьютера в файл /etc/samba/private/smbpasswd. # smbpasswd -a -m machine |
Важно учесть, что данное имя пользователя или имя машины должно уже существовать в файле /etc/passwd. Вы можете добиться этого с помощью команды adduser. Обратите внимание, что при использовании команды adduser для добавления имени компьютера к нему необходимо добавить знак доллара (“$”). Однако этого не нужно делать при работе с smbpasswd. Утилита smbpasswd самостоятельно добавляет знак доллара. Нарушение этого правила посредством adduser приведёт к ошибке при добавлении имени машины в samba.
# adduser machine$ |
NFS (Network File System) изначально была написана компанией Sun для Solaris - их реализации системы Unix. И хотя её значительно легче поднять и настроить по сравнению с SMB, NFS гораздо менее безопасна. Главным слабым местом в безопасности является несложность подмены идентификаторов пользователя и группы одной машины на идентификаторы с другой машины. В протоколе NFS не реализована аутентификация. Было заявлено, что в будущих версиях протокола NFS безопасность будет повышена, однако на время написания этой книги это ещё не было сделано.
Настройка NFS осуществляется через файл /etc/exports. Когда вы загрузите стандартный файл /etc/exports в редактор, вы увидите пустой файл с комментарием вверху на две строки. Нам надо будет добавить строку в файл exports для каждого из каталогов, которые мы хотим экспортировать, с перечнем клиентских рабочих станций, которым будет разрешён доступ к этому каталогу. Например, если нам нужно экспортировать каталог /home/foo для рабочей станции Bar, нам надо будет добавить в наш файл /etc/exports такую строку:
/home/foo Bar(rw) |
Ниже представлен пример файла exports из страницы руководства:
# образец файла /etc/exports / master(rw) trusty(rw,no_root_squash) /projects proj*.local.domain(rw) /usr *.local.domain(ro) @trusted(rw) /home/joe pc001(rw,all_squash,anonuid=150,anongid=100) /pub (ro,insecure,all_squash) |
Как видите, существует несколько различных опций, однако большинство из них должны быть понятными из этого примера.
NFS полагает, что заданный пользователь с одной из машин в сети имеет один и тот же
идентификатор на всех остальных машинах. Когда NFS-клиент делает попытку чтения или
записи на NFS-сервер, UID передаётся как часть запроса на чтение/запись. Этот UID
считается таким же, как если бы запрос был выполнен с локальной машины. Как видите, если
кто-то сможет произвольным образом указать заданный UID при обращении к ресурсам на
удалённой машине, неприятности могут случиться и случаются. Средство, отчасти позволяющее
избежать этого, заключается в монтировании всех каталогов с параметром root_squash
. Это переопределяет UID любого пользователя,
объявившего себя root'ом, на другой UID, предотвращая таким образом root'овый доступ к
файлам и каталогам в экспортируемом каталоге. Похоже, что root_squash
включается по умолчанию по соображениям безопасности,
однако авторы всё равно рекомендуют явно указывать его в своём файле /etc/exports.
Вы также можете экспортировать каталог на сервере непосредственно из командной строки, воспользовавшись командой exportfs, как показано ниже:
# exportfs -o rw,no_root_squash Bar:/home/foo |
Эта команда экспортирует каталог /home/foo для компьютера
“Bar” и предоставляет ему доступ на чтение/запись.
Кроме того на сервере NFS не включен параметр root_squash
,
означающий, что любой пользователь на Bar с UID “0” (UID root'а) будет иметь
на сервере те же привилегии, что и root. Синтаксис выглядит довольно странно (обычно,
когда вы указываете каталог в виде computer:/directory/file, вы
ссылаетесь на файл в каталоге на заданном компьютере).
Дополнительную информацию о файле exports вы найдёте в странице руководства.
Пред. | Начало | След. |
Беспроводная связь | Уровень выше | Настройка X |