VSFTP Veracrypt 安装容器-550 无法更改目录

VSFTP Veracrypt 安装容器-550 无法更改目录

VERACRYPT 容器无法通过 Linux/UNIX 上的 FTP 访问 - VERACRYPT 容器可通过 Windows 上的 FTP 访问。VERACRYPT 容器可通过 SAMBA 在 Linux 上访问(风险自负 - SAMBA 将定期为已安装的 VERACRYPT 容器创建 I/O 错误。)希望这可以帮助某些人避免花费数天时间尝试使用 Linux 和 veracrypt 尚无法完成的事情 - 干杯

参考: https://pastebin.com/wwHcHeEv

我尝试通过 ftp 访问(读取/写入)veracrypt 挂载的容器。我可以通过 /media/veracrypt(veracrypt 文件夹的默认挂载点)访问 veracrypt 挂载... 也可以通过 /var/ftp/ftpd/ftpntfs 本地绑定挂载访问。

~# mount --bind /media/veracrypt6 /var/ftp/ftpd/ftpntfs 
~# umount /var/ftp/ftpd/ftpntfs 

我也可以通过 ftp 查看 /var/ftp/ftpd/ftpntfs,但是当安装 veracrypt 时,我收到 550 错误,并切换到 /var/ftp/ftpd/ftpntfs 目录。当未安装 veracrypt 时,/var/ftp/ftpd/ftpntfs 是一个可访问的空文件夹。

vsftpd 配置文件

listen_ipv6=YES
#
# Allow anonymous FTP? (Disabled by default).
anonymous_enable=YES
#
# Uncomment this to allow local users to log in.
local_enable=YES
ftp_username=ftpd
#

write_enable=YES
#
# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
#local_umask=022
#

#anon_upload_enable=YES
#

#anon_mkdir_write_enable=YES

dirmessage_enable=YES

use_localtime=YES
#
# Activate logging of uploads/downloads.
xferlog_enable=YES
#
# Make sure PORT transfer connections originate from port 20 (ftp-data).
connect_from_port_20=YES

#chown_uploads=YES
#chown_username=whoever

#xferlog_file=/var/log/vsftpd.log

#xferlog_std_format=YES

#idle_session_timeout=600

#data_connection_timeout=120

#nopriv_user=ftpsecure

#async_abor_enable=YES

#ascii_upload_enable=YES
#ascii_download_enable=YES

# chroot_list_enable below.
#chroot_local_user=YES
#

#chroot_local_user=YES
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd.chroot_list

# Customization

# This option should be the name of a directory which is empty.  Also, the
# directory should not be writable by the ftp user. This directory is used
# as a secure chroot() jail at times vsftpd does not require filesystem
# access.
secure_chroot_dir=/var/run/vsftpd/empty

pam_service_name=vsftpd

rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO

#utf8_filesystem=YES

我编辑了 [vsftpd.conf][1] 文件,因为它很长,而且在论坛中编辑“代码”要花很长时间,所以我将它发布到 pastebin,如果我找到答案或者有人帮助“巧妙地”解决了这个问题,我会在这里编辑 conf 文件,显然,从谷歌和论坛搜索来看,这是一个未解决的反复被问到的问题。

/var/ftp/ftpd/ftpntfs/ is mounted to veracrypt mounted folder
~# mount --bind /media/veracrypt6 /var/ftp/ftpd/ftpntfs

可以通过 nautilus 和命令行在本地访问 ~/ftpntfs,但通过 ftp 可以看到但无法访问 ~/ftpntfs 文件夹

(显示输出)

150 Here comes the directory listing.
drwx------    1 0        0            4096 May 11 03:05 ftpntfs
-rwxrwxrwx    1 0        0            7784 May 07 22:36 vsftpd-f3067736.txt
226 Directory send OK.
ftp> cd ftpntfs
550 Failed to change directory.

尝试过

~# chown -R ftpd:ftpd /media/veracrypt6/
~# chown 777 /var/ftp/ftpd/ftpntfs
~# chown 777 /media/veracrypt6
~# chown -R ftpd:ftpd /var/ftp/ftpd/ftpntfs/

出于兴趣我尝试过:

~# chgrp -R ftpd /var/ftp/ 
~# cd ~/ftpntfs/ 
bash: cd: /root/ftpntfs/: No such file or directory

~# ls -ld /var/ftp/
drwxr-xr-x 3 root ftpd 4096 May  8 03:43 /var/ftp/


我肯定做错了什么,但不确定是什么。任何建议都值得赞赏

[1]:https://pastebin.com/xFAER385- 编辑了 vsftpd.conf
# chown -hR ftpd /var/ftp/ 似乎在 chown 和 chmod 不起作用时成功更改了 /var/ftp 的所有权(chown -hR 来自 chown --help),但这会产生错误

500 OOPS: vsftpd: refusing to run with writable root inside chroot()
Login failed
ftp> cd ftpntfs
421 Service not available, remote server has closed connection 

对此的修复是 - 使用以下代码在 google liquidweb 中搜索(我没有权限发布更多链接,但相同的修复相对容易找到)

:#echo 'allow_writeable_chroot=YES' >> /etc/vsftpd/vsftpd.conf

或者
直接添加

allow_writeable_chroot=YES 

在 vsftpd.conf 文件中的某个地方
,但这并不能解决 550 ftp 错误

相关内容