vsftp配置指定用户访问指定目录
下载VSFTP
$ sudo apt-get install vsftpd
创建FTP用户
$ sudo useradd -M -u 2000 -s /usr/sbin/nologin ftpuser
-M 不创建用户目录
-u 指定用户ID
-s 指定用户shell
$ sudo passwd ftpuser
修改vsftp配置文件
$ sudo vim /etc/vsftpd.conf
ftpd_banner=Welcome to liang FTP service. (用户访问ftp时banner信息)
chroot_list_enable=YES (将用户限制在自己的主目录下)
chroot_list_file=/etc/vsftpd.chroot_list (虚拟用户文件)
allow_writeable_chroot=YES (使用了chroot_list_enable=YES需要手动启用用户的读写权限)
anonymous_enable=NO (禁止匿名用户登录)
local_enable=YES (允许本地用户登录)
local_root=/home/ftproot (指定ftp主目录)
userlist_enable=YES (启用本地用户列表)
userlist_deny=NO (如果为YES则表示禁止用户列表文件的用户登录)
userlist_file=/etc/vsftpd.chroot_list (指定用户列表文件)
FAQ
- 用户登陆提示 530 login incorrect
将 pam_service_name=vsftpd 改成 pam_service_name=ftp - 上传文件时报错550
取消 write_enable=YES 的注释 - 用户登陆FTP后可以访问上级目录
chroot_local_user=YES - 修改默认端口修改
注释 connect_from_port_20=YES
修改 listen_port=端口号