最近买了个华为云做一些服务器学习,下面分享下搭建ftp服务器遇到的流程和遇到的问题,我的系统是CentOS 7.5
1、安装vsftpd
执行以下命令安装vsftpd,命令为 : yum install -y vsftpd ,如果出现下面图片则说明安装完成
2、配置FTP服务开机自启动。
systemctl enable vsftpd.service
3、启动FTP服务。
systemctl start vsftpd.service
4、查看FTP服务端口。
netstat -antup | grep ftp
5、创建ftp目录
mkdir -p /data/ftp
6、新增ftp账号
useradd ftp1
7、设置账号密码
passwd ftp1
8、创建的文件目录所有者改为用于登录FTP的用户
chown -R ftp1:ftp1 /data/ftp
9、限制该用户仅能通过 FTP 访问,配置后直接登录服务器会拒绝,如图
usermod -s /sbin/nologin ftp1
10、配置vsftpd.conf,,执行 vi vsftpd.conf 下列为我自己的配置文件内容,具体配置可以查询网上的配置参数说明按自己的需求进行配置,编辑完成后,按Esc键退出编辑模式,并输入:wq保存后退出。
#不允许匿名登录FTP服务器
anonymous_enable=NO
#允许本地用户登录FTP服务器
local_enable=YES
#FTP本地用户使用的文件目录
local_root=/data/ftp
#是否允许本地用户对FTP服务器文件具有写权限
write_enable=YES
#本地用户掩码,查询网上资料说022表示默认创建新文件权限为755
local_umask=022
#该选项设置是否允许上传时以ASCII模式传输数据
ascii_upload_enable=YES
#该选项用于指定是否允许下载时以ASCII模式传输数据
ascii_download_enable=YES
#设置以下参数,限制用户只能访问自身的主目录。
chroot_local_user=YES
#启用例外用户名单
chroot_list_enable=YES
#例外用户名单地址,如果没有该文件需要自己创建
chroot_list_file=/etc/vsftpd/chroot_list
#需要同时设置allow_writeable_chroot,允许受限用户的写权限,不然会报错
allow_writeable_chroot=YES
#当为YES时,vsftpd将以单独模式运
listen=YES
#类似listen选项,如果listen=YES那么必须设置为NO
listen_ipv6=NO
#FTP服务器的公网IP地址
pasv_address=xx.xx.xx.xx
#同userlist_deny一起组合控制登录账户,建议查询网上资料组合使用
userlist_enable=YES
#连接时将通过tcp_wrapper访问控制
tcp_wrappers=YES
#被动模式下的最小端口
pasv_min_port=30000
#被动模式下的最大端口
pasv_max_port=30010
#开启被动模式
pasv_enable=YES
#(下列默认没改过,暂时没研究作用)
#是否激活目录欢迎信息功能
dirmessage_enable=YES
xferlog_enable=YES
#主动模式数据传输20端口
connect_from_port_20=YES
xferlog_std_format=YES
pam_service_name=vsftpd
11、执行以下命令重启vsftpd服务使配置生效。
service vsftpd restart
12、如果是普通CentOS系统到此处就可以访问 ftp://XX.XX.XX.XX 端口默认为21访问ftp,华为云还需要配置对应的云服务器安全组的入方向规则,在控制台选择安全组进入配置界面。
13、访问ftp://XX.XX.XX.XX,出现此页面说明部署成功
遇到问题:
1、如果执行过/sbin/nologin ,登陆时发现账号密码正确却无法登录
进入 cd /etc 打开 vi shells 加入一行:/sbin/nologin 后,按Esc键退出编辑模式,并输入:wq保存后退出。