Linux系统安装部署ftp服务器

Linux系统安装部署ftp服务器

作为一名开发人员,时不时得挑起运维的大梁!
介绍一款超简单的ftp安装方式,一定适合你!

1.检测系统是否已安装ftp
  rpm -q vsftpd
  如果已经安装了ftp服务,则出现ftp的版本信息
2.使用yum安装ftp
  yum -y install vsftpd
  进入默认安装目录:/etc/vsftpd,里面有四个文件
  ftpusers		黑名单文件,此文件里的用户不允许访问 FTP 服务器,总是生效
  user_list		是否允许访问 FTP 服务器的用户列表,取决于userlist_enable和userlist_deny两项配置
  vsftpd.conf		核心配置文件
  vsftpd_conf_migrate.sh		FTP服务
  如果没有chroot_list,新建此文件:touch /etc/vsftpd/chroot_list
3.创建ftp用户
  #创建一个ycftp的用户
  useradd ycftp
  #修改此用户的密码
  passwd ycftp
  #删除此用户
  userdel -r ycftp
  #查看用户
  cat /etc/passwd
4.修改配置,进入/etc/vsftpd,主要修改vsftpd.conf和user_list
(1)配置vsftpd.conf
anonymous_enable=no  是否启用匿名用户,为了安全选择关闭
pasv_promiscuous=YES  
local_enable=YES  允许本地用户登录
write_enable=YES  允许写入(无论是匿名用户还是本地用户要实现上传就需要快开启它)
local_umask=022  设定上传文件的权限掩码
dirmessage_enable=YES  显示每个目录下的文件信息
xferlog_enable=YES  开启日志
port_enable=yes
connect_from_port_20=yes  主动请求的数据端口
pasv_enable=YES
pasv_min_port=11000
pasv_max_port=11100
xferlog_file=/var/log/vsftpd.log  ftp日志目录
xferlog_std_format=YES
chroot_local_user=YES  所有文件列出用户, 可以切换到其他目录
chroot_list_enable=YES  若为NO,禁止用户登出自己的ftp主目录,无法离开.如果为YES,则所记录的用户将不被chroot.这里YES.
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES
pam_service_name=vsftpd  设置PAM认证模块使用名称预设为vsftpd
userlist_enable=YES
userlist_deny=YES
tcp_wrappers=YES
allow_writeable_chroot=YES
listen_ipv6=NO
listen_port=10021  修改默认端口号,默认端口号21
max_clients=10240  限制并发客户端连接数,就是最多允许多少用户同时登录
max_per_ip=100  每个ip的最大client数目,并发连接数,就是一个IP最多同时下载几个文件
idle_session_timeout=0  空闲连接超时时间
data_connection_timeout=0  数据传输超时时间
pasv_address=[映射的外网IP]
// 本次安装实例,主要修改pasv_address=[映射的外网IP]和端口即可
anonymous_enable=no
pasv_promiscuous=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
port_enable=yes
connect_from_port_20=yes
pasv_enable=YES
pasv_min_port=10021
pasv_max_port=10025
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=YES
tcp_wrappers=YES
allow_writeable_chroot=YES
listen_ipv6=NO
listen_port=15821
max_clients=10240
max_per_ip=100
idle_session_timeout=0
data_connection_timeout=0
pasv_address=139.159.178.31
(2)配置user_list
当userlist_enable=NO时,user_list文件不被使用,无论userlist_deny项为何值都是无效的,用户都允许登陆
当userlist_enable=YES时,userlist_deny=YES时:user_list是一个黑名单,即:所有出现在名单中的用户都会被拒绝登陆;
当userlist_enable=YES时,userlist_deny=NO时:user_list是一个白名单,即:只有出现在名单中的用户才会被准许登入(user_list之外的用户都被拒绝登入)
// 本次配置实例
[root@yuchai-web vsftpd]# cat user_list
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
5.ftp修改默认端口
(1)编辑vim /etc/vsftpd/vsftpd.conf 文件,修改配置文件:listen_port=15821
(2)编辑vim /etc/services 文件,将其中的ftp 21/tcp和ftp 21/udp 改为15821端口 
	# 21 is registered to ftp, but also used by fsp
	ftp             15821/tcp
	ftp             15821/udp          fsp fspd
6.一些辅助功能配置
*配置启动ftp,建议关闭防火墙和SELinux!!!(否则可能会出现"Permission denied"的错误提示!)
设置开机自启:systemctl enable vsftpd 或 chkconfig vsftpd on
设置开机不自启:chkconfig vsftpd off
防火墙设置
 1.查看防火墙状态:systemctl status firewalld.service
 2.开启防火墙:systemctl start firewalld.service
 3.关闭防火墙:systemctl stop firewalld.service
 4.重启防火墙:systemctl restart firewalld.service
 5.禁止开机启动:systemctl disable firewalld.service
 6.开启开机启动:systemctl enable firewalld.service
SELinux设置
 1.临时关闭SELinux:setenforce 0
 2.临时打开SELinux:setenforce 1
 3.查看SELinux状态:getsebool -a|grep ftp
 4.开机关闭SELinux:编辑/etc/selinux/config文件,将SELINUX的值设置为disabled。下次开机SELinux就不会启动了。 
7.启动ftp服务器
启动ftp: service vsftpd start 或 systemctl start vsftpd
停止ftp: service vsftpd stop 或 systemctl stop vsftpd
重启ftp: service vsftpd restart 或 systemctl restart vsftpd
查看ftp:service vsftpd status
查看 ftp服务端口:netstat -antup | grep ftp

complete!
如果使用华为云或者阿里云,记得配置安全组哦!
访问ftp://139.159.178.31:15821/,输入用户名密码,成功

如果连接时出现响应500 OOPS:vsftpd:cannot locate user specified in ‘guest_username’:vsftpd
Linux系统安装部署ftp服务器_第1张图片
添加
groupadd vsftpd
adduser -g vsftpd -s /sbin/nologin vsftpd
然后重启vsftpd。

你可能感兴趣的:(项目部署)