11937
Комментарий: расшифровано
|
19047
|
Удаления помечены так. | Добавления помечены так. |
Строка 1: | Строка 1: |
== Установка и настройка FTP-сервера == | == Установка и настройка FTP-сервера и NFS-сервера == |
Строка 3: | Строка 3: |
## 00:26:40 ## with updates from 300708 (form 03:00:30) |
=== Установка FTP-сервера === |
Строка 6: | Строка 5: |
Поставим пакет {{{vsftpd}}}, а также пакет {{{anonftp}}}. Разделение такое затем, что в репозитории есть много FTP-серверов (proftpd, vsftpd, bsdftp). У них есть нечто общее: дерево каталогов, которое нужно развернуть в домашнем каталоге этого FTP-сервера ({{{/var/ftp}}}, и чтобы каждый раз его не создавать, оно было вынесено в отдельный пакет. К тому же, в ALTLinux, уделяющем много внимания безопасности, есть много разных закладок для защиты от дурака, чтобы человек не поставил себе ftp-сервер, а тот сразу заработал и открыл всем доступ на запись. Поэтому нужно поставить пакет {{{anonftp}}}, он состоит из одного файлаa {{{/var/ftp}}}, при появлении этого файла ftp начинает хотя бы нормально работать. но {{{vsftpd}}} работает через метадемон {{{inted}}}. Утилита {{{chkconfig}}} управляет одновременно и системными службами в стиле start/stop-ных скриптов (см. учебник), и настройками тех служб, которые цепляются к метадемону. Такой унверсальный интерфейс с единым синтаксисом. Посмотрим, какие включены службы |
FTP-сервер позволяет организовать доступ к файлам компьютера по сети, в том числе через интернет. Обычно через FTP предоставляют доступ только на чтение информации. Для развертывания на нашей машине FTP-сервера установим для пакеты vsftpd и anonftp: |
Строка 25: | Строка 9: |
# chkconfig --list | tail -15 | # apt-get install vsftpd anonftp }}} Поясним сперва, почему одного пакета FTP-сервера vsftpd недостаточно. Первая причина заключается в следующем. Программ, предоставляющих нужную нам функциональность, в хранилище более одной: это proftpd, vsftpd (которую мы и собираемся использовать), pure-ftpd. При этом дерево каталогов, которое соответствует содержимому FTP-сервера, не должно быть жестко привязано к пакету какому-то конкретного FTP-сервера, но в тоже время должно создаваться при развертывании сервера. Именно за это и отвечает пакет anonftp: {{{ $ rpmquery -l anonftp /var/ftp }}} Есть, вторая причина существования пакета anonftp. В дистрибутивах ALT Linux, уделяющих большое внимание безопасности, включено множество разных "защит от дурака". В данном случае защита заключается в следующем: установка FTP-сервера и его запуск с настойками по-умолчанию не должны приводить к его автоматическому включению в режиме доступа на запись для всех желающих. Итак, требуемые пакеты в систему установлены. Займемся их включением. Сервер vsftpd (от ''Very Secure FTP Daemon'') использует при своей работе сетевой метасервер xinetd. Для настройки того, какие службы запускаются в системе в процессе инициализации, используется утилита chkconfig. Используемая в ПСПО версия этой утилиты умеет управлять системными службами разного типа: как оформленными в стиле сценариев "start-stop", котореы располагаются в {{{/etc/init.d/}}}, так и использующими мета-сервер xinetd. При применении chkconfig из командной строки администратор избавлен от необходимости запоминать различный синтаксис для этих двух групп. Посмотрим, какие службы сейчас включены: ## Лучше оставим разнобой, считая синонимами ## ''Нужно определиться, используем мы термин '''служба''' или '''сервис'''. Оставляю пока "разнобой".'' -- DmitryChistikov <<DateTime(2008-08-15T14:15:15+0400)>> {{{ # chkconfig --list | grep xinetd -A 20 |
Строка 41: | Строка 43: |
}}} Видно, что по умолчанию все выключено. Нужно проделать еще три упражнения: * нужно включить сам метадемон {{{inetd}}}: {{{ $chkconfig xinetd on }}} * нужно включить сам {{{vsftpd}}}: {{{ $chkconfig vsftpd on }}} * в файле ({{{/etc/xinetd.conf}}}) надо проверить, а не ждет ли нас замечательная фича altlinux — что все сетевые сервисы по умолчанию запускаются так, что они доступны только с этой же машины. для этого закомментируем строчку {{{ only_from 127.0.0.1 |
|
Строка 60: | Строка 45: |
Это если вы понаставили служб, которые пользуются {{{inetd}}} и повключали их, то с ними соединиться можно будет только с адресе {{{127.0.0.1}}}. |
Как видно, все использующие мета-сервер xinetd сетевые службы в настоящее время выключены (в том числе и vsftpd). Если нужно, чтобы FTP-сервер запускался каждый раз при старте машины, нужно проделать следующие операции: |
Строка 63: | Строка 47: |
Нужно не забыть перезапустить {{{xinitd}}}, чтобы он перечитал конфиги. Он умный: при старте, если видит, что в нём нет разрешенных служб, молча останавливается. |
* обеспечить запуск мета-сервера xinetd: {{{ # chkconfig xinetd on }}} |
Строка 66: | Строка 52: |
можно зайти на ftp: | * включить сам FTP-сервер vsftpd: {{{ # chkconfig vsftpd on }}} После чего мы обнаружим, что мы встретились еще с одной отличительной особенностью дистрибутивов ПСПО. Дело в том, что все сетевые сервисы по умолчанию доступны только с локальной машины --- иными словами, подключиться к ним можно только с адреса 127.0.0.1. Это сделано по соображения безопасности, поскольку при таком подходе конфигурация системы по-умолчанию является безопасной. В данном случае следует при помощи текстового редактора закомментировать в файле {{{/etc/xinetd.conf}}} строку с параметром only_from. Для примера мы воспользуемся не обычным редактором, а утилитой sed для внесения этих изменений, добавив в качестве комментария знаки '##': {{{ # sed 's/^\s*only_from/##&/' -i /etc/xinetd.conf # grep only_from /etc/xinetd.conf ## only_from = 127.0.0.1 }}} Отметим, что файл /etc/xinetd.conf содержит настройки, общие для всех использующих xinetd сервисов. Теперь, поскольку мы изменили содержимое этого конфигурационного файла, нужно перезапустить метасервер xinetd, чтобы внесенные нами поправки вступили в силу: |
Строка 69: | Строка 68: |
$lftp localhost | # service xinetd restart }}} После этого локальный FTP-сервер начнет принимать входящие соединения на 21-й порт. Для проверки функционирования сервера можно воспользоваться FTP-клиентом lftp. {{{ $ lftp localhost |
Строка 74: | Строка 78: |
Сообщений об ошибках не было, а файлов на сервере пока никаких нет. Вообще, Если места на жестком диске мало (20-30 Гб), и режим работы компьютера щадящий (включил-поработал-выключил, а не круглосуточно включенный сервер с файлами), то можно не думать о разбиении диска, а весь диск сделать одним корневым разделом. |
Сообщений об ошибках, как видим, нет. Впрочем, файлов на сервере тоже пока нет. Скажем еще несколько слов о дисциплине организации FTP-сервера. В каталоге, который является корнем для службы FTP (в нашем случае это {{{/var/ftp}}}) традиционно создается подкаталог {{{pub}}}, файлы в котором доступны на чтение. Именно этот каталог и предназначен для работы "публичных" пользователей. |
Строка 80: | Строка 80: |
В при работе с FTP используется дисциплина: в каталоге, который является корнем для службы FTP, в нашем случае {{{/var/ftp}}}, должен быть подкаталог {{{pub/}}}, в котором файлы доступны на чтение, это файлы для публичных пользователей. В документации можно прочитать, как организовать доступ по FTP обычным пользователям системы. |
{{{ # mkdir /var/ftp/pub }}} |
Строка 86: | Строка 84: |
Вообще говоря, уже сейчас можно этот каталог делать доступным в качестве хранилища нашего класса. Доступ по ftp сейчас разрешён |
## Описание же того, как организовать доступ по FTP для обычных пользователей системы, приводить не будем, ограничившись отсылкой к документации. |
Строка 89: | Строка 86: |
## 00:40:30.5 (pause) ##Кусок от 080730 (с 03:24:41) |
=== Настройка и использование FTP-сервера === |
Строка 92: | Строка 88: |
=== О настройке FTP-серверов === | Поговорим немного о настройке и использовании FTP-сервера. Во-первых, использовать FTP с системными логином и паролем пользователя совершенно неразумно. Эти данные в протоколе FTP передаются по сети открытым текстом, поэтому "подслушать" их не составляет труда. По этой причине FTP-серверы чаще всего используются лишь для предоставления анонимного доступа на чтение к тем или иным данным. Некоторые FTP-клиенты, заметим, требуют при их использовании обязательного ввода логина и пароля даже при работе с "анонимными" FTP-серверами. В таких случаях используется логин anonymous (иногда ftp) и какой угодно, но содержащий символ коммерческого at (@) пароль. Последнее требование, впрочем, предъявляется не всеми FTP-серверами. |
Строка 94: | Строка 90: |
Использовать ftp с логином и паролем пользователя системы нехорошо. Разные FTP-клиенты, кроме lftp, требуют обязательно ввода логина и пароля, даже если это анонимный FTP-сервер, и тогда логин тогда должен быть либо anonymous либо ftp, что легче набирать, а проль -- какой угодно, лишь бы содержал @. |
Отметим, однако, что в некоторых случаях доступ к данным по протоколу FTP все же защищается паролем. Этим могут заниматься, к примеру, владельцы FTP-серверов, распространяющие сомнительные с точки зрения лицензионной чистоты программы и данные. Трюк заключается в следующем: в случае возникновения каких-либо претензий всегда можно сослаться на использование пароля и объяснить, что защищенные таким способом файлы не являются общедоступными и, следовательно, свободно по сети не распространяются, а лежат для личного использования. ## То есть выкладывать на FTP-сервер следует только те материалы, |
Строка 97: | Строка 93: |
Этих ftp-серверов так много, во-первых, потому что там есть отдельные штуки, связанные с пользователем (однако, пароль на FTP для пользователя нужен только для одного, чтобы отмазаться от того, что вы бесплатно распространяете что-то, что бесплатно распространять нельзя. В этом случае вы говорите: какое бесплатно, видите, на FTP без пароля нельзя зайти, а вот мне лично бывает нужно скачать, я же хозяин, и т.п.), а в остальном понятно -- любой FTP-пароль всегда виден. Есть другая довольно неприятная картина: пусть у вас есть не очень мощная машина, кторая раздаёт какие-то важные файлы, и есть разные категории компьютеров-клиентов этого сервера. Например, если кто-то из локальной сети подключается, то приоритет высокий, а если издалека --- то низкий, и, скажем, ограничение на число одновременных соединений. В этом случае надо использовать всякие свойства всяких крутых FTP-демонов -- proftpd или vsftpd, где по ip-адресу клиента определяются правила и ограничения его работы. Так же можно защититься от всякого множественного скачивания, когда всякими ReGet'ами качают. Вторая прблема --- протокол ftp, гад, передаёт ip-адрес сервера прямо на прикладном уровне. То есть, когда вы подключаетсь по ftp, то прямо по FTP передаются IP-адреса и порты (в случае passive ftp -- адрес и порт сервера, куда теперь нужно подключиться клиенту, в случае active ftp -- адрес и порт клиента, куда соединиться сервер и закачает файл) |
Поясним теперь, зачем в хранилище помещено более одной программы, реализующей функциональность FTP-сервера. В случае, когда аппаратная конфигурация используемой в качестве сервера машины и скорость ее канала передачи данных оставляют желать лучшего, а компьютеры-клиенты образуют несколько различных категорий пользователей, может возникнуть необходимость использовать специальные возможности таких программ. К таким возможностям относится выставление приоритетов в соответствии с IP-адресами клиентов, ограничения на число одновременных соединений, защита от множественного скачивания программами типа ReGet и пр. В случае же, когда такие возможности не требуются, разумно использовать более "легковесные" программы. |
Строка 112: | Строка 95: |
ftp скорей всего придётся делать пассивным, но в этом случае возникает прблема: например, по управляющему, 21-му, порту устанавливается соединение между клиентом и сервером, и клиент говорит, что хочет чего-то взять. Сервер после этого говорит ip-адрес и порт, по которому клиент сможет это взять. Если машина с этим ip-адресов находится за NAT'ом, то есть происходит трансляция адресов, то будет дан её внутренний адрес, и далеко не каждый FTP-клиент способен это проигнорировать (например, мозилла (firefox) не может. Т.е., если вы заходите на адрес с внешним ip-шником по passive ftp и просите у него закачать файлы, и внутри протокола FTP приходит ip-адрес внутренний (10.X.X.X), firefox просто не работает, он честно следует протоколу FTP, в котором написано: заходить на такой-то ip-шник). |
=== Виды FTP-соединения === |
Строка 120: | Строка 97: |
Пэтому у ftp-сервера должна быть возможность в зависимости от того, с какого ip-адреса клиент пришёл, передавать ему для соединения внутри FTP-протокола подходящий (внутренний, либо внешний) ip-адрес, иначе что-то может не работать. Лектор у себя на факультете это разруливал на уровне firewall'а (соединения по 21 порту с разных ip-адресов разруливались на разные порты, где их ждали по-разному настроенные FTP-серверы, но это изврат). |
С использованием протокола FTP может быть связана еще одна проблема. Дело в том, что скачивание файлов по протоколу FTP требует создание специального соединения для передачи данных. IP-адрес и порт для создания этого соединения передаются по сети в пакетах прикладного уровня (в рамках так называемого "управляющего" соединения). В случае "активного" FTP передаются адрес и порт клиента, а случае "пассивного" --- адрес и порт сервера. Понятно, что при использовании трансляции адресов (Network Address Translation, NAT) такой механизм работы может индуцировать довольно неприятные ситуации. К примеру, при работе с "пассивным" сервером строго следующий описанию протокола FTP-клиент (примером может служить Mozilla Firefox) не может проигнорировать полученный таким способом IP-адрес и, если этот адрес оказывается локальным для сети сервера, терпит неудачу при попытке соединения. |
Строка 126: | Строка 99: |
Но надо иметь в виду, что если FTP-сервер сидит не на внешнем ip-адресе, а находится за межсетевым экраном, на котором включена трансляция адресов (NAT), то есть реальный шанс, что соединения к нему не будут работать либо из внешней, либо из внутренней сети. |
Возможным решением данной проблемы может служить тонкая настройка FTP-сервера таким образом, чтобы передаваемый IP-адрес для подключения в "пассивном" режиме различался для клиентов из разных сетей. Иногда оказывается полезным держать несколько FTP-серверов на одной машине и "разруливать" подключения к 21-му порту (ftp) с помощью средств сетевого экрана iptables. При настройке маршрутизатора хорошую службу может сослужить также специальный модуль ip_nat_ftp к iptables. |
Строка 129: | Строка 101: |
## 300708 till 03:30:00 | === Установка NFS-сервера === В отличие от FTP, служба NFS является полноценной сетевой файловой системой, поэтому мы сразу будем готовит ее как для сетевой установки, так и для последующего использования для хранения домашних каталогов пользователей в нашем классе. Для работы NFS необходимо следующее. 1. Установить на сервере пакет nfs-server. {{{ # apt get install nfs-server }}} 1. Проверить конфигурацию службы portmap, она не должна запускаться с ключом -l, который разрешает только локальные подключения. Пример правильного файла конфигурации {{{/etc/sysconfig/portmap}}} (в ПСПО по умолчанию): {{{ # Parameters for portmap daemon. # See portmap(8) for more details. # Specifies additional parameters for portmap. #PORTMAP_ARGS="-l" }}} Если строка с ключом -l не закомментирована, требуется ее закомментировать и перезапустить службу portmap командой {{{service portmap restart}}}. 1. В файле /etc/exports указать, какие каталоги будет отдаваться по сети. В нашем случае он должен содержать две строчки выглядеть так: {{{ $ cat /etc/exports /srv/boot *(ro,no_subtree_check,no_root_squash) /srv/home 172.16.0.0/12(rw,no_subtree_check,no_root_squash) }}} Здесь 172.16.0.0/12 --- адрес локальной сети, в вашем случае он может быть другим. 1. После любых изменений {{{/etc/exports}}} необходимо перезапустить службы nfs, чтобы она использовала новые настройки: {{{ # service nfs restart }}} Содержимое файла {{{/etc/exports}}} следует прокомментировать. Во-первых, здесь раздаётся каталог /srv/boot, с которого клиенты будут загружаться, причём для них он доступен в режиме "только для чтения". Кроме того, использована опция "no root squash". По умолчанию действует обратная опция "root squash" которая все запросы от лица суперпользователя с клиента на сервере переводит в запросы от лица пользователя "nobody" для большей безопасности. Опция "no root squash" отменяет такое преобразование. В отличие /srv/boot, /srv/home (будущий домашний каталог сетевых пользователей) необходимо экспортировать на запись. ## ?? Рекомендуется /home делать отдельной файловой системой: можно смонтировать /home с опцией "nosuid" --- то есть, даже если пользователь сможет положить файл с установленным setuid-битом, то при запуске он не сработает. После запуска nfs можно проверить, отдаются ли каталоги, с помощью команды showmount -e: {{{ # showmount -e Export list for server: /srv/boot * /srv/home 172.16.0.0/12 }}} |
Строка 133: | Строка 152: |
## ВНИМАНИЕ! Поля значащие, просьба редактироать только числа и списки модулей | ## ВНИМАНИЕ! Поля значащие, просьба редактировать только числа и списки модулей |
Строка 137: | Строка 156: |
|| 20 || 1 || 1 || 1 || || 1 || PavelSutyrin, DmitryChistikov, VsevolodKrishchenko || || || | || 90 || 1 || 1 || 1 || || 1 || PavelSutyrin, DmitryChistikov, VsevolodKrishchenko || || || |
Установка и настройка FTP-сервера и NFS-сервера
Установка FTP-сервера
FTP-сервер позволяет организовать доступ к файлам компьютера по сети, в том числе через интернет. Обычно через FTP предоставляют доступ только на чтение информации. Для развертывания на нашей машине FTP-сервера установим для пакеты vsftpd и anonftp:
# apt-get install vsftpd anonftp
Поясним сперва, почему одного пакета FTP-сервера vsftpd недостаточно. Первая причина заключается в следующем. Программ, предоставляющих нужную нам функциональность, в хранилище более одной: это proftpd, vsftpd (которую мы и собираемся использовать), pure-ftpd. При этом дерево каталогов, которое соответствует содержимому FTP-сервера, не должно быть жестко привязано к пакету какому-то конкретного FTP-сервера, но в тоже время должно создаваться при развертывании сервера. Именно за это и отвечает пакет anonftp:
$ rpmquery -l anonftp /var/ftp
Есть, вторая причина существования пакета anonftp. В дистрибутивах ALT Linux, уделяющих большое внимание безопасности, включено множество разных "защит от дурака". В данном случае защита заключается в следующем: установка FTP-сервера и его запуск с настойками по-умолчанию не должны приводить к его автоматическому включению в режиме доступа на запись для всех желающих.
Итак, требуемые пакеты в систему установлены. Займемся их включением. Сервер vsftpd (от Very Secure FTP Daemon) использует при своей работе сетевой метасервер xinetd. Для настройки того, какие службы запускаются в системе в процессе инициализации, используется утилита chkconfig. Используемая в ПСПО версия этой утилиты умеет управлять системными службами разного типа: как оформленными в стиле сценариев "start-stop", котореы располагаются в /etc/init.d/, так и использующими мета-сервер xinetd. При применении chkconfig из командной строки администратор избавлен от необходимости запоминать различный синтаксис для этих двух групп. Посмотрим, какие службы сейчас включены:
# chkconfig --list | grep xinetd -A 20 xinetd based services: chargen-tcp: off chargen-udp: off cups-lpd: off daytime-tcp: off daytime-udp: off discard-tcp: off discard-udp: off echo-tcp: off echo-udp: off rsync: off time-tcp: off time-udp: off vsftpd: off
Как видно, все использующие мета-сервер xinetd сетевые службы в настоящее время выключены (в том числе и vsftpd). Если нужно, чтобы FTP-сервер запускался каждый раз при старте машины, нужно проделать следующие операции:
- обеспечить запуск мета-сервера xinetd:
# chkconfig xinetd on
- включить сам FTP-сервер vsftpd:
# chkconfig vsftpd on
После чего мы обнаружим, что мы встретились еще с одной отличительной особенностью дистрибутивов ПСПО. Дело в том, что все сетевые сервисы по умолчанию доступны только с локальной машины --- иными словами, подключиться к ним можно только с адреса 127.0.0.1. Это сделано по соображения безопасности, поскольку при таком подходе конфигурация системы по-умолчанию является безопасной. В данном случае следует при помощи текстового редактора закомментировать в файле /etc/xinetd.conf строку с параметром only_from. Для примера мы воспользуемся не обычным редактором, а утилитой sed для внесения этих изменений, добавив в качестве комментария знаки '##':
# sed 's/^\s*only_from/##&/' -i /etc/xinetd.conf # grep only_from /etc/xinetd.conf ## only_from = 127.0.0.1
Отметим, что файл /etc/xinetd.conf содержит настройки, общие для всех использующих xinetd сервисов. Теперь, поскольку мы изменили содержимое этого конфигурационного файла, нужно перезапустить метасервер xinetd, чтобы внесенные нами поправки вступили в силу:
# service xinetd restart
После этого локальный FTP-сервер начнет принимать входящие соединения на 21-й порт. Для проверки функционирования сервера можно воспользоваться FTP-клиентом lftp.
$ lftp localhost lftp localhost:~> ls lftp localhost:/> exit
Сообщений об ошибках, как видим, нет. Впрочем, файлов на сервере тоже пока нет. Скажем еще несколько слов о дисциплине организации FTP-сервера. В каталоге, который является корнем для службы FTP (в нашем случае это /var/ftp) традиционно создается подкаталог pub, файлы в котором доступны на чтение. Именно этот каталог и предназначен для работы "публичных" пользователей.
# mkdir /var/ftp/pub
Настройка и использование FTP-сервера
Поговорим немного о настройке и использовании FTP-сервера. Во-первых, использовать FTP с системными логином и паролем пользователя совершенно неразумно. Эти данные в протоколе FTP передаются по сети открытым текстом, поэтому "подслушать" их не составляет труда. По этой причине FTP-серверы чаще всего используются лишь для предоставления анонимного доступа на чтение к тем или иным данным. Некоторые FTP-клиенты, заметим, требуют при их использовании обязательного ввода логина и пароля даже при работе с "анонимными" FTP-серверами. В таких случаях используется логин anonymous (иногда ftp) и какой угодно, но содержащий символ коммерческого at (@) пароль. Последнее требование, впрочем, предъявляется не всеми FTP-серверами.
Отметим, однако, что в некоторых случаях доступ к данным по протоколу FTP все же защищается паролем. Этим могут заниматься, к примеру, владельцы FTP-серверов, распространяющие сомнительные с точки зрения лицензионной чистоты программы и данные. Трюк заключается в следующем: в случае возникновения каких-либо претензий всегда можно сослаться на использование пароля и объяснить, что защищенные таким способом файлы не являются общедоступными и, следовательно, свободно по сети не распространяются, а лежат для личного использования.
Поясним теперь, зачем в хранилище помещено более одной программы, реализующей функциональность FTP-сервера. В случае, когда аппаратная конфигурация используемой в качестве сервера машины и скорость ее канала передачи данных оставляют желать лучшего, а компьютеры-клиенты образуют несколько различных категорий пользователей, может возникнуть необходимость использовать специальные возможности таких программ. К таким возможностям относится выставление приоритетов в соответствии с IP-адресами клиентов, ограничения на число одновременных соединений, защита от множественного скачивания программами типа ReGet и пр. В случае же, когда такие возможности не требуются, разумно использовать более "легковесные" программы.
Виды FTP-соединения
С использованием протокола FTP может быть связана еще одна проблема. Дело в том, что скачивание файлов по протоколу FTP требует создание специального соединения для передачи данных. IP-адрес и порт для создания этого соединения передаются по сети в пакетах прикладного уровня (в рамках так называемого "управляющего" соединения). В случае "активного" FTP передаются адрес и порт клиента, а случае "пассивного" --- адрес и порт сервера. Понятно, что при использовании трансляции адресов (Network Address Translation, NAT) такой механизм работы может индуцировать довольно неприятные ситуации. К примеру, при работе с "пассивным" сервером строго следующий описанию протокола FTP-клиент (примером может служить Mozilla Firefox) не может проигнорировать полученный таким способом IP-адрес и, если этот адрес оказывается локальным для сети сервера, терпит неудачу при попытке соединения.
Возможным решением данной проблемы может служить тонкая настройка FTP-сервера таким образом, чтобы передаваемый IP-адрес для подключения в "пассивном" режиме различался для клиентов из разных сетей. Иногда оказывается полезным держать несколько FTP-серверов на одной машине и "разруливать" подключения к 21-му порту (ftp) с помощью средств сетевого экрана iptables. При настройке маршрутизатора хорошую службу может сослужить также специальный модуль ip_nat_ftp к iptables.
Установка NFS-сервера
В отличие от FTP, служба NFS является полноценной сетевой файловой системой, поэтому мы сразу будем готовит ее как для сетевой установки, так и для последующего использования для хранения домашних каталогов пользователей в нашем классе. Для работы NFS необходимо следующее.
- Установить на сервере пакет nfs-server.
# apt get install nfs-server
Проверить конфигурацию службы portmap, она не должна запускаться с ключом -l, который разрешает только локальные подключения. Пример правильного файла конфигурации /etc/sysconfig/portmap (в ПСПО по умолчанию):
# Parameters for portmap daemon. # See portmap(8) for more details. # Specifies additional parameters for portmap. #PORTMAP_ARGS="-l"
Если строка с ключом -l не закомментирована, требуется ее закомментировать и перезапустить службу portmap командой service portmap restart.
- В файле /etc/exports указать, какие каталоги будет отдаваться по сети. В нашем случае он должен содержать две строчки выглядеть так:
$ cat /etc/exports /srv/boot *(ro,no_subtree_check,no_root_squash) /srv/home 172.16.0.0/12(rw,no_subtree_check,no_root_squash)
Здесь 172.16.0.0/12 --- адрес локальной сети, в вашем случае он может быть другим. После любых изменений /etc/exports необходимо перезапустить службы nfs, чтобы она использовала новые настройки:
# service nfs restart
Содержимое файла /etc/exports следует прокомментировать. Во-первых, здесь раздаётся каталог /srv/boot, с которого клиенты будут загружаться, причём для них он доступен в режиме "только для чтения". Кроме того, использована опция "no root squash". По умолчанию действует обратная опция "root squash" которая все запросы от лица суперпользователя с клиента на сервере переводит в запросы от лица пользователя "nobody" для большей безопасности. Опция "no root squash" отменяет такое преобразование. В отличие /srv/boot, /srv/home (будущий домашний каталог сетевых пользователей) необходимо экспортировать на запись.
После запуска nfs можно проверить, отдаются ли каталоги, с помощью команды showmount -e:
# showmount -e Export list for server: /srv/boot * /srv/home 172.16.0.0/12
Сведения о ресурсах
Готовность (%) |
Продолжительность (ак. ч.) |
Подготовка (календ. ч.) |
Полный текст (раб. д.) |
Предварительные знания |
Level |
Maintainer |
Start date |
End date |
90 |
1 |
1 |
1 |
|
1 |
|
|