Главная » Пошаговая настройка vsftpd 2.0.5 на сервере под управлением Fedora Core 7
Итак нам необходим FTP сервер, с возможностью создания виртуальных пользователей и
назначения им любых каталогов.

1. Получим права root

# su -l

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

# yum install vsftpd

3. Заходим в каталог /usr/share/doc/vsftpd-2.0.5/EXAMPLE/VIRTUAL_USERS
проверим содержимое каталога

# ls
logins.txt README README.dir vsftpd.conf vsftpd.pam vsftpd.pam.dir

Итак видим обширный материал для размышления ;).
копируем необходимые файлы в нужные каталоги

4.

#cp logins.txt /etc/vsftpd

5.

#cp vsftpd.conf /etc/vsftpd
6.

#cp vsftpd.pam /etc/pam.d/ftp

7. Создаем дополнительный каталог для настроек пользователей

#mkdir /etc/vsftpd/users

8. Приводим файл /etc/vsftpd/vsftpd.conf следующему содержанию

# наш сервер не будет анонимным
anonymous_enable=NO
local_enable=YES
write_enable=YES
#папка по умолчанию
local_root=/data
anon_upload_enable=YES
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
chroot_local_user=YES
#т.к. будем использовать виртуальных пользователей то нужно привести их к пользователю
#сервера с минимальными правами
guest_enable=YES
guest_username=ftpuser
#укажем папку для хранения дополнительных конфигов
user_config_dir=/etc/vsftpd/users/
virtual_use_local_privs=YES
# выставим нужные права
chmod_enable=YES
chown_uploads=YES
chown_username=ftpuser
# маска создание и чтение файлов - очень важные параметры я убил 2 дня
# на поиски решения (при #создании каталогов - пользователи не могли в
# них попасть т.к. не было прав)
local_umask=0022
anon_umask=0007
file_open_mode=0777
listen=YES
listen_port=21
pasv_min_port=30000
pasv_max_port=30999
xferlog_std_format=YES
xferlog_file=/var/log/vsftpd.log
tcp_wrappers=YES
dirmessage_enable=YES
ftpd_banner=Welcome to Trancecity.ru

9.Создадим пользователя с минимальными правами.

#useradd -d /data ftpuser

10.Создадим небольшой скрипт для внесения пользователей

#touch /etc/vsftpd/useradd.sh

со следующим содержанием:

rm -f /etc/vsftpd/login.db
db42_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/login.db
service vsftpd restart
# chmod +x /etc/vsftpd/useradd.sh

db42_load -T -t hash -f logins.txt /etc/vsftpd/login.db

Последняя команда преобразует текстовый файл logins.txt, в который в
формате обычного текста внесем логины и пароли в таком вот формате:

login1
passwd1
login2
passwd2

в базу данных Berkeley, которая должна быть установлена (в большинстве
случаев по умолчанию)

11. Итак теперь почти все готово для запуска фтп, остается назначить
пользователям нужные права, создадим 2 файла

# touch /etc/vsftpd/users/login1
# touch /etc/vsftpd/users/login2

итак пользователю login1 мы дадим полные права на каталог /data
содержание файла

local_root=/data
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
chroot_local_user=NO

пользователю login2 мы создадим подкаталог /data/login2

# mkdir /data/login1
# chown ftpuser:ftp /data/login2

и файл с настройками будет выглядить след образом

local_root=/data/login2
anon_upload_enable=YES # разрешим аплоад
anon_mkdir_write_enable=YES # разрешим создание и удаление каталогов в своем каталоге
anon_other_write_enable=NO # запретим удаление файлов
chroot_local_user=NO

примечание:

Если эти

anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO

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

12.

#service vsftpd restart

Вот и все.

© Данил

Категория: Интересные статьи | Просмотров: 472