Я включил это в vsftpd.conf
chroot_local_user = ДА
chroot_list_enable = ДА
chroot_list_file = / etc / vsftpd.chroot_list
user_config_dir = / etc / vsftpd_user_conf
и вот пользователь, установленный в каталоге vsftpd_user_conf
ftpupload:
local_root = / mnt / upload
Но / mnt / upload монтируется из другого каталога
/ mnt / upload on / opt / upload type none (rw, bind)
Вот список в /mn/upload
raw_images /
обувь-пентланд /
поставщик-загрузка /
стрельба /
Дополнительно shooting/
каталог монтируется из другого места
/ mnt / upload / стрельба вкл / mnt / нет стрельбы (rw, bind)
Теперь вот в чем проблема.
Когда я использую ftp-клиент для перемещения файлов между каталогами, но не могу. Файлы могут перемещаться между любыми каталогами, кроме shooting
один.
Разрешение правильное. Я могу успешно перемещать любые файлы между этими каталогами, используя su ftpupload
.
Это означает, что vsftpd не поддерживает mount bind
?
Вот vsftpd.conf
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=000
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=YES
chown_username=app
xferlog_std_format=NO
log_ftp_protocol=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
user_config_dir=/etc/vsftpd_user_conf
ls_recurse_enable=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
pasv_enable=YES
pasv_max_port=***
pasv_min_port=***
port_enable=YES
pasv_address=***
virtual_use_local_privs=YES
tcp_wrappers=YES
и вот mtab:
/mnt/upload /opt/upload none rw,bind 0 0
/mnt/upload/shooting /mnt/shooting none rw,bind 0 0
все разрешения в / mnt / upload одинаковы:
drwxrwxrwx * приложение ftpupload
Вы подключаете пользователя к /mnt/upload
? Проблема может быть в том, что vsftpd обнаруживает /mnt/upload/shooting
быть вне chroot, хотя я ожидаю, что это сработает с помощью bind mount. Попробуйте отключить chroot или перенаправить пользователя на /mnt
.