Автор Тема: Каталог локального польователя для vsftpd [решено]  (Прочитано 3939 раз)

Оффлайн zah

  • Давно тут
  • **
  • Сообщений: 128
  • ^_^
Всем привет!

Подскажите, что делаю не так, при входе локального пользователя на ftp сервер попадаю в корень сервера вместо указанного в настройках каталога.

 
# cat /etc/vsftpd.conf

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
idle_session_timeout=600
data_connection_timeout=120
ascii_upload_enable=YES
ascii_download_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
ls_recurse_enable=YES
use_localtime=YES
user_config_dir=/etc/vsftpd/user_conf/
# cat /etc/vsftpd/user_conf/user

local_root=/srv/public/user
# grep user /etc/passwd

user:x:501:501::/srv/public/user:/bin/bash
# ls -l /srv/public/

drwxr-xr-x 2 user     ftpadmin 4096 июл  7 20:09 user
« Последнее редактирование: 24.07.2018 17:52:00 от Skull »

Оффлайн gvy

  • alt linux team
  • ***
  • Сообщений: 988
    • Email
Похоже, придётся *внимательно* читать документацию об условиях вокруг chroot_local_user -- что-то очень смутно из давних времён припоминается (а вообще-то неанонимный ftp сильно не рекомендуют)...
--
Michael Shigorin

Оффлайн Nicom

  • Давно тут
  • **
  • Сообщений: 40
    • Email
Полагаю, что проблема в файле /etc/vsftpd/user_conf/user
Вот мой кусок конфига с chroot-ом.
local_enable=YES
local_umask=022
chmod_enable=YES
chroot_local_user=YES
#       chroot_list_enable=YES
#       chroot_list_file=/etc/vsftpd.chroot_list
#       local_max_rate=7200
#       local_root=/srv/
userlist_enable=YES
userlist_file=/etc/vsftpd.user_list
userlist_deny=no

В файле /etc/vsftpd.user_list построчно прописаны только имена системных пользователей, каждый в новой строке. Только имена, без путей к домашнему каталогу.
vsftpd берёт пути к домашним каталогам из файла /etc/passwd.

Есть ещё файл /etc/ftpusers, в котором прописаны все остальные юзеры, которые не должны иметь логина по ftp.
« Последнее редактирование: 18.07.2018 21:12:57 от Nicom »

Оффлайн zah

  • Давно тут
  • **
  • Сообщений: 128
  • ^_^
Полагаю, что проблема в файле /etc/vsftpd/user_conf/user
Вот мой кусок конфига с chroot-ом.
local_enable=YES
local_umask=022
chmod_enable=YES
chroot_local_user=YES
#       chroot_list_enable=YES
#       chroot_list_file=/etc/vsftpd.chroot_list
#       local_max_rate=7200
#       local_root=/srv/
userlist_enable=YES
userlist_file=/etc/vsftpd.user_list
userlist_deny=no

В файле /etc/vsftpd.user_list построчно прописаны только имена системных пользователей, каждый в новой строке. Только имена, без путей к домашнему каталогу.
vsftpd берёт пути к домашним каталогам из файла /etc/passwd.

Есть ещё файл /etc/ftpusers, в котором прописаны все остальные юзеры, которые не должны иметь логина по ftp.

Да, Вы правы!

Удалил файл /etc/vsftpd/user_conf/user
В конфиг ещё добавил:
allow_writeable_chroot=YESСпасибо за помощь!