码迷,mamicode.com
首页 > 其他好文 > 详细

Centos7安装搭建FTP服务器(最简便方法)

时间:2018-12-20 20:22:44      阅读:252      评论:0      收藏:0      [点我收藏+]

标签:stat   上传   use   用户命令   使用权   xferlog   vsftpd   系统工具   日志   

技术分享图片

 

简介:

vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。

vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开放源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。

比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。

vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。

 

特点:

①vsftpd 是以一般身份启动服务,所以对于 Linux 系统的使用权限较低,对于Linux 系统的危害就相对的减低了。此外, vsftpd 亦利用 chroot() 这个函式进行改换根目录的动作,使得系统工具不会被vsftpd 这支服务所误用;
 
②任何需要具有较高执行权限的 vsftpd 指令均以一支特殊的上层程序( parent process ) 所控制 ,该上层程序享有的较高执行权限功能已经被限制的相当的低,并以不影响Linux 本身的系统为准;
 
③所有来自 clients 端,想要使用这支上层程序所提供的较高执行权限之vsftpd 指令的需求,均被视为『不可信任的要求』来处理,必需要经过相当程度的身份确认后,方可利用该上层程序的功能。例如chown(), Login 的要求等等动作;
 
④此外,上面提到的上层程序中,依然使用 chroot() 的功能来限制使用者的执行权限。

 

1.安装vsftpd

环境:CentOS Linux release 7.6.1810 (Core)

vsftpd版本:vsftpd.x86_64 0:3.0.2-25.el7 

1.1执行yum命令安装:

[root@Sungeek ~]# yum -y install vsftpd

1.2.修改配置文件

按照下面修改配置文件

#是否允许匿名,默认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=YES
xferlog_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=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list #这个是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=60021
#启动被动式联机(passivemode) pasv_enable=YES #上面两个是与passive mode 使用的 port number 有关,如果您想要使用65400 到65410 这 11 个 port 来进行被动式资料的连接,可以这样设定 pasv_min_port=65400 pasv_max_port=65410 #FTP访问目录 local_root=/data/ftp/

2.创建FTP用户

添加FTP用户命令:useradd XXX

设置FTP用户密码:passwd XXX

[root@Sungeek vsftpd]# useradd -d /data/ftp/ -s /sbin/nologin ftpuser
[root@Sungeek vsftpd]# passwd ftpuser

查看FTP用户是否设置不能通过SSH登录,只能使用FT

[root@Sungeek vsftpd]# vim /etc/passwd

找到创建的用户把/bin/bash修改为/sbin/nologin

技术分享图片

设置用户访问权限:

[root@Sungeek vsftpd]# chown -R ftpuser /data/ftp

3.设置vsftpd服务开机启动

[root@Sungeek ~]# systemctl enable vsftpd.service

技术分享图片

4.启动暂停查看服务状态命令

[root@Sungeek ~]# systemctl start vsftpd.service 
[root@Sungeek ~]# systemctl status vsftpd.service 

 技术分享图片

5.安装ftp客户端验证能否连接

随便用一个ftp客户端访问测试是否连接成功即可!我用的是FileZilla Client

技术分享图片

更多详细的vsftpd的配置说明:https://baike.baidu.com/item/vsftpd/5254770?fr=aladdin

Centos7安装搭建FTP服务器(最简便方法)

标签:stat   上传   use   用户命令   使用权   xferlog   vsftpd   系统工具   日志   

原文地址:https://www.cnblogs.com/Sungeek/p/10148656.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!