10.3.1. Доступ
10.3.1. Доступ
Такие директивы определяют основные права доступа к FTP-серверу. Давайте рассмотрим основные из них:
? class имя type адреса — позволяет организовать классы пользователей по их типу и адресу. В нашем конфигурационном файле указана следующая строка:
class all anonymous,guest,real *
В качестве имени класса здесь указано all. После этого идет перечисление через запятую типов пользователей, которые будут отнесены к этому классу. В данном случае присутствуют все категории: anonymous, guest и real (анонимные, гости и авторизованные пользователи). Последний параметр — это шаблон адреса, на месте которого стоит звездочка, т.е. любой адрес. Получается, что к классу all относятся любые пользователи с произвольными адресами.
Классы — очень удобная вещь. Это как группы. Вы объединяете определенных пользователей и можете назначать им права. Например, можно создать класс пользователей, у которых IP-адрес относится к зоне вашей компании, офиса или страны. Затем только этому классу открываете полноценный доступ к FTP, а всем остальным — запрещаете или ограничиваете использование. Назначить права сразу целому классу намного удобнее, чем расписывать разрешение каждому пользователю в отдельности;
? noretrieve тип класс файл — запрещает чтение указанного файла. Параметр тип указывает на абсолютную (absolute) или относительную (relative) адресацию (путь) к файлу. Далее идет определение класса в формате class=имя класса, к которому относится данный запрет. Можно явно указать описанный выше класс all или вообще его опустить, тогда запрет будет относиться ко всем пользователям. Если в качестве файла указан конкретный путь, то доступа не будет только к этому файлу. Если в параметре указано лишь его имя (например, passwd), то будет закрыт доступ ко всем файлам с таким названием в любой директории.
Рассмотрим пример, запрещающий доступ к любым файлам с именем passwd:
noretrieve relative passwd
Попробуйте добавить эту строку в свой конфигурационный файл. Теперь подключитесь к серверу с помощью FTP-клиента. Для тестирования из X Window я в графическом режиме Linux использовал программу gftp. Подключившись к серверу, я создал файл passwd в директории /home и попытался его скачать в каталог /home/flenov. В ответ на это FTP-клиент только создал пустой файл, но скачать ничего не смог, из-за установленного запрета программа завершилась аварийно. Такое окончание — это, конечно же, особенность gftp, а другой FTP-клиент должен правильно обработать ошибку и сохранить работоспособное состояние.
Если FTP-сервер находится на одном физическом сервере с Web-сервером, то вполне логичным будет запретить чтение файла .htaccess, в котором прописываются права доступа на директории для Web-сервера. Пользователи FTP не должны иметь права даже смотреть их. Лучше прописать разрешение только конкретным клиентам, чтобы каждый из них мог работать только со своими файлами .htaccess, или предоставить другой способ редактирования прав.
Работу с системными каталогами можно вообще отменить. Например, следующая строка запретит получение любого файла из директории /etc:
noretrieve /etc
После этого нельзя будет скачать ни один файл не только из директории /etc, но и из ее поддиректорий;
? loginfails число — количество неудачных попыток входа на сервер, после которого в журнале будет создана соответствующая запись. В нашем примере стоит число 5. Если пользователь не смог войти на сервер 5 раз, то это уже говорит о попытке взломщиком подобрать пароль случайным образом или по словарю (атака brute force);
? private параметр — возможность использовать команды wu-ftp-сервера SITE GROUP и SITE GPASS (в других FTP-серверах этих команд может и не быть) для смены группы (значение параметра yes). Если пользователь укажет верную группу и пароль, то он получит права группы из файла ftpgroups;
? deny адрес файл — запрет доступа клиентов с указанного адреса. В случае попытки подключения выводится сообщение из текстового файла, указанного в качестве последнего параметра. Адрес может указываться в виде шаблона;
? defumask mask — маска прав доступа, используемая при создании новых файлов. О команде umask для ОС Linux (задает текущее значение маски) мы говорили в разд. 4.1;
? limit-time тип минуты — ограничение времени сессии. Например, вы хотите, чтобы определенные пользователи не засиживались на вашем FTP-сервере. Используя эту директиву, в качестве типа можно указать звездочку (*) для всех пользователей, real, anonymous или guest. Последний параметр — это количество минут сессии. По прошествии указанного времени соединение будет разорвано;
? file-limit направление число класс — ограничение на число передаваемых файлов. В качестве направления можно указать in (входящие), out (исходящие) и total (всего). Чтобы запретить работу более чем с 10 файлами, воспользуйтесь командой file-limit total 10;
? byte-limit направление число класс — ограничение на число передаваемых байт. Работа директивы схожа с file-limit;
? anonymous-root каталог — задание в явном виде корневой директории для анонимных пользователей, т.к. у них не может быть собственного каталога в отличие от реального пользователя, для которого при подключении к системе корнем является его домашняя директория;
? guest-root каталог — аналогична предыдущей команде. Директива необходима, если вы хотите, чтобы все гости могли работать с одной и той же директорией. Если у каждого гостя должен быть свой каталог, то лучше для каждого из них явно создавать учетную запись (см. разд. 10.6).
? passwd-check тип сообщение — определяет проверку правильности пароля для анонимных пользователей. В данном случае имеется в виду контроль E-mail-адреса, который они используют. В качестве типа может указываться одно из трех значений: none (нет проверки), trivial (простая проверка на содержания в адресе символа "@)" или rfc882 (полная проверка, на соответствие стандарту rfc 822). Параметру сообщение можно присваивать значение warn (выводить предупреждение, но продолжать работу) или enforce (отказать в доступе);
? deny-email адрес — отказ в доступе, если в качестве пароля используется указанный адрес. В большинстве FTP-клиентов в настройках прописан для анонимного доступа какой-либо почтовый ящик, например, my@mail.com. Мало кто меняет этот адрес. Так как он соответствует всем правилам, то сервер не определит, что это обманка. Но можно прописать его в этом параметре, и тогда пользователю придется поменять в настройках FTP-клиента адрес на другой, иначе он не сможет подключиться. Но даже это не будет гарантировать, что анонимный пользователь указал именно свой E-mail в качестве пароля;
? deny-uid идентификаторы — запрещает доступ к FTP пользователям с указанными идентификаторами. Те же самые функции выполняет файл ftpusers, который мы рассмотрим в разд. 10.5. Удобство этой команды в том, что можно задать диапазоны. Например, deny-uid %-500. Данная директива запретит доступ всем пользователям, у которых идентификатор менее 500;
? deny-gid идентификаторы — запрещает доступ к FTP пользователям группы, с указанными идентификаторами. Те же самые функции выполняет файл ftpusers;
? restricted_uid идентификаторы — разрешает гостевому пользователю с указанным ID получать доступ к директориям вне его домашнего каталога;
? restricted_gid идентификаторы — дает право группе пользователей с указанным ID получать доступ к директориям вне домашнего каталога;
? unrestricted_uid идентификаторы — запрещает гостевому пользователю с указанным ID получать доступ к директориям вне его домашнего каталога;
? unrestricted_gid идентификаторы — запрещает группе пользователей с указанным ID получать доступ к директориям вне домашнего каталога;
? dns refuse_no_reverse файл override — выдать сообщение, если клиент не имеет обратного адреса. При отсутствии параметра override соединение будет завершено;
? dns refuse_mismatch файл override — выдать сообщение, если прямой и обратный адреса не совпадают. Если не указать параметр override, то соединение будет завершено. По умолчанию я всегда включаю эту опцию, а отключаю, только если у действительных пользователей возникают проблемы при работе с сервером. Это необходимо для того, чтобы взломщик не мог подделать IP-адрес для входа в систему и обхода соответствующей проверки.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Коммутируемый доступ
Коммутируемый доступ Коммутируемый доступ в Интернет (dial-up) – самый распространенный вследствие своей невысокой стоимости. Для его формирования необходимо наличие телефонной линии (стационарного телефонного номера) и модема.Модем следует выбирать исходя из качества
6.2.4. Общий доступ
6.2.4. Общий доступ Чаще всего, на сервере необходима директория, через которую любой пользователь сможет обмениваться файлами с другими участниками сети. Для настройки такой папки используется секция [tmp]:;[tmp]; comment = Temporary file space; path = /tmp; read only = no; public = yesПо умолчанию секция
10.3.1. Доступ
10.3.1. Доступ Такие директивы определяют основные права доступа к FTP-серверу. Давайте рассмотрим основные из них:? class имя type адреса — позволяет организовать классы пользователей по их типу и адресу. В нашем конфигурационном файле указана следующая строка:class all anonymous,guest,real
10.3.3. Доступ по операциям
10.3.3. Доступ по операциям Помимо этого, в файле ftpaccess может быть описание основных операций и прав доступа к ним. В общем виде это выглядит следующим образом:Действие yes|no пользовательВ качестве действия можно указать одно из следующих значений: chmod, delete, overwrite, rename или umask.
Доступ к принтерам
Доступ к принтерам Часто кому-то бывает необходимо распечатать информацию, а принтера у него под рукой нет. Если вы подключены к сети и у вас есть принтер, то вы можете стать настоящим спасителем, если предоставите его в общее пользование. Тем более что сделать это не
21.7.1. Доступ к Интернет
21.7.1. Доступ к Интернет Прежде всего определимся, нужен ли вашему игровому залу доступ к Интернет. Если нужен, то для каких целей. В большинстве случаев он нужен для того, чтобы посетители могли использовать так называемые Online-версии игр или подсоединяться к всемирным
2.3.2 Доступ с терминала
2.3.2 Доступ с терминала В начале 70-х гг. многие производители компьютеров создавали модели терминалов, которые были совместимы только с их собственными компьютерными системами. Министерство обороны США закупало оборудование у различных производителей и, естественно,
2.4.1 Доступ к файлам
2.4.1 Доступ к файлам Файловые серверы дают пользователю возможность работать с удаленными файлами так, как если бы они располагались на локальной системе. Первоначально файловые серверы получили распространение в локальных сетях персональных компьютеров как средство
Уверенный доступ
Уверенный доступ Если под зарегистрированным доменным именем размещаются какие-то ресурсы, то домен нужно привязать к определенным серверам DNS, обеспечивающим преобразование символьных имен внутри домена в адреса компьютеров, обслуживающих ресурсы. Например, адрес
16.2 Доступ к файлам
16.2 Доступ к файлам В предыдущей главе я уже рассказал про права доступа к файлам, поэтому лишь кратко напомню: в Linux можно с помощью механизма разграничения прав ограничить доступ к файлу на редактирование или же просто полностью запретить доступ к содержимому. Например,
Удаленный доступ
Удаленный доступ Удаленным доступом (DialUP) называют получение доступа к разрешенным папкам компьютера с помощью модема или виртуального частного соединения (VPN). Поскольку VPN является не таким уж частым гостем на домашних компьютерах пользователей, то в данной главе будет
Доступ к сайтам
Доступ к сайтам Чтобы убрать ограничение на доступ к сайтам в IE достаточно удалить все параметры из раздела
Межапартаментный доступ
Межапартаментный доступ Для того чтобы объекты могли находиться в апартаментах, отличных от апартаментов клиента, в СОМ предусмотрена возможность экспорта интерфейсов из одного апартамента и импорта их в другой. Чтобы сделать интерфейс объекта видимым вне апартамента
Неограниченный доступ
Неограниченный доступ По умолчанию все компоненты доступны для всех клиентов. Для классаclass S1 featuref ...g ......endкомпоненты f, g, ... доступны всем клиентам S1. Это означает, что если в классе C объявлена сущность x класса S1, то вызовx.f ... является допустимым, если выполнены все другие