Linux-FTP文件传输服务

2024-01-07 21:59:45
ftpvsftp的区别:安全性 传输性

?

FTP连接及连接模式

?? 控制连接:TCP 21,用于发送FTP命令信息

?? 数据连接:TCP 20,用于上传、下载数据

数据连接的建立类型

???? 主动模式:服务端从 20 端口主动向客户端发起连接

???? 被动模式:服务端在指定范围内某个端口被动等待客户端连接

FTP传输模式

??? 文本模式:ASCII 模式,以文本序列传输数据

??? 二进制模式:Binary 模式,以二进制序列传输数据

关闭防火墙安全linux
安装ftp服务
Yum install vsftpd* -y

启动ftp

Systemctl start vsftpd

测试

登录FileZilla这个软件

匿名用户

文件目录位置

进入到pub里面??? 创建目录

用FileZilla登录?? 刷新

下载到桌面

上传文件

Cd /var/ftp

修改权限

chmod 777 pub/

进入目录

Cd /etc/vsftpd/

ll查看

备份一份

cp -r vsftpd.conf vsftpd.conf.bat

进入编辑文件

Vim vsftpd.conf

将前面的#号删除

允许匿名用户上传

重启服务

允许匿名用户创建文件夹

将#删除

重启服务

匿名可以创建目录
匿名可以删除和写入权限
匿名可以限制上传速度

--------------------------------------------------------------------

本地用户

恢复快照 安装ftp服务

进入目录

Cd /etc/vsftpd

ll查看

Vim vsftpd.conf

Cd /etc/vsftpd

创建 目录

touch chroot_list

重启服务

新建用户为lisi

设置密码

连接file软件

进入锁定家目录

不会锁定家目录

进入编辑文件

Cd /etc/vsftpd

Vim chroot_list

重启服务

进入配置文件

Vim vsftpd.conf

找到loacl 本地用户

Mkdir -p /ftp/test

修改权限

切换目录

Chmod 777 /ftp/test

重启服务

进入filez软件 跳转到ftp/test

可以上传和下载文件

进入目录

Cd /etc/vsftpd

ll查看

Vim chroot_list

将lisi删除

打开filezilla

登录IP地址和lisi

跳转在家目录

Cd /ftp/test

Touch test

修改权限

Cd /

Chmod 777 ftp/

可以上传文件

将用户锁在家目录

------------------------------------------------------------------------

虚拟用户

进入目录 过滤

进入编辑文件

进入目录

Cd /etc/vsftpd

Vim vsftpd.conf

独立运行的方式

独立运行的地址

设置监听端口号

将Ipv6前面加入#号

重启服务

过滤

Netstat -anpt | grep vsft

测试:用filz软件登录lisi

禁用用户:

进入编辑文件

Cd /etc/vsftpd

Vim vsftpd.conf

在ipv6下面插入命令

userlist_enable=YES

userlist_deny=YES

重启服务

编辑文件

Vim user_list

到最后一行插入lisi

测试file软件连接失败

编辑文件

Vim user_list

到最后一行将lisi删除

测试file软件连接成功

虚拟用户配置项

Cd /etc/vsftpd

进入编辑文件

Vi vusers.txt

转化成数据库文件

db_load -T -t hash -f vusers.txt vusers.db

更改权限

chmod 600 vusers.*

添加用户 -d 指定家目录并且不能登录操作系统

useradd -d /srv/ -s /sbin/nologin vuser

Cat /etc/passwd

编辑文件

vi /etc/pam.d/vsftpd.vu

插入

#%PAM-1.0

auth????????? required???? pam_userdb.so db=/etc/vsftpd/vusers

account??? required???? pam_userdb.so db=/etc/vsftpd/vusers

保存退出

编辑配置文件

vi vsftpd.conf

Pam前面加入#号

插入命令:

guest_enable=YES

guest_username=vuser

pam_service_name=vsftpd.vu

重启服务

用filz软件测试

用user1

每个用户都有自己的家目录

编辑配置文件

user_config_dir=/etc/vsftpd/vdir

创建文件

Mkdir vdir/

Cd vdir/

vi user1? 以虚拟用户自己的用户名命名,就是独立配置文件。

插入

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

local_root=/opt/t01

保存退出

Mkdir /opt/t01

chown vuser /opt/t01

重启服务

测试用filez软件登录user1

可以看到上传和下载的文件夹

?

?

?

虚拟机进入到opt目录进入t01

Cd /ftp/test/

ll查看? 将文件删除

Rm -rf *

Cd t01?? 可以不敲

用user2登录测试

Cd /etc/vsftpd

Cd vdir/

ll查看

Touch user2

进入编辑文件

Vim user2

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

local_root=/opt/t02

保存退出

创建t02

mkdir /opt/t02

chown vuser /opt/t02

Cd /opt/t02/

查看文件

------------------------------------------------------------

<<vsftpd.tar.gz>>

对整个实验进行打包

Cd /etc

Ll -d vsftpd/

打开xshell软件

打包

tar czvf vsftpd.tar.gz vsftpd

ll查看

下载

sz vsftpd.tar.gz

虚拟机恢复初始化

配置IP地址

安装yum仓库 挂载

添加用户 -d 指定家目录并且不能登录操作系统

useradd -d /srv/ -s /sbin/nologin vuser

将桌面上打包的文件拖入xshell中

拖入后自动显示命令

打包

Cd /etc

tar zxvf /root/vsftpd.tar.gz

重启ftp服务

进入vdir目录

Cd /etc/vsftpd/vdir/

ll查看

查看user1

创建用户

mkdir /opt/t01

修改权限

chmod 777 /opt/t01

编辑文件

vi /etc/pam.d/vsftpd.vu

#%PAM-1.0

auth????????? required???? pam_userdb.so db=/etc/vsftpd/vusers

account??? required???? pam_userdb.so db=/etc/vsftpd/vusers

-----------------------------------------------------------------------------------------------------

------------以下是详细的安装配置步骤---

?rpm -ivh /mnt/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm

cd /etc/vsftpd/

cp vsftpd.conf vsftpd.conf.back

service vsftpd start

/var/ftp/ 这是FTP服务器的默认工作目录。

登录:在CMD里 ftp 192.168.80.181

在文件夹里或者浏览器里:ftp://192.168.80.181/

----------常用配置项-----------

listen=YES:是否以独立运行的方式监听服务

listen_address=192.168.4.1:设置监听的 IP 地址

listen_port=21:设置监听 FTP 服务的端口号

write_enable=YES:是否启用写入权限(影响整个服务器)

download_enable=YES:是否允许下载文件

userlist_enable=YES:是否启用 user_list 列表文件

userlist_deny=YES:是否禁用 user_list 中的用户

max_clients=0:限制并发客户端连接数,就是最多允许多少用户同时登录

max_per_ip=0:限制同一 IP 地址的并发连接数,就是一个IP最多同时下载几个文件

----------匿名配置项--------------

anonymous_enable=YES:启用匿名访问

anon_umask=022:匿名用户所上传文件的权限掩码

anon_root=/var/ftp:匿名用户的 FTP 根目录

anon_upload_enable=YES:允许上传文件

anon_mkdir_write_enable=YES:允许创建目录

anon_other_write_enable=YES:开放其他写入权

anon_max_rate=0:限制最大传输速率(字节/秒)

----------本地配置项---------------

local_enable=YES:是否启用本地系统用户

local_umask=022:本地用户所上传文件的权限掩码

local_root=/var/ftp:设置本地用户的 FTP 根目录

chroot_local_user=YES:是否将用户禁锢在主目录

local_max_rate=0:限制最大传输速率(字节/秒)

--------被动模式配置项--------

pasv_enable=YES

pasv_min_port=24500

pasv_max_port=24600

--------虚拟用户配置项-----------

cd /etc/vsftpd

vi vusers.txt

奇数行用户名

偶数行密码

db_load -T -t hash -f vusers.txt vusers.db

chmod 600 vusers.*

useradd -d /srv/ -s /sbin/nologin vuser

vi /etc/pam.d/vsftpd.vu

#%PAM-1.0

auth????????? required???? pam_userdb.so db=/etc/vsftpd/vusers

account??? required???? pam_userdb.so db=/etc/vsftpd/vusers

vi vsftpd.conf

#pam_service_name=vsftpd

……

guest_enable=YES

guest_username=vuser

pam_service_name=vsftpd.vu

systemctl restart vsftpd

测试……-----默认所有虚拟用户的权限都是匿名用户的权限-----

vi vsftpd.conf

user_config_dir=/etc/vsftpd/vdir //为虚拟账号建立单独的配置文件目录

mkdir vdir

cd vdir

vi test01 //以虚拟用户自己的用户名命名,就是独立配置文件。

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

anon_max_rate=0

local_root=/opt/t01? //设置虚拟用户自己的家目录

mkdir /opt/t01

chown vuser /opt/t01

文章来源:https://blog.csdn.net/x121111/article/details/135349269
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。