实验:Centos7.6搭建FTP服务器

一、前言

安装CentOS7.6过程略,如果需要的话,后期再出一期安装CentOS7.6的,之前听说CentOS出现了漏洞,且政府机关单位等都在推OpenEuler;

注意先修改hostnamessh连接慢的问题;

二、修改bogon主机名

bogon是指那些不该出现在internet路由表中的地址,包括:

1、私有地址如10,172.16-32,192.168……

2、还未正式分配出去的地址

Linux 主机名被修改成bogon问题的几种解决办法:

当Linux主机名由@localhost变成了@bogon了之后,访问网络就会出现问题,重启后也没有解决。

原理分析

bogon是指那些不该出现在internet路由表的地址。

Linux在初始化系统时,会先判断主机名,如果主机名是localhost或localhost.localdomain,则会获取主机IP地址并执行DNS逆向解析,将解析到的结果赋值给HOSTNAME。问题是,有些DNS服务器,会将私有地址,保留地址这样不应该出现在网络上的IP地址解析成bogon。

所以最好是在安装centos的时候,就直接将主机名配置好;

三、SSH连接慢的问题

安装完Centos7.6之后发现ssh连接的时候很慢;

修改sshd_config文件

安装完Centos7.6之后发现ssh连接的时候很慢;

修改sshd_config文件

=======================================================================

好,前置条件都搞定之后,我们就开始安装VSFTP,安装VSFTP需要联网!

四、安装VSFTP

安装vsftpd,使用命令:

yum -y install vsftp

在联网的状态下,就会自动下载且安装,如下图所示。

 检查vsftpd是否安装好了,且能看到版本信息

运行vsftpd

##使用以下命令,让VSFTP开机启动:

systemctl enable vsftpd.service

安装ftp客户端

yum -y install ftp

登陆自己的vsftp,默认允许匿名登录,账户ftp,密码随意;

可以看到默认登陆进去之后,目录在pub,即:

创建组和用户,例如:公司有办公、交易和IT三个部门,那么就创建三个组

再创建三个目录分别对应三个组

创建一个用户backup,该用户属于it部门;

useradd -d /home/it/backup -s /sbin/nologin -g it backup

意思是,创建一个用户backup,该用户属于it组,并关联到/home/it/backup,然后/sbin/nologin的意思是,该用户不能用于ssh/telnet登陆;

然后设置一个密码给backup用户(也可以用交互式,这种方式更便捷)

echo 'admin123' | passwd --stdin backup

可以看到在/home/it目录下有backup目录,且该目录所属用户是backup,组是it;

如果隶属关闭不对应,那么手动再次调整下;

隶属关系搞定后,搞目录的权限问题,一般设置为775,即所有者(读写执行),同组用户(读写执行),其他用户(只有读和执行);

由于设置了backup为不能登陆的用户,所以需要在/etc/shells文件里面添加/sbin/nologin

接着修改/etc/vsftpd/vsftpd.conf文件(标注出来都是需要修改的,没有的保持不变)

最下面的:

pasv_enable=YES

pasv_min_port=30000

pasv_max_port=30020

是开启被动模式,因为像SCP等工具默认都是使用被动模式,如果不开启就没有办法建立数据连接;

另外,从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。

 要修复这个错误,可以用命令chmod a-w /home/user去除用户主目录的写权限,注意把目录替换成你自己的。或者你可以在vsftpd的配置文件中增加下列项:

 allow_writeable_chroot=YES

最后的reverse_lookup_enable=NO的作用是能解决登陆FTP慢的问题;

由于启用了锁定用户登录只能在自己的指定目录下,同时又开通了例外,所以需要在/etc/vsftpd/下添加chroot_list目录;

添加chroot_list文件,并更改权限为777;

关闭防火墙

systemctl stop firewall

重启vsftpd

systemctl restart vsftp

测试登陆ftp之后只能看到自己的目录

至此实验就做完了。


结尾附一些参数说明:

/etc/vsftpd/目录下文件的作用。

/etc/vsftpd/vsftpd.conf      #vsftpd的主配置文件

/etc/pam.d/vsftpd      #这是使用PAM相关模块时用到的文件,用作身份验证之用。

/etc/vsftpd/ftpusers      #这个文件相当于一个黑名单,包含了无法登陆FTP的用户。

/etc/vsftpd/ftpuser_list      #这个文件既可以作黑名单也可作为白名单,主要看如何设置策略。

/etc/vsftpd/chroot_list      #这个文件默认不存在,需要手动建立,用途是将一些用户的根目录锁定在默认目录下,无法进入服务器其他目录。

/etc/sbin/vsftpd      #vsftpd的启动文件。

/var/ftp      #vsftpd的默认匿名用户登陆的根目录。

vsftpd.conf文件内容说明。

anonymous_enable=YES    #允许匿名用户登陆

local_enable=YES    #允许本地用户登陆

write_enable=YES    #允许用户上传

local_umask=022    #默认情况下上传的文件夹权限为777,文件的权限为666,022这个值的意思就是在默认权限的基础上减去022,即把文件可写的权限给去除掉,这样别人就只能读取文件,而不能修改文件

anno_upload_enable=YES    #允许匿名用户上传,默认被注释掉

anno_mkdir_write_enable=YES    #允许匿名用户创建文件夹,默认被注释掉

dirmessage_enable=YES    #当用户进入某个目录时,会显示该目录需要注意的内容,默认文件为.message

xferlog_enable=YES    #开启客户端上传和下载的日志记录

connect_from_port_20=YES    #FTP数据通道端口号

xferlog_std_enable=YES    #日志采用标准格式

pam_service_name=vsftpd      #用户的认证文件为vsftpd

userlist_enable=YES      #可以用于检测userlist_file文件中的用户是否可以访问服务器

listen=YES      #工作在独立模式下

tcp_wrappers=YES  #linux自带的安全保护程序

  • 14
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值