Перейти к содержанию
Авторизация  

Настройка FTP сервера linux


Описание

Настройка FTP сервера на ваш сервер.

Установка ProFTPd серверa

 

1. Убедитесь, что ProFTPd есть в ваших репозиториях:

aptitude search proftpd

 

Если все успешно, ответ будет таким:

 

root@ns381662:/home/freezz# aptitude search proftpd

p gadmin-proftpd - GTK+ configuration tool for proftpd

p gadmin-proftpd-dbg - GTK+ configuration tool for proftpd

p gforge-ftp-proftpd - collaborative development tool - FTP manag

v proftpd -

v proftpd-abi-1.3.3a -

i proftpd-basic - Versatile, virtual-hosting FTP daemon - bi

p proftpd-dev - Versatile, virtual-hosting FTP daemon - de

p proftpd-doc - Versatile, virtual-hosting FTP daemon - do

p proftpd-mod-ldap - Versatile, virtual-hosting FTP daemon - LD

p proftpd-mod-mysql - Versatile, virtual-hosting FTP daemon - My

p proftpd-mod-odbc - Versatile, virtual-hosting FTP daemon - OD

p proftpd-mod-pgsql - Versatile, virtual-hosting FTP daemon - Po

p proftpd-mod-sqlite - Versatile, virtual-hosting FTP daemon - SQ

root@ns381662:/home/freezz#

 

2. Установка и настройка сервера.

Все действия производятся от имени root.

Устанавливаем сервер:

apt-get install proftpd

 

Настройка ФТП сервера происходит в 1 файле:

nano /etc/proftpd/proftpd.conf

 

открывается файл proftpd.conf (кофиг сервера), мы там увидим:

(вытянул самые важные конфиги)

 

UseIPv6 off # выключаем использование IP v6 за ненадобностью

ServerType standalone

# DeferWelcome off

DefaultServer on

 

# права, с которыми будут создаваться файлы и папки

Umask 022

 

#ServerName "0.0.0.0" # Любое имя для ftp-сервера

ServerIdent on "My FTP Server"

ServerAdmin

 

# запрещаем подключать от пользователя root:

RootLogin off

 

# определять имя хоста клиента по IP адресу (желательно отключать для ускорения доступа)

UseReverseDNS off

 

# Порт сервера

Port 21 # из соображений безопасности можете поставить любой незанятый

 

 

# Против DDOS атаки, полезно для безопасности

# максимальное число одновременно запускаемых процессов в режиме standalone

MaxInstances 8

 

MaxLoginAttempts 3

 

MaxClientsPerHost 8

MaxClientsPerUser 8

MaxHostsPerUser 8

 

# Сообщение после успешного захода на сервер

AccessGrantMsg "Kyky, server pashet"

 

TimeoutLogin 20

TimeoutNoTransfer 120

TimeoutIdle 120

DisplayLogin welcome.msg

DisplayChdir .message

 

#Запрещаем заливать на сайт файлы начинающиеся с точки, полезно для безопасности

DenyFilter \*.*/

 

# директория, на которую устанавливается сервер

# (сейчас указана домашняя директория подключенного пользователя)

DefaultRoot ~

 

# Пользователь и группа, от которого работает сервер

User nobody

Group nogroup

 

 

# Автоматическое удаление недогруженного файла.

DeleteAbortedStores off

 

</IfModule>

<IfModule mod_ratio.c>

 

# Количество попыток ввода пароль перед отсоединением

MaxLoginAttempts 3

 

# Ограничить допустимый размер загружаемых файлов

#MaxStoreFileSize 1 Gb

 

# Ограничить допустимый размер скачиваемых файлов

#MaxRetrieveFileSize 1 Gb

 

# Логи

TransferLog /var/log/proftpd/xferlog

SystemLog /var/log/proftpd/proftpd.log

 

</IfModule>

 

#VALID LOGINS Добавляем пользователей, которым разрешен доступ к серверу

<Limit LOGIN>

AllowUser user1

AllowUser user2

DenyALL

</Limit>

 

# Разрешить перезапись файлов

AllowOverwrite off

 

# разрешить перезаписывать существующие файлы,

# область действия - server config, VirtualHost, Anonymous, Directory, Global, .ftpaccess

AllowOverwrite on

<Limit LIST NLST STOR STOU APPE RETR RNFR RNTO DELE MKD XMKD SITE_MKDIR RMD XRMD SITE_RMDIR SITE SITE_CHMOD SITE_CHGRP MTDM PWD XPWD SIZE STAT CWD XCWD CDUP XCUP >

AllowAll

</Limit>

<Limit NOTHING >

DenyAll

</Limit>

</Anonymous>

 

<Anonymous /var/www/httpd/user2-ru>

User user2

Group group1

AnonRequirePassword on

MaxClients 10 "The server is full, hosting %m users"

DisplayLogin welcome.msg

<Limit LOGIN>

Allow from all

Deny from all

</Limit>

 

# Разрешить перезапись файлов

AllowOverwrite off

 

# разрешить перезаписывать существующие файлы,

# область действия - server config, VirtualHost, Anonymous, Directory, Global, .ftpaccess

AllowOverwrite on

<Limit LIST NLST STOR STOU APPE RETR RNFR RNTO DELE MKD XMKD SITE_MKDIR RMD XRMD SITE_RMDIR SITE SITE_CHMOD SITE_CHGRP MTDM PWD XPWD SIZE STAT CWD XCWD CDUP XCUP >

AllowAll

</Limit>

<Limit NOTHING >

DenyAll

</Limit>

</Anonymous>

 

 

В общем то и все, тонкая настройка FTP сервера завершена.

 

 

После всех настроек не забываем перезапустить демон proftpd

/etc/init.d/proftpd restart

 

Сервер готов к использованию!

 

II. Добавление пользователей.

 

У нас есть рабочий FTP-сервер, необходимо добавить его пользователей. Пусть все они, для удобства, хранят свои данные в каталоге /var/ftp/%имя_пользователя%. Добавим одного такого пользователя, создав для подобных ему группу ftp_users. 1.

Создадим группу:

 

addgroup ftp_users

 

 

2. Добавим пользователя ftp01, указав расположение его домашнего каталога, оболочку, запрет на вход в систему и группу.

Запрещаем ему SSH доступ включительно.

adduser ftp01 --home /var/ftp/ftp01 --shell /bin/false --disabled-login --ingroup ftp_users

 

3. Указываем пароль юзеру:

passwd ftp01



Рекомендуемые комментарии

Комментариев нет

×
×
  • Создать...