FTP(File Transfer Protocol,文件传输协议)及其文件配置

ftp作用

用于文件的上传和下载
属于TCP协议   端口号:20、21
20端口号:数据层面,用于文件上传和下载
21端口号:控制层面,用于账户密码验证,权限的验证

ftp三种账户

匿名、系统、虚拟账户。
匿名账户:登录名:ftp、anonymous。不验证密码即可登录
系统账户:本身系统已存在的账户、密码作验证。
虚拟账户

验证方式:

  1. 验证的/etc/passwd 和 /etc/shadow
  2. 验证的是用户列表(用户必须是系统创建),相当于白名单
    默认root账户不允许登录。
    虚拟账户:预定义的列表账户。(系统之前未创建过的)

匿名账户ftp创建:

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

在这里插入图片描述
配置文件

[root@server ~]# vi /etc/vsftpd/vsftpd.conf

在这里插入图片描述

按以上内容进行修改及增加;

开启vsftpd服务

[root@server ~]# systemctl start vsftpd

创建2个测试文件

[root@server pub]# echo "abc123" > a.txt
[root@server pub]# echo "bcd123" > b.txt

设定权限

[root@server ~]# chown -R ftp.ftp /var/ftp/pub/
[root@server ~]# chown -R 755 /var/ftp/pub

登录客户机验证
客户机也需安装ftp

[root@server ~]# ftp 20.0.0.10

在这里插入图片描述

系统账户ftp创建

[root@server ~]# vi /etc/vsftpd/vsftpd.conf

在这里插入图片描述
按以上内容进行配置
使用客户机进行验证,步骤与匿名用户类似

虚拟账户ftp创建

设置虚拟账户列表

[root@server ~]# vi/etc/vsftpd/vusers.list
mike
123
john
234

新建虚拟用户账户数据库

[root@server ~]# cd /etc/vsftpd
[root@server vsftpd]# db_load -T -t hash -F vusers.list vusers.db
[root@server ~]# file vusers.db

在这里插入图片描述
配置文件已生成

赋予权限

[root@server ~]# chmod 600 /etc/vsftpd/vusers.*

在这里插入图片描述

创建虚拟账户并赋予权限

[root@server ~]# useradd -d /var/ftproot -s /sbin/nologin virtual
[root@server ~]# chmod 755 /var/ftproot

对其进行配置

[root@server ~]# vi /etc/pam.d/vsftpd.vu

在这里插入图片描述
配置内容如上

进入vsftpd进行配置

[root@server ~]# vi /etc/vsftpd/vsftpd.conf

在这里插入图片描述
按以上内容进行配置修改

设置虚拟账户的配置文件

[root@server ~]# mkdir /etc/vsftpd/vusers_dir/
[root@server ~]# cd /etc/vsftpd/vusers_dir/

对内容进行配置

[root@server vusers_dir]# vi mike
anon_upload_enable=YES
anon_mkdir_write_enable=YES

john的内容为空,不予配置
之后重启vsftpd

[root@server ~]# systemctl restart vsftpd

再使用客户机进行验证

[root@server ~]# ftp 20.0.0.10

在这里插入图片描述
验证成功

猜你喜欢

转载自blog.csdn.net/weixin_49343462/article/details/109383552