Red Page

Микроблог Красная Страница

Установка ftp сервера на GNU/Linux Debian

Установка PURE-FTPD

Для начала устанавливаем пакет pure-ftpd.

# apt-get install pure-ftpd

Настройка параметров безопасности:

1. # cd /etc/pure-ftpd/conf/
2. # echo yes > ChrootEveryone
3. # echo yes > ProhibitDotFilesRead
4. # echo yes > ProhibitDotFilesWrite
5. # echo yes > NoChmod
6. # echo yes > BrokenClientsCompatibility


1. Переходим в папку с файлами конфигурации.
2. Ставим запред подниматься выше домашней директории cd / и cd ../.
3. Установка запрета на чтение файлов с точки .*
4. Установка запрета на запись файлов с точки .*
5. Запрет установки прав доступа клиентом.
6. Запрет несовместимым/битым клиентам на работу с сервером. По возможности отбивает хакерские утилиты.

Настройка параметров авторизации:

1. # echo no > PAMAuthentication
2. # echo no > UnixAuthentication
3. # echo /etc/pure-ftpd/pureftpd.pdb > PureDB
4. # ln -s /etc/pure-ftpd/conf/PureDB ../auth/50pure


Данными действиями мы переходим к авторизации виртуальных пользователей находящихся в базе данных /etc/pure-ftpd/pureftpd.pdb, заранее отключив другие виды авторизации.
Теперь нужно добавить системную группу и пользователя которые будут производить запись/чтение файлов на диск.

1. # groupadd -g 2001 ftpgroup
2. # useradd -u 2001 -s /bin/false -d /bin/null -c "pureftpd user" -g ftpgroup ftpuser


Теперь создадим и запишем в базу нового пользователя test.

1. # pure-pw useradd test -u ftpuser -g ftpgroup -d /home/test -N 10
2. # pure-pw mkdb


Не забываем перезагрузить сервер:

# /etc/init.d/pure-ftpd restart

Теперь можно начинать работать с сервером.

Дополнительно



Настройка TSL/SSL.

Генерируем сертификат безопасности, после чего необходимо будет перезагрузить сервер.

1. # echo 1 > TLS
2. # openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
3. # chmod 600 /etc/ssl/private/pure-ftpd.pem


После чего перезагружаем сервер.

Изменение параметров аккуанта на ftp сервере:

Сброс установленных значений.
# pure-pw usermod login -n "" -- сброс квот на количество файлов;
# pure-pw usermod login -N "" -- сброс квот на размер файлов;
# pure-pw usermod login -q "" -Q "" -- сброс соотношений download/upload;
# pure-pw usermod login -t "" -- сброс ограничения скорости download;
# pure-pw usermod login -T "" -- сброс ограничения скорости upload;
# pure-pw usermod login -i "" -I "" -r "" -R "" -- сброс соответствующих ограничений по ip;
# pure-pw usermod login -z "" -- сброс временных ограничений;
# pure-pw usermod login -y "" -- сброс ограничений на количество подключений.

В кавычках так же можно указать новые лимиты для пользователя.

Удаление аккаунта осуществляется следующим образом:
# pure-pw userdel login

Изменение пароля осуществляется следующим образом:
# pure-pw passwd login

После добавления (удаления, модификации) данных аккаунта изменения не вступят в силу, пока не будет обновлен файл /etc/pure-ftpd/pureftpd.pdb.

Для создание нового файла pureftpd.pdb, используйте следующую команду:

# pure-pw mkdb

В том случае, если вы используете имена файлов, отличные от /etc/pure-ftpd/pureftpd.passwd и /etc/pure-ftpd/pureftpd.pdb, файлы необходимо указать явно:
pure-pw mkdb /path/to/file.pdb -f /path/to/files.passwd.

Чтобы избежать использования pure-pw mkdb после каждого изменения данных,

используйте опцию -m в командах модификации, например:

# pure-pw useradd andrew -u ftpusers -g ftpusers -d /home/ftpusers/andrew -m
Таким образом изменения сразу же будут внесены в файл pureftpd.pdb.

Получение информации об аккаунтах

Для просмотра данных аккаунта используется следующий синтаксис pure-pw:

# pure-pw show login [-f passwd file]