前言:今天做了一个服务器端生成excel并保存到另一台服务器,其中使用到了ftp,记录一下安装过程。
一、基础安装
1.安装vsftpd
yum -y install vsftpd
2.设置开机启动
systemctl enable vsftpd
3.启动ftp服务
systemctl start vsftpd.service
4.打开防火墙,开放21端口
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --zone=public --add-service=ftp --permanent
firewall-cmd --reload
二、设置用户及权限
1.添加用户
useradd -g root -d /root/files/excel -s /sbin/nologin ftpadmin
备注:ftpadmin为用户名,且指定上传目录在/files/excel下
如果想修改用户的上传目录到(/root/ftp),可用命令:
usermod -d /root/ftp ftpadmin
2.设置用户密码
passwd ftpadmin
3.配置selinux 允许ftp访问home和外网访问
setsebool -P allow_ftpd_full_access on
setsebool -P tftp_home_dir on
4.设置权限
chown -R ftpuser:root /root/files/excel
chmod 777 /root/files/excel
三、修改配置
1.编辑配置文件:vim /etc/vsftpd/vsftpd.conf,需要修改的内容如下
anonymous_enable=NO
#关闭匿名登录
chroot_local_user=YES
#用于指定用户列表文件中的用户是否允许切换到上级目录。默认值为NO。
#通过搭配能实现以下几种效果:
#①当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd.chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。
#②当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd.chroot_list文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录。
#③当chroot_list_enable=NO,chroot_local_user=YES时,所有的用户均不能切换到其他目录。
#④当chroot_list_enable=NO,chroot_local_user=NO时,所有的用户均可以切换到其他目录。
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
allow_writeable_chroot=YES
#加上这行解决了无法登陆的问题
2.重启
systemctl restart vsftpd.service
问题:
1.File Zilla客户端无法连接
vim /etc/ssh/sshd_config
将:# Subsystem sftp /usr/lib/openssh/sftp-server 注释掉,替换成:
Subsystem sftp internal-sftp
重启sshd
service sshd restart