Выбери любимый жанр

Выбрать книгу по жанру

Фантастика и фэнтези

Детективы и триллеры

Проза

Любовные романы

Приключения

Детские

Поэзия и драматургия

Старинная литература

Научно-образовательная

Компьютеры и интернет

Справочная литература

Документальная литература

Религия и духовность

Юмор

Дом и семья

Деловая литература

Жанр не определен

Техника

Прочее

Драматургия

Фольклор

Военное дело

Последние комментарии
оксана2018-11-27
Вообще, я больше люблю новинки литератур
К книге
Professor2018-11-27
Очень понравилась книга. Рекомендую!
К книге
Vera.Li2016-02-21
Миленько и простенько, без всяких интриг
К книге
ст.ст.2018-05-15
 И что это было?
К книге
Наталья222018-11-27
Сюжет захватывающий. Все-таки читать кни
К книге

Внутреннее устройство Linux - Уорд Брайан - Страница 92


92
Изменить размер шрифта:

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

Команда rsync окажется также полезной для создания резервных копий. Можно, например, подключить к Linux интернет-хранилище вроде S3 от компании Amazon, а затем использовать команду rsync —delete, чтобы периодически синхронизировать файлы с этим хранилищем, организовав тем самым весьма эффективную систему резервного копирования.

Существует намного больше параметров командной строки, чем упомянуто здесь. Чтобы получить краткий обзор, запустите команду rsync —help. Более по­дробную информацию можно найти на странице руководства rsync(1), а также на домашней странице, посвященной команде rsync (http://rsync.samba.org/).

12.3. Введение в совместное использование файлов

Ваш компьютер с Linux, вероятно, не один в вашей сети, а когда в сети несколько компьютеров, практически всегда возникают поводы для совместного использования их файлов. Оставшаяся часть главы будет посвящена главным образом совмест­ному использованию файлов на компьютерах с Windows и Mac OS X, поскольку будет интересно увидеть, каким образом Linux приспосабливается к совершенно другому окружению. Для совместного применения файлов на компьютерах с Linux или для доступа к файлам на устройстве сетевого хранения данных (NAS, Network Area Storage) нужно знать об использовании сетевой файловой системы (NFS, Network File System) в качестве клиента.

12.4. Совместное использование файлов с помощью пакета Samba

Если у вас есть компьютеры с Windows, то, вероятно, потребуется разрешить доступ к файлам и принтерам системы Linux с таких компьютеров, применяя стандартный сетевой протокол Windows — SMB (Server Message Block, блок сообщений сервера). Совместное использование файлов с помощью протокола SMB поддерживается также в Mac OS X.

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

Чтобы настроить сервер Samba, выполните следующие действия.

1. Создайте файл smb.conf.

2. Добавьте в него разделы о совместном использовании файлов.

3. Добавьте в него разделы о совместном использовании принтеров.

4. Запустите демоны Samba: nmbd и smbd.

При установке сервера Samba из пакета дистрибутива ваша система должна выполнить перечисленные выше шаги, применив для сервера некоторые разумные параметры по умолчанию. Тем не менее ей, по-видимому, не удастся определить, какие именно ресурсы вашего Linux-компьютера вы предоставляете клиентам.

примечание

Обсуждение сервера Samba в этой главе краткое и сводится к тому, как добиться того, чтобы Windows-компьютеры внутри одной подсети видели автономный Linux-компьютер с помощью браузера Windows Network Places. Конфигурировать сервер Samba можно бесчисленным количеством способов, поскольку существует множество возможностей контроля доступа и разная топология сети. Чтобы узнать подробности о конфигурировании широкомасштабного сервера, обратитесь к книге Using Samba («Применение Samba», 3-е издание, O’Reilly, 2007), которая является намного более полным руководством, а также посетите сайт проекта Samba по адресу http://www.samba.org/.

12.4.1. Конфигурирование сервера Samba

Главным файлом конфигурации Samba является файл smb.conf, который в большинстве версий ОС помещается внутри каталога etc, например в каталоге /etc/samba. Тем не менее вам может потребоваться поискать его, поскольку он может также располагаться внутри каталога lib, например в каталоге /usr/local/samba/lib.

Формат файла smb.conf подобен стилю XDG, который вы уже встречали всюду (например, в конфигурации службы systemd): файл разбит на несколько секций, отмеченных с помощью квадратных скобок (например, так: [global] и [printers]). Секция [global] содержит общие параметры, которые применяются к серверу в целом и ко всем совместно используемым ресурсам. Эти параметры относятся главным образом к сетевой конфигурации и к контролю доступа. Приведенный ниже пример секции [global] демонстрирует, как настроить имя сервера, описание и рабочую группу:

[global]

# server name

netbios name = name

# server description

server string = My server via Samba

# workgroup

workgroup = MYNETWORK

Эти параметры означают следующее:

• netbios name — имя сервера. Если опустить этот параметр, сервер Samba использует имя хоста Unix;

• server string — краткое описание сервера. По умолчанию это номер версии пакета Samba;

• workgroup — имя рабочей группы SMB. Если вы находитесь в домене Windows, укажите для этого параметра имя вашего домена.

12.4.2. Контроль доступа к серверу

Можно добавить в файл smb.conf параметры, позволяющие ограничить круг компьютеров и пользователей, которые имеют доступ к серверу Samba. Следующий перечень содержит многие из параметров, которые можно указать в секции [global], а также в секциях, контролирующих отдельные ресурсы (как объяснено далее в этой главе).

• interfaces. Настройте этот параметр, чтобы сервер Samba прослушивал только указанные сети или интерфейсы. Например:

interfaces = 10.23.2.0/255.255.255.0

interfaces = eth0

• bind interfaces only. Установите значение yes, если используете параметр interfaces, чтобы ограничить доступ к компьютерам только этими интерфейсами.

• valid users. Укажите только тех пользователей, которым разрешается доступ. Например:

valid users = jruser, bill

• guest ok. Установите для этого параметра значение true, чтобы сделать сов­местно используемые ресурсы доступными для анонимных пользователей сети.

• guest only. Установите для этого параметра значение true, чтобы разрешить только анонимный доступ.

• browseable. Установите этот параметр, чтобы совместно используемые ресурсы можно было видеть с помощью сетевых браузеров. Если для этого параметра установить значение no для всех совместных ресурсов, то у вас по-прежнему останется возможность доступа к ним на сервере Samba, но для этого вам потребуется точно знать их имена.

12.4.3. Пароли

Следует позволять доступ к серверу Samba только с использованием аутентификации с помощью пароля. К сожалению, базовая система паролей в Unix отличается от такой системы в Windows, поэтому, если вы не укажете сетевые пароли в виде простого текста или пароли аутентификации на сервере Windows, вам придется устанавливать альтернативную систему паролей. Данный раздел рассказывает о том, как настроить такую систему с помощью серверного приложения Trivial Database (TDB), которое подходит для небольших сетей.

Для начала используйте такие записи в секции [global] файла smb.conf, чтобы определить характеристики базы данных паролей Samba:

# use the tdb for Samba to enable encrypted passwords

security = user

passdb backend = tdbsam

obey pam restrictions = yes

smb passwd file = /etc/samba/passwd_smb

Они позволяют работать с этой базой данных с помощью команды smbpasswd. Параметр obey pam restrictions дает гарантию того, что каждый пользователь, который будет менять свой пароль с помощью команды smbpasswd, должен будет соблюсти все правила, предусмотренные модулем PAM (Pluggable Authentication Module, подключаемый модуль аутентификации) при обычной смене пароля. Для параметра passdb backend можно добавить после двоеточия необязательное имя пути к файлу TDB, например так: tdbsam:/etc/samba/private/passwd.tdb.