我在 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