ftp服务器 文件传输服务

一.知识导引:

二. 实验:FTP的三种用户类型:

(一)匿名用户访问:

[root@server10 ~]# dnf -y install vsftpd		安装ftp
[root@server10 ~]# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak	备份ftp的配置文件 
[root@server10 ~]# 
[root@server10 ~]# systemctl enable --now vsftpd		启动ftp,并设置开机启动
Created symlink /etc/systemd/system/multi-user.target.wants/vsftpd.service → /usr/lib/systemd/system/vsftpd.service.
[root@server10 ~]# netstat -tunlp | grep vsftpd		查看ftp的端口号
tcp6       0      0 :::21                   :::*                    LISTEN      38698/vsftpd        
[root@server10 ~]# cd /var/ftp/pub/     				进入ftp的目录下
[root@server10 pub]# ls							
[root@server10 pub]# 
[root@server10 pub]# echo "1111111111" > 1.txt		创建1.txt的文件
快照还原新系统,8网卡,开启win11虚拟机
[root@server10 pub]# vim /etc/vsftpd/vsftpd.conf		编辑ftp的配置文件

anonymous_enable=YES							开启匿名用户

[root@server10 pub]# systemctl restart vsftpd		重启ftp

快照还原新系统,8网卡,开启win11虚拟机

设置IP地址:

(二)本地用户访问:

[root@server10 pub]# vim /etc/vsftpd/vsftpd.conf		编辑ftp的配置文件
anonymous_enable=NO						关闭匿名用户
100 chroot_local_user=YES							锁定用户所在的目录
101 chroot_list_enable=YES							开启用户列表
102 allow_writeable_chroot=YES						允许在chroot目录下写入
104 chroot_list_file=/etc/vsftpd/chroot_list			指定chroot文件的位置
110 ls_recurse_enable=YES							启用递归列出目录的功能(软件的全列表)

128 local_root=public_html							设置本地用户根目录为public_html
129 use_localtime=YES								启用本地时间
[root@server10 ~]# vim /etc/vsftpd/chroot_list		创建用户列表文件
写入 cent
[root@server10 ~]# useradd cent					创建cent用户
[root@server10 ~]# passwd cent					给cent用户设置密码
Changing password for user cent.
New password: 									1234.com
BAD PASSWORD: The password fails the dictionary check - it is too simplistic/systematic
Retype new password: 							1234.com
passwd: all authentication tokens updated successfully.
[root@server10 ~]# systemctl restart vsftpd			重启ftp

[root@server10 ~]# systemctl enable --now firewalld	启动防火墙,并设置开机启动
[root@server10 ~]# firewall-cmd --add-service=ftp	在防火墙里添加ftp服务
success
[root@server10 ~]# firewall-cmd --runtime-to-permanent 在防火墙里永久添加运行时
success
[root@server12 ~]# cd /home/cent
[root@server12 cent]# ls
[root@server12 cent]# echo "222222" > 2.txt
第一种登录查看账号的方法:

第二种登录查看账号的方法:

安装软件

关闭rocky 11虚拟机:快照还原至新系统开机

(三)虚拟用户访问:

[root@server10 ~]# dnf -y install libdb-utils安装db数据库工具软件包
[root@server10 ~]# dnf -y install vsftpd		安装ftp服务
[root@server10 ~]# useradd virftp -s /sbin/nologin	创建virftp用户,不允许本地登录
[root@server10 ~]# 
[root@server10 ~]# vim /etc/vsftpd/vsftpd_login		创建vsftp的登录文件
test1 用户名
123456 密码(奇数是用户名,偶数是密码)
test2
abcdef
[root@server10 ~]# 
[root@server10 ~]# chmod 600 /etc/vsftpd/vsftpd_login 将ftp登陆文件添加600权限(6用户有读和写的权限,00代表组和其他用户没有权限)

[root@server10 ~]# 
[root@server10 ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db	将ftp的登录文件转化成数据库文件  -T:代表允许文本转译   -t hash:指定数据库类型为hash表    -f:后接输入文件路径 和 输出数据库文件路径
[root@server10 ~]# dnf -y install vsftpd        安装ftp服务
[root@server10 ~]# useradd virftp -s /sbin/nologin
[root@server10 ~]# 
[root@server10 ~]# vim /etc/vsftpd/vsftpd_login
[root@server10 ~]# 
[root@server10 ~]# chmod 600 /etc/vsftpd/vsftpd_login 
[root@server10 ~]# 
[root@server10 ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
[root@server10 ~]# 
[root@server10 ~]# mkdir /etc/vsftpd/vsftpd_user_conf     创建ftp的用户配置文件目录
[root@server10 ~]# 
[root@server10 ~]# cd /etc/vsftpd/vsftpd_user_conf/		进入ftp用户配置文件目录
[root@server10 ~]#vim test1			创建test1用户的配置文件
[root@server10 ~]#vim test2			创建test1用户的配置文件
[root@server11 ~]#vim test2			编辑test2用户的配置文件
local_root=/home/virftp/test2		指定test2用户的目录位置
anonymous_enable=NO				关闭匿名用户
write_enable=YES					允许写入
local_umask=022					本地权限755(umask反掩码)		
anon_upload_enable=NO			不允许匿名用户上传
anon_mkdir_write_enable=NO		不允许匿名用户写入
idle_session_timeout=600			会话超时时间600秒(打开页面
data_connection_timeout=120		数据连接超时时间120秒
max_clients=10					最大客户数量10个
max_per_ip=5						最大(公网IP)IP数量5个
local_max_rate=50000				本地下载最大速率50KB/s
[root@server10 vsftpd_user_conf]#
[root@server10 ~]# mkdir /home/virftp/test1			创建test1用户的目录
[root@server10 ~]# 
[root@server10 ~]# echo "1111" > /home/virftp/test1/a.txt	在test1目录下创建一个测试文件
[root@server10 ~]# 
[root@server10 ~]# mkdir /home/virftp/test2			创建test2的目录
[root@server10 ~]# 
[root@server10 ~]# echo "1111" > /home/virftp/test2/b.txt	在test2目录下创建一个测试文件
[root@server10 ~]# 
[root@server10 ~]# ls -ld /home/virftp/					查看virftp的详细信息
drwx------ 4 virftp virftp 102 Mar  4 11:07 /home/virftp/ 		virftp用户 virftp组

[root@server10 ~]# cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak 备份ftp的安全认证文件

[root@server10 ~]#

[root@server10 ~]# vim /etc/pam.d/vsftpd     编辑安全认证文件的配置文件 

#%PAM-1.0						
auth required pam_userdb.so db=/etc/vsftpd/vsftpd_login			通过pam模块的userdb.so,对接虚拟用户数据库实现ftp虚拟用户登录认证
account required pam_userdb.so db=/etc/vsftpd/vsftpd_login		用于密码认证,可实现虚拟用户的完整认证流程
session required pam_loginuid.so								为系统提供基础的安全审计能力
[root@server10 ~]# vim /etc/pam.d/vsftpd							编辑ftp的安全认证文件的配置文件
28 anon_upload_enable=NO 						不允许匿名用户上传
32 anon_mkdir_write_enable=NO									不允许匿名用户写入
127 chroot_local_user=YES											锁定用户在本目录(不允许用户切换目录)
128 guest_enable=YES												开启来宾用户
129 guest_username=virftp											来宾用户名为virftp
130 virtual_use_local_privs=YES										开启虚拟用户的本地权限
131 user_config_dir=/etc/vsftpd/vsftpd_user_conf						指定用户配置文件的目录
132 allow_writeable_chroot=YES										允许写入
[root@server10 ~]# systemctl start vsftpd							启动ftp
[root@server10 ~]# 
[root@server10 ~]# systemctl enable vsftpd							设置ftp开机启动
Created symlink /etc/systemd/system/multi-user.target.wants/vsftpd.service → /usr/lib/systemd/system/vsftpd.service.

[root@server10 ~]# firewall-cmd --add-service=ftp					在防火墙里添加ftp服务
success
[root@server10 ~]# firewall-cmd --runtime-to-permanent				在防火墙里添加永久运行时
success
[root@server10 ~]#ls -ld /home/virftp/test1
[root@server10 ~]#ls -ld /home/virftp/test2
[root@server10 ~]# chown -R virftp:virftp /home/virftp/test1			将test1目录 用户和组更改为virftp		
[root@server10 ~]# 
[root@server10 ~]# chown -R virftp:virftp /home/virftp/test2			将test1目录 用户和组更改为virftp	
[root@server10 ~]# 

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇