Deepin20.9
- # apt install -y vsftp //安装ftp服务软件
- # apt install -y db-util //安装虚拟用户密码库处理软件
- # apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances --no-pre-depends vsftpd | grep -v i386 | grep "^\w")
- # apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances --no-pre-depends db-util| grep -v i386 | grep "^\w")
# dpkg -i *.deb
- # mkdir -p /data/vftp/pub
- # chmod a-w /data/vftp
- # vi /etc/vsftpd/vusers.list
- user1
- user1pass
- user2
- user2pass
- [EOF]
- # db_load -T -t hash -f /etc/vsftpd/vusers.list /etc/vsftpd/vusers.db
- # chmod 600 /etc/vsftpd/vusers.db
- # useradd -g ftp -d /data/vftp -s /sbin/nologin vftp
- # chown vftp.ftp /data/vftp
-
- # useradd -g ftp -d /data/vftp/user1 -s /sbin/nologin user1
- # chown user1.ftp /data/vftp/user1
-
- # useradd -g ftp -d /data/vftp/user2 -s /sbin/nologin user2
- # chown user2.ftp /data/vftp/user2
- # vi /etc/pam.d/vsftpd
-
- # Standard behaviour for ftpd(8).
- auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
-
- # Note: vsftpd handles anonymous logins on its own. Do not enable pam_ftp.so.
-
- # Standard pam includes
- @include common-account
- @include common-session
- @include common-auth
- #auth required pam_shells.so #需注释
-
- auth sufficient pam_userdb.so db=/etc/vsftpd/vusers #添加行,指向虚拟用户密码库
- account sufficient pam_userdb.so db=/etc/vsftpd/vusers #添加行,指向虚拟用户密码库
- listen=YES #启用服务
- write_enable=YES #启用可写操作
- listen_port=30021 #指定端口
- #listen_address=xxx.xxx.xxx.xxx #指定主机IP
-
- anonymous_enable=NO #禁用匿名服务
- local_enable=YES #启用系统用户服务
- local_umask=022
- chroot_local_user=YES #启用禁止系统用户使用chroot()功能
-
- #虚拟用户
- pam_service_name=/etc/pam.d/vsftpd #指向虚拟用户验证配置文件
- guest_enable=YES #启用虚拟用户服务
- guest_username=vftp #支持虚拟用户服务的系统用户
- user_config_dir=/etc/vsftpd/vusers #虚拟用户配置目录
- chroot_list_enable=YES #启用禁止chroot()功能
- chroot_list_file=/etc/vsftpd/vusers.list #指向需要禁止chroot()功能的用户文件
-
- virtual_use_local_privs=YES #虚拟用户使用系统用户相同的权限
- use_localtime=YES #使用系统时间
- guest_enable=yes
- guest_username=user1
- local_root=/data/vftp/user1
- anon_upload_enable=YES
- anon_world_readable_only=NO
- anon_mkdir_write_enable=YES
- anon_other_write_enable=YES
- write_enable=YES
- guest_enable=yes
- guest_username=user2
- local_root=/data/vftp/user2
- anon_upload_enable=YES
- anon_world_readable_only=NO
- anon_mkdir_write_enable=YES
- anon_other_write_enable=YES
- write_enable=YES
- # systemctl enable vsftpd //启用自动启动服务
- # systemctl start vsftpd //启动服务
- # systemctl stop vsftpd //停止服务
- # systemctl restart vsftpd //重启服务