the FTP's config of Linux

 · 2019-11-19 · 次阅读


Linux下的FTP服务器配置

环境:服务器:Centos 7
客户机: WINDOWS10
采用工具:8UFTP

1.安装vsftpd服务

使用yum install vsftpd可以在线安装vsftpd服务,当然很多Linux系统在安装时候勾选了ftp可能已经装过了。
这时候可以使用rpm -q 服务名 这里所有安装的服务都可以这样检查
这里服务名为vsftpd

再用rpm -ql vsftpd就可以看到其相关的文件的文件路径

2.启停vsftpd服务

vsftpd服务相对比较简单,在安装完后无需配置即可启动服务,启动和停止的相关命令如下所示:
启动vsftpd守护进程:systemctl start vsftpd 或service vsftpd start
重启vsftpd守护进程:systemctl restart vsftpd 或service vsftpd restart
停止vsftpd守护进程:systemctl stop vsftpd 或service vsftpd stop
开放ftp端口:firewall-cmd –add-service = ftp
firewall-cmd –add-service = ftp-permanent
关闭防火墙:systemctl stop firewalld
说明:为什么以上给出了两条命令呢?
由于Centos在7之前的版本只有service命令开启服务,在Centos7以后的版本都改为使用systemctl来启停服务了
为什么要关闭防火墙?
是为了方便客户机与之进行连接通信

3.vsftpd相关配置文件说明

服务器vsftpd被安装后,主要的相关文件和目录包括:
(1)/etc/vsftpd/目录为vsftpd服务器配置的主目录
(2)/etc/vsftpd/vsftpd.conf文件为vsftpd服务器的主要配置文件,缺省情况下其主目录为/var/ftp,任何配置参数修改需要操作此文件
(3)/etc/vsftpd/ftpusers定义哪些用户不能登录ftp服务器的用户列表文件
(4) /etc/pam.d/vsftpd 定义vsftpd的PAM认证文件。
(5) /etc/vsftpd/user_list与/etc/vsftpd/ftpusers一样,不过需要与主配置文件中的
vsftpd.conf的”userlist_deny=YES”参数选项配合使用。
(6) /var/ftp目录为vsftpd服务器的匿名缺省共享主目录。
(7) /usr/doc/vsftpd-3.0.2目录下所有的文档作为vsftpd的帮助文档。
(8) /etc/logrotate.d/vsftpd是完成vsftpd运行日志的配置文件。
(9) /etc/pam.d/vsftpd为vsftpd指出vsftpd进行PAM认证时所使用的PAM配置文件名,
没有该文件,将无法使本地用户登录FTP服务器。
(10)/usr/sbin/vsftpd为vsftpd服务器的主程序。
(11) /user/lib/system/vsftpd.sevice为CentOS的sytend管理vsftpd服务器所运
行的配置脚本。

3.1vsftpd.conf文件说明

其位于/etc/vsftpd目录下,通常我们都修改这个文件的各项参数来配置vsftpd。当主机IP固定后,缺省情况下,不需要做任何的修改就可以直接启动vsftpd作为ftp服务器。此时,ftp服务器允许匿名(Anonymous)和Linux系统中的本地账号登录,当不允许匿名上传。

4.配置vsftp服务器

vsFTP服务器大致分为三类用户:匿名用户(anonymous)、本地用户(local user)以及虚拟用户(guest)

4.1匿名用户服务器

4.2本地用户服务器

5.配置FTP服务器的实例

1、建立一台Linux下的FTP服务器,IP地址为192.168.XX.16(XX为学号后两位)。
2、允许匿名访问FTP服务器;匿名用户访问的根目录为/var/ftp/doc
3、匿名用户不能上传文件,只可以下载文件的权限;
4、FTP服务器能够接受最大的连接数为100,同一IP的连接数为2;
5、允许本地用户访问FTP服务器;设定本地用户test被约束在自己的主目录;

1.可以直接使用 ifconfig 网络接口 IP地址 这条命令更改IP为想要的,也可以去网络设置中修改IP为192.168.23.16这里23是我的学号

2.默认是允许匿名用户访问的,这里说一下主要在/etc/vsftpd/vsftpd.conf配置的几条信息
anonymous_enable=YES 这一条便是允许匿名用户访问
anon_root =/var/ftp/doc 这是设置匿名用户访问的根目录
这样第二个条件就满足了

3.然后需要修改配置使得匿名用户不能上传文件,只可以下载文件
anon_upload_enable=NO

默认为NO,也就是默认是把=YES注释掉的就为NO

4.设置ftp最大连接数:max_clients=100
设置同一IP的连接数:max_per_ip=2

5.设置本地用户可以访问FTP服务器:local_enable=YES
这里要求锁定本地用户test被约束在自己的主目录,设置chroot_list_enable=YES
chroot_list_file设置值为/etc/vsftpd/chroot_list文件,文件中的用户被约束在根目录下,根目录为用户的主目录。
这里chroot_local_user=NO让其他的账户不锁定在自己家目录
设置local_root=test用户的目录
运行以下命令创建test用户
useradd test
删除用户使用sudo userdel -r newuser
运行以下命令修改test用户密码
passwd test
密码设置为:xf199962
接下来使用8UFTP验证试验即可。