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的更多相关文章
随机推荐
- js笔记21
1.解决函数内的this指向 (1)可以在函数外提前声明变量 _this/=this (2)通过apply和call来修改函数内的this指向 二者的区别: 二者的用法不一样,就是参数形式不一样 ...
- Unity接入ShareSDK实现QQ登录和QQ分享、微信分享
原文链接:Unity接入ShareSDK实现QQ登录和QQ分享.微信分享 由于微信登录需要企业审核,我这里就不说明了,有需要的可以去官网看一下文档,和QQ登录比多了一个打包的步骤. 第一步:到官网申请 ...
- 20、oralce中单引号和双引号的区别
20.oralce中单引号和双引号的区别: 20.1.单引号和双引号oracle都支持,但是两者是有区别的: 20.2.双引号在 Oracle 中的作用: 1.双引号的作用是:假如建立对象的时候,对象 ...
- as3.0 Flex 图像处理
as3.0 Flex 图像处理 已知的一些图像处理,主要是得到颜色过滤矩阵,不完整,大家一起来补充. //颜色转换数组,所有的0都是可调值public var colorArray:Array = [ ...
- c++11 线程间同步---利用std::condition_variable实现
1.前言 很多时候,我们在写程序的时候,多多少少会遇到下面种需求 一个产品的大致部分流程,由工厂生产,然后放入仓库,最后由销售员提单卖出去这样. 在实际中,仓库的容量的有限的,也就是说,工厂不能一直生 ...
- CentOS-搭建MinIO集群
一.基础环境 操作系统:CentOS 7.x Minio在线演示 Minio下载 二.准备工作 2.1.机器资源 192.168.1.101 /data1 192.168.1.102 /data2 1 ...
- PID算法控制直流电机笔记
1.将偏差的比例.积分和微分通过线性组合构成控制量,用这一控制量对被控对象进行控制,这样的控制器称为PID控制器.简单说就是根据系统的误差,利用比例.积分.微分计算出控制量进行控制. 2.为什么需要P ...
- 初步了解Unix系统的I/O模式
I/O模式 对于一次IO访问(以read举例),数据会先被拷贝到操作系统内核的缓冲区中,然后才会从操作系统内核的缓冲区拷贝到应用程序的地址空间. 当一个read操作发生时,它会经历两个阶段: 等待数据 ...
- [NOI2000] 古城之谜
题目描述 给定 n 和 n 个信息,每个信息包含一个词性 a (只有三种:名,动,辅)和对应的词 mot ,形为" \(a.mot\) ".(一次可能多词性) 最后给一个长度不大于 ...
- C语言枚举类型
在实际编程中,有些数据的取值往往是有限的,只能是非常少量的整数,并且最好为每个值都取一个名字,以方便在后续代码中使用,比如一个星期只有七天,一年只有十二个月,一个班每周有六门课程等.以每周七天为例,我 ...
