- 浏览: 624321 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (819)
- java开发 (110)
- 数据库 (56)
- javascript (30)
- 生活、哲理 (17)
- jquery (36)
- 杂谈 (15)
- linux (62)
- spring (52)
- kafka (11)
- http协议 (22)
- 架构 (18)
- ZooKeeper (18)
- eclipse (13)
- ngork (2)
- dubbo框架 (6)
- Mybatis (9)
- 缓存 (28)
- maven (20)
- MongoDB (3)
- 设计模式 (3)
- shiro (10)
- taokeeper (1)
- 锁和多线程 (3)
- Tomcat7集群 (12)
- Nginx (34)
- nodejs (1)
- MDC (1)
- Netty (7)
- solr (15)
- JSON (8)
- rabbitmq (32)
- disconf (7)
- PowerDesigne (0)
- Spring Boot (31)
- 日志系统 (6)
- erlang (2)
- Swagger (3)
- 测试工具 (3)
- docker (17)
- ELK (2)
- TCC分布式事务 (2)
- marathon (12)
- phpMyAdmin (12)
- git (3)
- Atomix (1)
- Calico (1)
- Lua (7)
- 泛解析 (2)
- OpenResty (2)
- spring mvc (19)
- 前端 (3)
- spring cloud (15)
- Netflix (1)
- zipkin (3)
- JVM 内存模型 (5)
- websocket (1)
- Eureka (4)
- apollo (2)
- idea (2)
- go (1)
- 业务 (0)
- idea开发工具 (1)
最新评论
-
sichunli_030:
对于频繁调用的话,建议采用连接池机制
配置TOMCAT及httpClient的keepalive以高效利用长连接 -
11想念99不见:
你好,我看不太懂。假如我的项目中会频繁调用rest接口,是要用 ...
配置TOMCAT及httpClient的keepalive以高效利用长连接
http://blog.csdn.net/zhaole20094463/article/details/7540100
http://www.jb51.net/os/RedHat/1109.html
NFS服务器端配置
服务器端配置
1 创建共享目录
# mkdir /home/share
# chown nobody.nogroup /home/share
2 创建或修改/etc/exports 配置文件
这个文件的内容非常简单,每一行由抛出路径,客户名列表以及每个客户名后紧跟的访问选项构成:
[共享的目录] [主机名或IP(参数,参数)]
其中参数是可选的,当不指定参数时,nfs将使用默认选项。默认的共享选项是 sync,ro,root_squash,no_delay。
当主机名或IP地址为空时,则代表共享给任意客户机提供服务。
当将同一目录共享给多个客户机,但对每个客户机提供的权限不同时,可以这样:
[共享的目录] [主机名1或IP1(参数1,参数2)] [主机名2或IP2(参数3,参数4)]
下面是一些NFS共享的常用参数:
ro 只读访问
rw 读写访问
sync 所有数据在请求时写入共享
async NFS在写入数据前可以相应请求
secure NFS通过1024以下的安全TCP/IP端口发送
insecure NFS通过1024以上的端口发送
wdelay 如果多个用户要写入NFS目录,则归组写入(默认)
no_wdelay 如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。
hide 在NFS共享目录中不共享其子目录
no_hide 共享NFS目录的子目录
subtree_check 如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)
no_subtree_check 和上面相对,不检查父目录权限
all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
no_all_squash 保留共享文件的UID和GID(默认)
root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认)
no_root_squas root用户具有根目录的完全管理访问权限
anonuid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的UID
anongid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的GID
配置文件/etc/exports内容如下:
$ cat /etc/exports
/home/share 192.168.102.15(rw,sync) *(ro)
配置说明: 对192.168.102.15赋予读写权限,其他机器仅有只读权限。
3 Iptables 防火墙
如果我们的NFS服务器在防火墙后边,则需要在防火强策略中加入如下策略:
-A INPUT -p tcp -m state --state NEW -m multiport --dport 111,2049,4001,32764:32767 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m multiport --dport 111,2049,4001,32764:32767 -j ACCEPT
=======================================
NFS:Network File System,linux中共享文件的服务。
使用NFS需要启用RPC(remoteprocedure call),RPC可以指定每个NFS功能所对应的端口号,重启RPC后,RPC所管理的所有NFS功能服务都需重新向RPC注册。
设置NFS需要安装nfs-utils和portmap程序,使用rpm –q可以查看是否安装
Nfs-utils:提供rpc.nfsd和rpc.mountd两个daemon与其他document说明文件。
rpc.nfsd:管理client是否能够登入主机,及对登入者ID的辨别。
rpc.mountd:管理NFS文件系统,读取/etc/exports对比client取得相应的权限。
Portmap:端口映射;在启动rpc之前做好端口映射工作。
NFS的配置文件有两个:
/etc/exports:NFS配置文件
/var/lib/nfs/*tab:NFS服务器日志放置路径;etab记录共享出来的目录完整权限设置值;xtab记录曾经连接到此NFS主机的相关客户端数据
两个命令:
/usr/sbin/exportfs:维护NFS共享资源;重新共享/etc/exports变更目录或将NFSserver共享目录卸载或重新共享
/usr/sbin/showmount:在客户端查看NFS服务器共享出来的目录资源
/etc/exports配置文件
首先需要手动编辑/etc/exports配置文件
共享目录必须使用绝对路径,权限部分依照不同的权限共享给不同的主机,括号内是设置权限参数的位置,权限不止一个时,使用,隔开,主机名和括号连在一起。
主机名设置可以使用网段:192.168.1.0/24或完整IP:192.168.1.23也可以使用主机名称,但此主机名称需要存在于/etc/hosts中或使用DNS可以找到,找到IP即可,主机名支持通配符,如*?
/mnt/sda4/share/a 192.168.23.129(rw)
设置共享目录/mnt/sda4/share/a,仅192.168.23.129主机允许访问此共享目录,具有读写权限
/mnt/sda4/share/b 192.168.23.129(rw) *(ro)
设置共享目录/mnt/sda4/share/b,192.168.23.129可以读写该共享目录,其他主机只可以读取该共享目录
/mnt/sda4/share/c 192.168.23.129(no_root_squash)
设置共享目录/mnt/sda4/share/c,仅192.168.23.129可以访问和读写,root登录时拥有root权限
/mnt/sda4/share/d 192.168.23.0/24(rw)
设置共享目录/mnt/sda4/share/d,仅有192.168.23.0/24网段的主机才可访问和读写此目录文件
/mnt/sda4/share/e *(rw,all_squash,anonuid=500,anongid=500)
设置共享目录/mnt/sda4/share/e,所有主机都允许访问此共享目录,具有读写权限,但他们访问该共享目录时,已将其UID、GID设置成500。NFSserver主机中UID、GID=500的权限已经设置好
权限参数说明如下:
Rw:read-write可读写的权限
Ro:read-only只读权限
no_root_squash:登入NFS主机使用共享目录的用户,如果是用户root,对于此共享目录具有root权限,不建议使用。
root_squash:登入NFS主机使用共享目录的用户,如果是用户root,此用户权限将被压缩为匿名用户,其UID和GID都会被压缩为nobody(nfsnobody)系统账号的身份。
all_squash:不论登入NFS的用户身份为何,其身份都被转换成为匿名用户,即nobody。
Anonuid:anonymous;即nobody,可以自行设定此UID值,但此UID必须存在于/etc/passwd中。
Anongid:同anonuid,变成group ID即可。
Sync:数据同步写入到内存与硬盘中
Async:数据先暂存于内存中,而非直接写入硬盘
权限说明:
1.NFS server和NFS client具有相同的UID和账号
如果NFSserver和NFSclient具有相同共享文件账号和相同UID,客户端登入NFSserver时,就会拥有/etc/exports设置的权限
2.NFS server和NFS client具有不同的账号
如果NFSclient不拥有NFSserver共享文件账号,或NFSclient的账号在NFSserver不存在,是否可以读写共享目录,需要查看NFSserver的权限而定,其身份会变为匿名用户nobody
3.NFS client的身份为root
默认情况下,客户端的root身份会被压缩成匿名用户nobody
启动NFS
启动NFS只需启动portmap和NFS服务即可。如果需要启动数据一致性检查,则需启动nfslock服务。
使用netstat–tnlu可以查看nfs开放了哪些端口。Portmap的端口为111,nfs的端口为2049
[root@localhost share]# rpcinfo -p
http://www.cnblogs.com/dkblog/archive/2011/01/13/1980666.html
http://www.cnblogs.com/ruanjian/p/5992803.html
http://www.jb51.net/os/RedHat/1109.html
NFS服务器端配置
服务器端配置
1 创建共享目录
# mkdir /home/share
# chown nobody.nogroup /home/share
2 创建或修改/etc/exports 配置文件
这个文件的内容非常简单,每一行由抛出路径,客户名列表以及每个客户名后紧跟的访问选项构成:
[共享的目录] [主机名或IP(参数,参数)]
其中参数是可选的,当不指定参数时,nfs将使用默认选项。默认的共享选项是 sync,ro,root_squash,no_delay。
当主机名或IP地址为空时,则代表共享给任意客户机提供服务。
当将同一目录共享给多个客户机,但对每个客户机提供的权限不同时,可以这样:
[共享的目录] [主机名1或IP1(参数1,参数2)] [主机名2或IP2(参数3,参数4)]
下面是一些NFS共享的常用参数:
ro 只读访问
rw 读写访问
sync 所有数据在请求时写入共享
async NFS在写入数据前可以相应请求
secure NFS通过1024以下的安全TCP/IP端口发送
insecure NFS通过1024以上的端口发送
wdelay 如果多个用户要写入NFS目录,则归组写入(默认)
no_wdelay 如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。
hide 在NFS共享目录中不共享其子目录
no_hide 共享NFS目录的子目录
subtree_check 如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)
no_subtree_check 和上面相对,不检查父目录权限
all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
no_all_squash 保留共享文件的UID和GID(默认)
root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认)
no_root_squas root用户具有根目录的完全管理访问权限
anonuid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的UID
anongid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的GID
配置文件/etc/exports内容如下:
$ cat /etc/exports
/home/share 192.168.102.15(rw,sync) *(ro)
配置说明: 对192.168.102.15赋予读写权限,其他机器仅有只读权限。
3 Iptables 防火墙
如果我们的NFS服务器在防火墙后边,则需要在防火强策略中加入如下策略:
-A INPUT -p tcp -m state --state NEW -m multiport --dport 111,2049,4001,32764:32767 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m multiport --dport 111,2049,4001,32764:32767 -j ACCEPT
=======================================
NFS:Network File System,linux中共享文件的服务。
使用NFS需要启用RPC(remoteprocedure call),RPC可以指定每个NFS功能所对应的端口号,重启RPC后,RPC所管理的所有NFS功能服务都需重新向RPC注册。
设置NFS需要安装nfs-utils和portmap程序,使用rpm –q可以查看是否安装
Nfs-utils:提供rpc.nfsd和rpc.mountd两个daemon与其他document说明文件。
rpc.nfsd:管理client是否能够登入主机,及对登入者ID的辨别。
rpc.mountd:管理NFS文件系统,读取/etc/exports对比client取得相应的权限。
Portmap:端口映射;在启动rpc之前做好端口映射工作。
NFS的配置文件有两个:
/etc/exports:NFS配置文件
/var/lib/nfs/*tab:NFS服务器日志放置路径;etab记录共享出来的目录完整权限设置值;xtab记录曾经连接到此NFS主机的相关客户端数据
两个命令:
/usr/sbin/exportfs:维护NFS共享资源;重新共享/etc/exports变更目录或将NFSserver共享目录卸载或重新共享
/usr/sbin/showmount:在客户端查看NFS服务器共享出来的目录资源
/etc/exports配置文件
首先需要手动编辑/etc/exports配置文件
共享目录必须使用绝对路径,权限部分依照不同的权限共享给不同的主机,括号内是设置权限参数的位置,权限不止一个时,使用,隔开,主机名和括号连在一起。
主机名设置可以使用网段:192.168.1.0/24或完整IP:192.168.1.23也可以使用主机名称,但此主机名称需要存在于/etc/hosts中或使用DNS可以找到,找到IP即可,主机名支持通配符,如*?
/mnt/sda4/share/a 192.168.23.129(rw)
设置共享目录/mnt/sda4/share/a,仅192.168.23.129主机允许访问此共享目录,具有读写权限
/mnt/sda4/share/b 192.168.23.129(rw) *(ro)
设置共享目录/mnt/sda4/share/b,192.168.23.129可以读写该共享目录,其他主机只可以读取该共享目录
/mnt/sda4/share/c 192.168.23.129(no_root_squash)
设置共享目录/mnt/sda4/share/c,仅192.168.23.129可以访问和读写,root登录时拥有root权限
/mnt/sda4/share/d 192.168.23.0/24(rw)
设置共享目录/mnt/sda4/share/d,仅有192.168.23.0/24网段的主机才可访问和读写此目录文件
/mnt/sda4/share/e *(rw,all_squash,anonuid=500,anongid=500)
设置共享目录/mnt/sda4/share/e,所有主机都允许访问此共享目录,具有读写权限,但他们访问该共享目录时,已将其UID、GID设置成500。NFSserver主机中UID、GID=500的权限已经设置好
权限参数说明如下:
Rw:read-write可读写的权限
Ro:read-only只读权限
no_root_squash:登入NFS主机使用共享目录的用户,如果是用户root,对于此共享目录具有root权限,不建议使用。
root_squash:登入NFS主机使用共享目录的用户,如果是用户root,此用户权限将被压缩为匿名用户,其UID和GID都会被压缩为nobody(nfsnobody)系统账号的身份。
all_squash:不论登入NFS的用户身份为何,其身份都被转换成为匿名用户,即nobody。
Anonuid:anonymous;即nobody,可以自行设定此UID值,但此UID必须存在于/etc/passwd中。
Anongid:同anonuid,变成group ID即可。
Sync:数据同步写入到内存与硬盘中
Async:数据先暂存于内存中,而非直接写入硬盘
权限说明:
1.NFS server和NFS client具有相同的UID和账号
如果NFSserver和NFSclient具有相同共享文件账号和相同UID,客户端登入NFSserver时,就会拥有/etc/exports设置的权限
2.NFS server和NFS client具有不同的账号
如果NFSclient不拥有NFSserver共享文件账号,或NFSclient的账号在NFSserver不存在,是否可以读写共享目录,需要查看NFSserver的权限而定,其身份会变为匿名用户nobody
3.NFS client的身份为root
默认情况下,客户端的root身份会被压缩成匿名用户nobody
启动NFS
启动NFS只需启动portmap和NFS服务即可。如果需要启动数据一致性检查,则需启动nfslock服务。
使用netstat–tnlu可以查看nfs开放了哪些端口。Portmap的端口为111,nfs的端口为2049
[root@localhost share]# rpcinfo -p
http://www.cnblogs.com/dkblog/archive/2011/01/13/1980666.html
http://www.cnblogs.com/ruanjian/p/5992803.html
发表评论
-
Linux环境下查看网络性能的基本命令
2023-08-26 18:46 345Linux环境下查看网络性能的基本命令 -
CURL 发送POST请求
2023-02-12 21:55 240curl 命令详解 CURL 发送POST请求 -
grep 查找多个关键词之一
2022-12-20 12:28 480grep 查找多个关键词之一 -
linux查看dns及ttl时间,使用dig查询dns解析
2022-09-04 21:39 760linux查看dns及ttl时间,使用dig查询dns解析 -
Linux head ,tcpdump抓包命令
2022-03-25 09:39 296Linux head 命令 使用find查找包含指定字符串的 ... -
cat /proc/meminfo 各字段详解
2021-11-29 10:24 830一、cat /proc/meminfo 各字段详解 cat ... -
Linux 的nameserver-域名服务器
2018-11-16 17:25 693Linux 的nameserver-域名服务器 https:/ ... -
yum安装命令的使用方法
2018-09-06 20:18 402https://blog.csdn.net/freshman_ ... -
centOS-7-x86_64-Everything-1611.iso
2018-03-29 20:49 724镜像下载地址: http://mirror.neu.edu.c ... -
Shell编程中Shift的用法
2018-01-26 14:24 519位置参数可以用shift命令左移。比如shift 3表示原来的 ... -
rpm包管理
2017-06-11 18:03 506http://www.cnblogs.com/bangerle ... -
CURL常用命令
2017-06-11 12:49 517http://www.cnblogs.com/gbyukg/p ... -
nslookup通往DNS的桥梁
2017-06-06 20:21 523http://roclinux.cn/?p=2441 -
Linux查看CPU信息、物理CPU个数、核数、逻辑CPU个数
2017-05-22 16:26 978#查看CPU信息(型号) cat /proc/cpuinfo ... -
Linux Container(LXC)容器隔离实现机制
2017-05-19 14:08 821http://tasnrh.blog.51cto.com/41 ... -
NFS使用详解之三.NFS传输速度优化
2017-05-18 20:33 1822http://blog.chinaunix.net/uid-2 ... -
.bashrc文件在哪
2017-05-17 10:28 1786找到这个$HOME/.bashrc $HOME的意思是你的 ... -
linux命令别名alias用法
2017-05-17 10:19 636命令别名:alias alias显示当前shell中定义的所 ... -
Linux命令echo -e 这个参数e是什么意思
2017-05-17 09:40 1818man帮助的解释是,允许后面的输出进行转义,假设你是 echo ... -
设置Sysctl.conf用以提高Linux的性能(最完整的sysctl.conf优化方案)
2017-05-17 09:26 648http://blog.csdn.net/21aspnet/a ...
相关推荐
Linux 系统中的 `/etc/fstab` 文件是一个非常重要的配置文件,它定义了静态文件系统信息,描述了存储设备和分区如何整合到整个系统中。该文件由 mount 命令读取,以确定设备和分区的挂载选项。 文件 `/etc/fstab` ...
`mount` 命令是 Unix 和 Linux 系统中用于挂载文件系统的重要工具,它允许用户将存储设备(如硬盘、光盘、USB 驱动器等)的文件系统连接到操作系统中的特定目录,以便访问和操作其中的数据。下面是对 `mount` 命令的...
### 解决can't mount方案 在使用安卓手机的过程中,可能会遇到“can't ...综上所述,面对“can't mount”问题时,通过合理的准备和操作步骤,大多数情况下都能够成功解决问题。希望本文能帮助到遇到类似问题的读者。
Linux mount命令 Linux mount命令是经常会使用到的命令,它用于挂载Linux系统外的文件。 语法 mount [-hV] mount -a [-fFnrsvw] [-t vfstype...-a:将 /etc/fstab 中定义的所有档案系统挂上。 -F:这个命令通常和 -a 一
### Linux Mount 命令详解及其应用场景 #### 标题解析 - **Linux Mount 命令**:在Linux系统中,`mount`命令用于挂载文件系统到系统的某个目录。这一过程允许用户访问该文件系统中的数据。挂载通常在安装操作系统时...
### Linux命令mount的使用详解 #### 一、概述 `mount` 命令是Linux系统中用于挂载文件系统的重要工具。通过该命令,用户能够将存储设备(如硬盘分区、USB驱动器、ISO镜像文件等)挂载到系统的特定目录下,从而访问...
解决办法是在`mount`命令中使用`-o`参数里的`codepage`和`iocharset`选项来指定正确的编码。例如: ```bash # mount -o iocharset=gb2312 codepage=936 /dev/hda5 /mnt/hda5 ``` 对于简体中文,通常使用`code...
### Linux 文件系统 Mount 知识点详解 #### 标题:Linux 文件系统 Mount - **Mount** 是 Linux 系统中的一个非常重要的命令,用于将文件系统(如磁盘分区、光驱等)挂载到文件系统的某个目录上,使得用户可以访问...
### Linux `mount` 命令详解与应用 #### 前言 在 Linux 操作系统中,`mount` 命令是一个极其重要的工具,它用于将存储设备或者文件系统连接到文件系统的某个目录上。这对于管理和访问不同类型的文件系统至关重要。...
依据配置文件 /etc/fstab的内容,自动挂载 挂载命令格式 mount [-t 文件系统] [-o 特殊选项] 设备文件名 挂载点 选项: -t 文件系统:加入文件系统类型来指定挂载的类型,可以ext3,ext4,iso9660等文件系统 -o...
### Linux_procfs详解 #### 一、引言 在Linux操作系统中,有一个非常重要的伪文件系统,名为`procfs`。这个特殊的文件系统为用户提供了一种简单而直接的方式来访问正在运行的内核的状态以及进程信息。它允许用户...
在 chroot 之后,可以进行其他修复操作,例如编辑 `/etc/fstab` 和 `/etc/inittab` 文件,安装软件包等。 退出 Rescue 模式 完成修复工作后,使用 `exit` 命令退出 chroot 状态,然后使用 `exit` 命令退出 Rescue ...
Linux 分区详解 Linux 分区是 Linux 操作系统中管理磁盘空间的基本概念。分区是指将硬盘或其他存储设备分割成多个逻辑区,以便更好地组织和管理数据。下面是 Linux 分区详解的知识点: 1. fdisk 命令:fdisk 命令...
### Linux磁盘分区挂载详解 #### 一、引言 在Linux系统中,磁盘管理是一项非常重要的任务。无论是日常运维还是系统优化,都需要掌握如何有效地管理磁盘空间。本文将详细介绍Linux磁盘分区与挂载的过程,涵盖检查...
`mount`和`umount`命令分别用于挂载和卸载文件系统。 在实际操作中,我们还需要考虑挂载点的选择和配置。例如,根目录(`/`)通常在启动时自动挂载,而其他分区如/home、/var、/tmp等则需要在/etc/fstab文件中配置,...
### Linux知识宝库及其详解 #### 一、概述 随着Linux在中国乃至全球的广泛应用与深入发展,越来越多的技术人员和爱好者开始关注Linux系统的学习与实践。本文档旨在通过一系列简明扼要的知识点介绍,帮助读者快速...
find 命令参数详解 find 命令是 Unix/Linux 系统中一个功能强大且灵活的命令,用于在文件系统中搜索和查找文件。该命令具有强大的功能,因此它的选项也很多,详细了解每个参数可以帮助我们更好地使用 find 命令。 ...
Linux目录详解涉及到Linux操作系统中各种目录的作用和文件系统的层次结构。Linux遵循文件系统层次标准(Filesystem Hierarchy Standard,FHS),其目的是为了确保Linux发行版之间具有统一的目录结构。了解这些目录...
### Linux 文件系统详解 在深入理解 Linux 操作系统的运行机制时,掌握其文件系统的结构是至关重要的一步。本文将详细解读 Linux 文件系统的基本概念、重要目录及其作用,并结合部分核心配置文件的功能进行阐述。 ...
在这种情况下,我们可以使用安装盘进入到 Linux rescue 模式,然后 mount 根分区和 /boot 分区,使用 chroot 命令切换到 /mnt/sysimage 目录,最后编写正确的 /etc/fstab 文件,并退出并重启系统。 这部分内容涉及...