ubuntu ftp - xd21303/Notebook GitHub Wiki

安装vsftpd

apt-get install vsftpd 

修改配置文件 /etc/vsftpd.conf

# 禁止匿名用户登录
anonymous_enable=NO
# 允许系统用户登录
local_enable=YES
# 启用可以修改文件的 FTP 命令
write_enable=YES
# 本地用户创建文件的 umask 值
local_umask=022
# 允许为目录配置显示信息,显示每个目录下面的message_file文件的内容
dirmessage_enable=YES
# 开启日记功能 
xferlog_enable=YES
# 使用标准的20端口来连接ftp 
connect_from_port_20=YES
# 使用标准日志格式 
xferlog_std_format=YES
# 如果启动这项功能,则所有列在chroot_list_file之中的使用者不能更改根目录
chroot_list_enable=YES
# 指定限制的用户文件
chroot_list_file=/etc/vsftpd/chroot_list
# ftp服务器将处于独立启动模式
listen=YES
# 设置一个本地用户登录后进入到的目录
local_root=/home/ftp
# 设置PAM认证服务的配置文件名称,该文件保存在“/etc/pam.d/”目录下
pam_service_name=vsftpd
# ftp将检查userlist_file设置文件中指定的用户是否可以访问vsftpd服务器
userlist_enable=YES
# 只允许user_list文件中记录的ftp用户能登录vsftp服务,其他的ftp用户都不可以登录。
userlist_deny=NO
# 定义限制/允许用户登录的文件
userlist_file=/etc/vsftpd/allowed_users  
# ftp服务器将使用tcp_wrappers作为主机访问控制模式
tcp_wrappers=YES
# 连接ftp服务费使用的端口
listen_port=21

设置运行登录的名单列表

userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/allowed_users

seccomp_sandbox=NO
local_enable=YES

创建/etc/allowed_users文件,将允许登录的用户名写在里面。

添加一个专门的ftp用户,不允许登录。 -d 是ftp用户的默认目录

sudo useradd -d /home/ftp/data -s /sbin/nologin zhangxw
sudo passwd zhangxw

将zhangxw添加到/etc/allowed_users里。

重启ftp服务

sudo service vsftpd restart

将/sbin/nologin添加到/etc/shells文件里面,以使得/sbin/nologin生效。