NFS,vsftpd

NFS

NFS:网络文件系统(Network File System ).提供网络文件系统平台,需要借助Rpc(远程过程调用)协议来发送文件传输的控制指令。
发布时间:1984年
公司:SUN公司。典型产品有JAVA.SUN公司被Orange公司收购

NFS软件

nfs-utils 、rpcbind
说明:如果是安装了centos桌面环境,这俩个软件包都已经安装好了。
如果是安装了centos最小环境,需要手动安装这俩个安装包。

    nfs部署思路:
1.关闭安全功能,并查状态:
systemctl   stop  firewalld
systemctl   status  firewalld
serenforce  0
getenforce
1.查软件是否安装,如果未安装就安装软件。
2.启动服务,并允许开机自动启动
3.设置共享目录,重新加载设置

4.做本地(内侧)访问测试,做异地(公测)访问测试。

环境准备
1.关闭安全功能,并查状态:
systemctl stop firewalld
systemctl status firewalld
serenforce 0
getenforce

NFS安装
查软件是否已安装:rpm -q nfs-utils rpcbind
安装 : yum -y install nfs-utils rpcbind
查配置文件列表:rpm -ql nfs-utils

NFS服务管理:
重启动服务:systemctl restart nfs rpcbind
允许开机自启动:systemctl enable nfs rpcbind
查服务状态:systemctl status nfs rpcbind

共享需要的文件通过/etc/exports共享文件来实现。查man exports来了解配置文件的格式。
exports配置文件语法如下:man exports查帮助中的example列子
共享目录的绝对路径 1号客户主机名或IP(共享选项) n号客户主机名或IP(共享选项)

/usr (ro) 192.168.11.13(rw)
/opt
(rw,no_root_squash) 192.168.11.0/24(rw)

客户主机名或ip
*号 表示任何ip的主机
主机名 可以指定客户机的主机名
192.168.11.0/24 表示允许192.168.11.0这个网段的所有主机访问共享

共享选项:
ro(常用选项)可读Readonly
rw(常用选项) 可读可写read + write
sync(常用选项) 同步传输
async(常用选项)异步传输
no_root_squash (常用选项)不将root映射成nfsnobody匿名用户,即让root用自己的身份和权限访问共享
no_all_squash (默认启用)不将所有用户映射成nfsnobody匿名用户,即让所有用户用自己的身份和权限访问共享
root_squash 将root映射成nfsnobody匿名用户(默认启用)
all_squash 将所有用户映射成nfsnobody匿名用户
anonuid 匿名用户的uid号
anongid 匿名用户的gid号

nfs的其他配置文件:

![](https://s1.51cto.com/images/blog/201902/23/768510f6e03da72715d63615e8d7ccde.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

例:通过nfs将/usr目录已只读方式共享,允许任何人ip的主机来访问。
vim /etc/exports
/usr *(ro)

平滑重启(重加载)nfs服务:exports -rav 或 systemctl reload nfs
本地(内侧)查共享资源列表:shoumount -e 127.0.0.1

exportfs 命令选项:man exportfs
-r 重新共享所有目录
-a 打开或取消所有目录共享
-v 输出详细信息。当共享或者取消共享时,显示在做什么
-f 在“新”模式下,刷新内核共享表之外的任何东西。

在异地(公测)做挂载访问测试:
本地(内侧)查共享资源列表:showmount -e 192.168.11.11
创建挂载点:mkdir -pv /mynfs
挂载:mount .nfs 192.168.11.11:/usr /mynfs
查磁盘空间使用状态: df -hT

shoumount选项:man shoumount
-a 或 --all 已host:dir这样的格式来显示客户主机名和挂载点目录。
-d 或 --directories 仅显示被客户挂载的目录名。
-e 或 --exports 显示NFS服务器的输出清单。

在Win7/10中访问NFS共享:
1.安装nfs客户端(client)程序。
运行Win+R-->control控制面板-->程序-->打开或关闭windows功能-->NFS服务-->勾选“NFS客户端”-->确定。
2.运行Win+R-->cmd-->输入如下命令。
查共享资源列表:showmount -e 192.168.11.11
挂载共享资源为K盘:mount 192.168.11.11:/usr k:
打开共享:win+E--->双击K盘图标

卸载共享的k盘:右击K盘图标--->断开

练习:用nfs服务以可读可写(rw)方式共享/opt目录,允许任何IP的主机访问。做本地访问测试,将其挂载到/optnfs目录,在挂载点目录中touch a.txt文件,看是否有写入权限。

问题:让root用户在挂载点目录下touch a.txt文件时提示"无法创建/optnfs/a.txt权限不够"。怎么办?
问题分析:
首先,看exports共享中是否以rw可读可写方式共享了指定的目录。
其次,查看共享目录自身的权限,用ls -ld /opt查看权限结果。权限结果如下:
drwxr-xr-x. 3 root root 16 1月 3 12:11 /opt
请回答权限的五个问题?
再次,root用户在访问nfs共享时,root是以匿名访问的,属于其他用户,而/opt目录自身对于other其他用户的权限是r-x,无w可写的权限。但是普通用户是以no_all_squash不以匿名用户身份,而是以自己真实访问共享。
权限解决方案:将/opt目录的other权限用chmod o+w /opt来设置之后,再用touch命令在挂载点目录做创建测试,发现可以写了。

附加操作:查看touch后的a.txt权限如下:
-rw-r--r--. 1 nfsnobody nfsnobody 0 1月 21 10:49 a.txt
说明:a.txt的属主、属组均为nfsnobody匿名用户账号。

文件共享权限要考虑的2个要素:
1.用户对目录自身的访问权限。
2.目录做共享时设置的访问权限。
警告:用户访问共享时想可读可写,必须是以上两个权限都为可读可写。



克隆虚拟机

准备工作:
1.将linx系统设置成开机自动进入CLI命令行界面:
cat /etc/inittab 查看inittab系统启动的运行等级配置文件
systemctl get-default 查看当前系统的启动运行等级
systemctl set-default multi-user.target 设置系统启动的运行等级为3,即多用户的CLI命令行界面

将node12c虚拟机开机,并执行如下操作。
cd /etc/sysconfig/network-scripts
ls
cp -v ifcfg-ens33{,.bak}
vim ifcfg-ens33 修改网卡配置文件全文内容如下[删掉不需要的内容即可]
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.11.11
PREFIX=24
GATEWAY=192.168.11.2
DNS1=114.114.114.114
DNS2=8.8.8.8

3.重启网络服务:
systemctl restart network
ip a 或 ifconfig

4.将虚拟机用poweroff关机,编辑虚拟机硬件设置,将内存设置为512M,创建名称为"CLI-OK"的快照。



vsftpd文件共享:

FTP:是文件传输协议的缩写。用来实现文件的上传(upload)和下载(download)。
FTP是工作在C/S架构模式下。
C/S架构:是客户端Client/服务器server访问模式。C/S的特点是客户机必须使用专用的客户端程序去访问服务器。
B/S架构:是浏览器Browser、服务器Server访问模式。B/S的特点是客户机只需用IE、Firefox等浏览器来访问服务器。B/S架构通常是用来开发基于web网站的应用程序。

vsftpd:是非常安全的ftp守护进程(Very secure ftp Daemon)。
进程:正在进行(运行running)的程序。
守护进程Daemon:网络服务类的程序都会有守护进程。守护进程是指实时监测服务访问状态的程序。通常都是在系统后台运行。

FTP的工作端口:
21 控制端口,用于在客户机和服务器之间建立连接。
20 数据端口。用于服务器给客户机主动进行数据连接。
网络服务端口号的作用:用来标示服务器上的不同业务(服务)。

服务器:提供服务的机器。

vsftpd的部署思路:(网络服务的部署通用思路)
0.关闭安全功能,并查状态:
systemctl stop firewalld ; setenforce 0
systemctl status firewalld ; getenforce
1.查软件是否已安装,如果未安装就安装软件。
2.启动服务,并允许开机自动启动
3.设置共享目录,重新加载设置。
4.做本地(内测)访问测试,做异地(公测)访问测试。

查是否已安装:rpm -q vsftpd ftp lftp
安装:yum install -y vsftpd ftp lftp
查软件的文件列表:rpm -ql vsftpd
查配置文件列表:rpm -qc vsftpd

vsftpd 服务管理:
重启动服务:systemctl restart vsftpd
允许开启自动启动:systemctl enable vsftpd
查服务状态:systemctl status vsftpd

共享需要的文件:
vsftpd的默认共享目录:
匿名用户(ftp或anonymous)共享:/var/ftp目录
普通用户:访问的是普通用户自己的家目录,通常是"/home/用户名"文件夹
注意:root用户默认不能登录vsftpd服务器来访问共享,因为root账号在黑名单里。

vsftpf的配置文件:rpm -qc vsftpd
/etc/logrotate.d/vsftpd 日志轮滚策略文件
/etc/pam.d/vsftpd pam认证文件(重点)
/etc/vsftpd/ftpusers 黑名单文件(重点)
/etc/vsftpd/user_list 用户访问列表文件(重点),默认是黑名单,但是可以设置成白名单
/etc/vsftpd/vsftpd.conf 服务的主配置文件(重点)

练习:将root用户从ftpusers黑名单文件中注释掉,重启vsftpd服务,用root账号访问共享资源。
第1步:编辑黑名单文件1。
vim /etc/vsftpd/ftpusers 编辑黑名单文件1
#root 在此行行首添加#号

第1步:编辑黑名单文件2。
vim /etc/vsftpd/user_list 编辑黑名单文件2
#root 在此行行首添加#号

第3步:重启服务。(修改黑名单文件是立即生效的,可以不重启服务)。
systemctl restart vsftpd

第四步,做共享访问测试。
win7/10访问vsftpd共享:win+E-->ftp://root:0@192.168.11.11

linux用root访问共享:
ftp 192.168.11.11 回车---》用户名root回车--->密码0回车-->看到successful表示登录成功
lftp 192.168.11.11 -u root,0

问题:什么时候让user_list文件变成白名单?
答:由于当user_list为白名单时,仅允许白名单中的用户访问vsftpd共享。所以当系统中有1万个用户账号时,我只让3个人能访问vsftpd文件共享服务,那么就得用白名单。

练习:在系统中创建3个用户tom、lucy、lily,给他们设置登录密码为0。用windows做ftp访问共享测试,分别上传一个文件到用户的家目录中。
useradd tom
useradd lucy
useradd lily
echo 0 | passwd --stdin tom
echo 0 | passwd --stdin lucy
echo 0 | passwd --stdin lily

练习:采用user_list白名单功能,仅允许tom用户访问vsftpd共享。
第一步,将tom用户加入到user_list文件中。
vim /etc/vsftpd/vsftpd.conf
在最后加入此行 user_list=NO

第三步,重启服务
systemctl restart vsftpd

Win+R-->cmd--> ftp 192.168.11.11回车--->用户名和密码-->看登录是否成功( successful)
发现只有tom 可以登录 其他人都登不了

小结:vsftpd的用户名单监测流程如下:
先监测user_list文件(是黑还是白)----》再监测ftpusers黑名单中是否有这个用户。

将/etc/vsftpd/vsftpd.conf主配置文件的userlist_deny=NO这行用#号注释掉,并重启vsftpd服务,最后用tom、lucy、lily做ftp的命令行访问测试,确保这3个用户都能访问共享

白名单优先级高于黑名单。



NFS,vsftpd

原文地址:https://blog.51cto.com/14181888/2353886

时间: 2024-08-29 09:50:44

NFS,vsftpd的相关文章

文件服务vsftpd,nfs,samba

文件服务 文件服务: 应用层:ftp 内核级网络文件系统:nfs 会话层的协议 跨平台的网络文件系统:cifs(samba) 网络存储: NAS:网络附加存储,文件系统级别的接口,共享存储的解决方案 SAN:存储取余网络,磁盘级别的块设备(要先分区)iscsi基于Internet的scsi 在专业级别的存储设备上提供远程服务 rpc远程过程调用 ftp:文件传输协议,基于tcp协议,21端口 奇葩 c/s架构协议   c <--> s   通过socket 三次握手四次挥手 命令连接 数据连接

linux基础学习(十四)nfs、vsftpd服务等

####文件共享####1.安装共享访问客户端yum install samba-client  -y 2.识别共享服务器共享目录smbclient  -L  //172.25.254.253 3.访问共享命令访问)smbclient //172.25.254.253/westos 挂载访问)mount //172.25.254.253/westos /mnt -o username=guest 4.自动挂载方法1)vim /etc/fstab//172.25.254.253/westos  

马哥教育第二十四ftp协议、vsftpd的高级应用、rpc概念及nfs的基本应用、samba及其基本应用

1.ftp协议及vsftpd的基本应用         文件共享服务:                 工作在应用层:ftp(file transfer protocol)                          应用层协议:tcp,                  工作在内核:nfs                 跨平台:samba           ftp工作在221号端口,传输数据:                  命令连接:文件管理类命令,始终在线的连接       

14.4 exportfs命令;14.5 NFS客户端问题;15.1 FTP介绍;15.2/15.3 使用vsftpd搭建ftp

14.4 exportfs命令 重启nfs服务需要把所有挂载点卸载掉,如果一台机器有多个挂载点,不能一一去卸载挂载点,用exportfs -arv命令: 1. 编辑exports配置文件,添加一条新的共享目录: [[email protected] ~]# vim /etc/exports {no_root_squash 客户端挂载NFS共享目录后,root用户不受约束,权限很大} 添加内容(hao1服务端的共享目录,hao2客户端的ip): /tmp 192.168.211.129(rw,sy

搭建FTP/NFS服务(vsftpd基于虚拟用户的访问形式)

题目:搭建一套文件vsftp文件共享服务,共享目录为/ftproot,要求:(描述完整的过程) 1)基于虚拟用户的访问形式: 2)匿名不允许上传: 3)禁锢所有的用户于其家目录当中: 4)限制最大并发连接数为200: 5)匿名用户的最大传输速率512KB/s: 6)虚拟用户的账号存储在mysql数据库当中. 7)数据库通过NFS进行共享. 搭建环境: FTP/NFS服务器:192.168.10.99 (CentOS 7) 搭建FTP/NFS详细过程: 1.配置vsftpd基于pam_mysql的

14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3 使用vsftpd搭建ftp

- 14.4 exportfs命令 - 14.5 NFS客户端问题 - 15.1 FTP介绍 - 15.2/15.3 使用vsftpd搭建ftp # 14.4 exportfs命令 - exportfs命令 和NFS一起安装的 例: - 配置了一个共享目录,之后需要新增.更改.机器或者目录:首先需要更改配置,重启NFS服务,但是远程客户端正在使用NFS服务,重启服务端的NFS服务就会对远程的客户端有影响,比如,造成服务异常,进程异常,有很大可能导致系统坏掉 - 到了这种时候,只能去一台一台机器的

exportfs命令、NFS客户端问题、FTP介绍、使用vsftpd搭建ftp

exportfs命令 加入我们之前已经配置了nfs的共享目录,之后要增加更改或增加共享目录,我们需要更改配置文件,重启,如果远程客户端正在使用,此时就会一直挂载着,这时候就有问题 使用exportfs命令,当改变/etc/exports配置文件后,不用重启nfs服务直接用exportfs即可 常用选项 -a 全部挂载或者全部卸载 -r 重新挂载 -u 卸载某一个目录 -v 显示共享目录 以下操作在服务端上 #vim /etc/exports //增加一行 /tmp/ 192.168.37.0/2

exportfs命令、NFS客户端问题、FTP介绍、使用vsftpd搭建ftp服务

exportfs命令 exportfs命令用来管理当前NFS共享的文件系统列表. 常用选项 -a:全部卸载或全部挂载 -r:重新挂载 -u:卸载某个目录 -v:显示共享目录 常用组合:exportfs -arv 服务端更改配置文件后,不重启服务,直接执行该命令就可以使更改后的配置文件生效. 注意: 在重启nfs服务之前需要先将所有挂载点卸载,否则将发生程序错误,严重者会拖垮系统. 以上操作都在服务端进行! 测试 在服务端的/etc/exports配置文件中,增加一行.把/tmp/目录单独共享给1

exportfs命令 NFS客户端问题 FTP介绍 使用vsftpd搭建ftp

一.exportfs命令NFS服务端的nfs服务不能随意重启,如果需要重启服务端的nfs服务,需要先把挂载服务端共享目录的所有客户端的挂载先全部卸载客户端执行:#umount /mnt/ //提示如下umount.nfs4: /mnt: device is busy解决:第一种办法:退出/mnt目录[[email protected] mnt]# cd[[email protected] ~]# umount /mnt/第二种方法:#umount -l /mnt/ 先卸载掉客户端的挂载,然后在重