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 错误