多个用户访问服务器 18.04 中的同一个 vsftpd chroot 环境

多个用户访问服务器 18.04 中的同一个 vsftpd chroot 环境

我在 Ubuntu Server 18.04.4 中有三个不同的用户:

ls -la /home
total 28
drwxr-xr-x  7 root          root          4096 Mar  6 17:17 .
drwxr-xr-x 25 root          root          4096 Mar  4 15:06 ..
drwxr-xr-x  2 Acap          Acap          4096 Mar  6 17:17 Acap
drwxr-xr-x  5 administrator administrator 4096 Mar  6 17:08 administrator
drwxr-xr-x  2 Dgaiec        Dgaiec        4096 Mar  6 17:25 Dgaiec
drwxr-xr-x  4 ipt           ipt           4096 Feb 26 18:34 ipt
drwxr-xr-x  5 sivhappftp    sivhappftp    4096 Mar  6 17:06 sivhappftp

我的 vsftpd.conf 文件如下:

~$ cat /etc/vsftpd.conf      
listen=YES
#listen_ipv6=NO
connect_from_port_20=YES

anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
local_umask=022
user_sub_token=$USER
local_root=/home/$USER/sivh
allow_writeable_chroot=YES
secure_chroot_dir=/var/run/vsftpd/empty

pam_service_name=vsftpd

pasv_enable=YES
pasv_min_port=40000
pasv_max_port=45000

userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO

vsftpd.userlist 是:

~$ cat /etc/vsftpd.userlist          
sivhappftp
Dgaiec
Acap

我的疑问如下:如何允许 Dgaiec 和 Acap 用户访问 sivhappftp chroot 环境?当他们登录服务器时,我不希望进入各自的 chroot 环境,而是直接导航到 sivhappftp chroot 环境。

答案1

我已经通过使用以下方式挂载所需目录来实现我需要的功能--绑定范围:

mkdir /home/ftp_user/sivh/
sudo mount --bind /home/sivhappftp/sivh/ftp_user/ /home/ftp_user/sivh/

此后,每个 ftp 用户将能够在其主目录中看到所需的文件,并在其 ftp 客户端中使用它们,就像它们是本地文件一样。

使此配置永久化,包括每行,/etc/fstab

/home/sivhappftp/sivh/ftp_user/   /home/ftp_user/sivh/      none    bind    0       0

相关内容