разные директории для пользователей VSFTPD

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