Linux中FTP安装与配置

clmngu 2020-06-03

1.安装vsftp软件包
[ ~]# yum install -y vsftpd

2.修改vsftpd配置文件

[ ~]# vim /etc/vsftpd/vsftpd.conf 
anonymous_enable=NO    #不允许匿名登录
local_enable=YES       #vsftpd所在系统的用户可以登录vsftpd 
write_enable=YES       #允许使用任何可以修改文件系统的FTP的指令
local_umask=022        #匿名用户新增文件的umask数值
dirmessage_enable=YES
xferlog_enable=YES      #启用一个日志文件,用于详细记录上传和下载
connect_from_port_20=YES   #开启20端口
xferlog_std_format=YES     #记录日志使用标准格式
listen=NO                  #关闭监听
listen_ipv6=YES            #监听IPV6地址
pam_service_name=vsftpd    #验证文件的名字
userlist_enable=YES        #允许由userlist_file指定文件中的用户登录FTP服务器
chroot_local_user=NO       #用于指定用户列表文件中的用户,是否允许切换到上级目录
chroot_list_enable=YES     #如果启动这项功能,则所有列在chroot_list_file之中的使用者不能更改根目录
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list    #指定限制的用户文件
allow_writeable_chroot=YES
从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。
要修复这个错误,可以用命令chmod a-w /home/user去除用户主目录的写权限,注意把目录替换成你自己的。或者你可以在vsftpd的配置文件中增加下列项:
allow_writeable_chroot=YES

3.添加ftp用户,设置主目录,不允许使用shell

[ ~]# useradd -d /home/ftpuser/ -g ftp -s /sbin/nologin ftpuser

4.设置ftp用户密码

[ ~]# passwd ftpuser
> ```
> 设置后,只有/etc/vsftpd.chroot_list文件中指定的用户才能够执行chroot命令。
> 默认/etc/vsftpd/chroot_list不存在,需要手动创建
> [ ftp]# vim /etc/vsftpd/chroot_list
> ftpuser

#### 6.重启服务,并将服务设置为开机自启
[ ~]# systemctl start  vsftpd.service
[ ~]# systemctl enable vsftpd.service

相关推荐