Thank you for reading this post, don't forget to subscribe!
Иногда необходимо, чтобы разные пользователи имели доступ только к своим директориям, которые находятся в разных расположениях, и не видели чужие директории. Стандартная схема здесь не совсем подходит, когда папки пользователей находятся в одной общей, корневой. Поэтому внесем небольшие изменения в конфигурационный файл VSFTPD.
Добавим в файл /etc/vsftpd/vsftpd.conf следующую строку:
user_config_dir=/etc/vsftpd/user_config_dir/
Нам необходимы точные имена пользователей. Посмотреть можно так:
# vsftpd userlist
myftpuser1
myftpuser2
Теперь создадим директорию в которой будем хранить индивидуальные настройки для каждого пользователя и файлы настроек, которые должны называться точно так же, как имя пользователя:
# mkdir -p /etc/vsftpd/user_config_dir/
# touch /etc/vsftpd/user_config_dir/myftpuser1
# touch /etc/vsftpd/user_config_dir/myftpuser1
Напимер, у первого пользователя рабочая директория должна быть /dirs/user1/, а у второго — /mnt/ftp/user2/. Тогда открываем и заполняем конфигурационные файлы с помощью любимого редактора (например VIM), чтобы получилось так:
# cat /etc/vsftpd/user_config_dir/myftpuser1
local_root=/dirs/user1
write_enable=YES
# cat /etc/vsftpd/user_config_dir/myftpuser2
local_root=/mnt/ftp/user2
write_enable=YES