AllInfo
Main: Info Blog Temp Mail


unix 2014-02-16 10-24-37

Приводим файл /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

3.17.174.204 / 2024-12-22_20-04-10 UTC.