RHCE_DAY07
2021/8/11 6:07:17
本文主要是介绍RHCE_DAY07,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文件共享服务FTP介绍
-
FTP(File Transfet Protocol):文件传输协议
-
FTP是一种在互联网中基于TCP协议端到端的数据传输协议
-
基于C/S架构,默认使用20、21号端口
-
端口20(数据端口)用于数据传输
-
端口21(命令端口)用于接收客户端发出的相关FTP命令
FTP工作模式
-
主动模式:FTP客户端从本机的非特殊端口(>1023)连接FTP服务器的命令端口21,服务端通过本地的20号端口主动向客户端的随机端口发起连接请求,开始传输数据
-
被动模式:FTP客户端通过向FTP服务器发送PASV命令进入被动模式,FTP服务器会另开一个随机端口,客户端主动连接到随机端口后,开始传输数据
-
可以实现ftp功能的软件:
-
WU-ftpd:
-
proftpd:
-
pureftp:
-
vsftpd:非常安全的ftp服务器
-
ServU:
-
客户端访问ftp服务器工具:
-
ftp
-
lftp、lftpget
-
wget
-
curl
-
FileZilla:windows客户端工具,可从软件商店直接下载
vsftpd介绍
-
vsftpd(very secure ftp daemon)非常安全的FTP守护进程
-
是一款运行在Linux操作系统上开源且免费FTP服务程序
-
不仅完全开源而且免费,还为我们提供了一个快速的、稳定并且安全的FTP服务
vsftpd用户模式
-
本地用户
-
虚拟用户
-
匿名用户
vsftpd服务相关参数
-
/var/ftp #匿名用户共享目录
-
/etc/vsftpd #配置文件所在目录
-
/etc/vsftpd/vsftpd.conf #主配置文件
-
/usr/sbin/vsftpd #主程序文件
-
/etc/vsftpd/ftpusers #黑名单
-
/etc/vsftpd/user_list #控制名单(配置文件控制白名单与黑名单)
-
/var/log/xferlog #日志目录
vsftpd匿名用户模式
#安装软件 [root@ftp-server ~]# yum -y install vsftpd #启动服务 [root@ftp-server ~]# systemctl start vsftpd #查看服务运行状态 [root@ftp-server ~]# systemctl status vsftpd #客户端下载连接工具 [root@client ~]# yum -y install ftp lftp #匿名用户权限介绍 [root@localhost ftp]# vim /etc/vsftpd/vsftpd.conf ... 12 anonymous_enable=YES #是否允许匿名用户访问,yes允许,no不允许 29 #anon_upload_enable=YES #是否允许匿名用户上传,yes允许,no不允许 33 #anon_mkdir_write_enable=YES #是否允许匿名用户创建目录,yes允许,no不允许 ... anon_other_write_enable=yes #是否允许匿名用户写权限,yes允许,no不允许(手动添加)
vsftpd本地用户模式
#创建本地用户 [root@localhost ~]# useradd ftpuser [root@localhost ~]# passwd ftpuser #修改主配置文件 [root@localhost ~]# vim /etc/vsftpd/vsftpd.conf ... 12 anonymous_enable=NO #关闭匿名用户访问 16 local_enable=YES #是否允许本地用户访问,yes允许,no不允许 19 write_enable=YES #是否允许本地用户有写权限,yes允许,no不允许 23 local_umask=022 #本地用户上传文件默认权限为755 37 dirmessage_enable=YES #当用户第一次进入新目录时显示消息(了解) 40 xferlog_enable=YES #启动xferlog日志记录,该文件记录传输数据 53 #xferlog_file=/var/log/xferlog #日志文件位置,需删除注释 43 connect_from_port_20=YES #启用数据传输端口 49 #chown_username=whoever #改变上传文件的属主与属组 60 #idle_session_timeout=600 #客户端连接超时时间 63 #data_connection_timeout=120 #数据连接超时时间 101 chroot_local_user=YES #是否允许本地用户切换目录,yes不允许,no允许 115 listen=NO #是否开启监听IPV4的连接,默认没开启,改为yes 126 pam_service_name=vsftpd #启用pam认证的文件名称,路径为/etc/pam.d/vsftpd 127 userlist_enable=YES #是否启用控制名单文件,yes启用,no不启用,文件为/etc/vsftpd/user_list,如果启用控制名单功能,需要指定该文件为黑名单|白名单 128 userlist_deny=no #yes拒绝user_list文件中用户登录ftp服务器(黑名单),no允许登录(白名单) max_clients= #限制最大并发连接数量
NFS网络文件系统
-
NFS(Network File System)网络文件系统 , 是一种基于TCP/UDP传输协议的文件共享服务
-
NFS基于C/S架构,服务端启用协议将文件共享到网络上,然后允许本地NFS客户端通过网络挂载服务端共享的文件。
-
NFS基于RPC 远程过程调用机制, 支持在异构系统之间数据的传送 , RPC提供了一组与机器、操作系统以及低层传送协议无关的存取远程文件的操作
-
NFS协议:端口号 2049
-
软件包:nfs-utils
-
服务名:nfs
-
配置文件:/etc/exports
-
RPC协议:端口号 111
-
软件包:rpcbind
-
服务名:rpcbind
-
NFS服务端配置
#安装nfs服务端软件包 [root@localhost ~]# yum -y install nfs-utils #启动nfs服务 [root@localhost ~]# systemctl start nfs [root@localhost ~]# systemctl enable nfs #查看服务端口信息 [root@localhost ~]# ss -anptul | grep 2049 udp UNCONN 0 0 *:2049 *:* udp UNCONN 0 0 :::2049 :::* tcp LISTEN 0 64 *:2049 *:* tcp LISTEN 0 64 :::2049 :::* #查看RPC服务端口信息 [root@localhost ~]# ss -anptul | grep rpcbind udp UNCONN 0 0 *:111 tcp LISTEN 0 128 *:111 #创建共享目录 [root@localhost ~]# mkdir /upload #修改nfs主配置文件:/etc/exports [root@localhost ~]# vim /etc/exports /upload 192.168.0.27(rw) 192.168.0.28(ro) /test 192.168.0.0/24(rw) #共享给指定网段 共享文件夹路径 客户机地址(权限) 客户机地址(权限) #重启nfs服务 [root@localhost ~]# systemctl restart nfs
客户端访问NFS
#列出有哪些NFS共享资源:showmount -e 服务器地址,如果客户端没有该命令需安装nfs-utils [root@client ~]# showmount -e 192.168.0.26 Export list for 192.168.0.26: /upload 192.168.0.28,192.168.0.27 #手动挂载NFS共享:mount [root@client ~]# mkdir /opt/upload [root@client ~]# mount 192.168.0.26:/upload /opt/upload 服务器地址:文件夹路径 挂载点 [root@client ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 ... 192.168.0.26:/upload 17G 1.2G 16G 7% /opt/upload #客户端验证是否可以是否共享目录 [root@client ~]# cd /opt/upload/ [root@client upload]# touch xx.txt touch: 无法创建"xx.txt": 权限不够 #解释:默认客户端是以nfs用户身份访问远端的nfs服务器,如果nfs服务端共享的目录属主为root用户,那客户端默认是没有写权限 #服务端开放允许以root身份访问 [root@localhost ~]# vim /etc/exports /upload 192.168.0.27(no_root_squash,rw) 192.168.0.28(ro) 解释:no_root_squash 不挤压root用户身份(允许以root身份访问) [root@localhost ~]# systemctl restart nfs #客户端验证 [root@client upload]# touch xx.txt [root@client upload]# ls xx.txt #为普通用户授权访问nfs共享目录(通过ACL实现,nfs通过用户UID辨别用户身份) [root@localhost ~]# setfacl -m u:lisi:rwx /upload #设置SBIT权限 [root@localhost ~]# chmod o+t /upload/ #客户端lisi用户验证授权 [lisi@client upload]$ touch lisi.txt [lisi@client upload]$ ls lisi.txt xx.txt [lisi@client upload]$ rm -rf xx.txt rm: 无法删除"xx.txt": 不允许的操作 #客户端实现开机挂载配置:/etc/fstab [root@localhost]# vim /etc/fstab 192.168.0.220:/xxx /mnt/xxx nfs defaults,_netdev 0 0 服务器地址:文件夹路径 挂载点 文件系统 defaults,_netdev 0 0 #解释:_netdev:指定nfs是网络设备
这篇关于RHCE_DAY07的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享