环境Ubuntu20.04,安装的ftp server为vsftpd。
1. 安装ftp服务器。
apt-get install vsftpd
2. 修改配置文件 vim /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
chroot_local_user=YES
allow_writeable_chroot=YES
# ftp服务器将处于独立启动模式
listen=YES
# 设置一个本地用户登录后进入到的目录
#local_root=/home/ftp
# 设置PAM认证服务的配置文件名称,该文件保存在“/etc/pam.d/”目录下
pam_service_name=ftp
# 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
3. 创建用户ftp目录
mkdir /home/ftp
接着创建一个子目录,
mkdir /home/ftp/data
修改ftp这个目录的权限,
修改权限
chmod -R 777 /home/ftp
4. 新建用户
还需要手动创建一个文件allowed_users,位于 /etc/vsftpd下,创建该文件的命令是
touch allowed_users
创建文件成功后,我们就可以添加访问用户了,添加用户的命令是
useradd -d /home/ftp/data -s /sbin/nologin ftp_user
添加一个用户(ftp_user),但是该用户不能登录系统。
接着设置该用户的密码,输入命令,
passwd ftp_user
将上面添加的用户,手动写入到 /etc/vsftpd/allowed_users。只需要添加一行,写入用户名即可