Linux 下搭建ftp服务

记录一下操作步骤:

参考博客:https://www.cnblogs.com/Sungeek/p/10148656.html

#防火墙:
启动:systemctl start firewalld
关闭:systemctl stop firewalld
查看:systemctl status firewalld
开机禁止:systemctl disable firewalld
开机启用:systemctl enable firewalld
开放端口:firewall-cmd --zone=public --add-port=8085/tcp --permanent
关闭端口:firewall-cmd --zone=public --remove-port=8085/tcp --permanent
配置生效:firewall-cmd --reload

1、查询安装包

rpm -qa |grep vsftpd

2、安装vsftpd

yum install vsftpd -y

查看版本:vsftpd -v

3、启动服务

systemctl start vsftpd 

4、查看端口监听

netstat -nultp | grep 21

5、配置ftp

vim /etc/vsftpd/vsftpd.conf

#是否允许匿名,默认no
anonymous_enable=NO

#这个设定值必须要为YES 时,在/etc/passwd内的账号才能以实体用户的方式登入我们的vsftpd主机
local_enable=YES

#具有写权限
write_enable=YES

#本地用户创建文件或目录的掩码
local_umask=022

#当dirmessage_enable=YES时,可以设定这个项目来让vsftpd寻找该档案来显示讯息!您也可以设定其它档名!
dirmessage_enable=YES

#当设定为YES时,使用者上传与下载日志都会被纪录起来。记录日志与下一个xferlog_file设定选项有关
xferlog_enable=YESxferlog_std_format=YES

#上传与下载日志存放路径
xferlog_file=/var/log/xferlog 

#开启20端口
connect_from_port_20=YES

#关于系统安全的设定值:
#ascii_download_enable=YES(NO)
#如果设定为YES ,那么 client 就可以使用 ASCII 格式下载档案。
#一般来说,由于启动了这个设定项目可能会导致DoS 的攻击,因此预设是NO。
#ascii_upload_enable=YES(NO)
#与上一个设定类似的,只是这个设定针对上传而言!预设是NO。
ascii_upload_enable=NO
ascii_download_enable=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_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

allow_writeable_chroot=YES

#这个是pam模块的名称,我们放置在/etc/pam.d/vsftpd
pam_service_name=vsftpd

#当然我们都习惯支持TCP Wrappers的啦!
tcp_wrappers=YES

#不添加下面这个会报错:500 OOPS: vsftpd: refusing to run with writable root inside chroot()
allow_writeable_chroot=YES

#ftp的端口号
listen_port=22
#启动被动式联机(passivemode)
pasv_enable=YES
#上面两个是与passive mode 使用的 port number 有关,如果您想要使用65400到65410 这 11 个 port 来进行被动式资料的连接,可以这样设定
pasv_min_port=6000
pasv_max_port=10000

#FTP访问目录
local_root=/opt/ftp/

6、重启vsftpd服务

systemctl restart vsftpd 

7、创建ftp用户,限制其登录

useradd  -d /opt/ftp/ -s /sbin/nologin ftpUser

删除用户:userdel -r ftpUser

设置密码:passwd ftpUser

设置用户访问权限:chown -R ftpUser /opt/ftp

8、SElinux配置

getsebool -a | grep ftp

setsebool -P ftpd_full_access=on

setenforce 0 :关闭selinux
setenforce 1 :开启selinux

9、开机自启

chkconfig vsftpd on

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章