9 NFS

9.1 NFS基础

目标

.使用NFS将文件系统连接到客户端,并使用IP 地址控制访问

.使用NFS将文件系统连接到客户端,并使用kerberos 来控制访问

.配置用户名和密码控制访问的SMB共享文件系统与客户端的SMB 共享

.安装了多用户安装选项,使用基于密码的身份验证和证书,来控制访问与SMB 共享

在NFS服务器主机中进行设置

– 安装NFS服务器软件包

– 启动NFS服务器程序

– 设置NFS共享目录输出

在NFS客户机中进行设置

– 使用mount命令挂载NFS服务器中的NFS共享目录到文件系统中

– 通过NFS文件系统的挂载点目录访问NFS服务器中的共享内容

• nfs-utils软件包

– 提供了NFS服务器的启动脚本和管理维护工具

• 软件包安装

– “nfs-utils” 软件包在RHEL7系统中是默认安装的

• “exports”文件用于配置NFS服务器中输出的共享目录

# cat /etc/exports

/home/share *(sync,ro)

字段说明

nfs共享目录名需要进行输出的NFS共享目录名称

客户端主机地址能够访问共享目录的主机地址

配置选项设置共享目录的属性,字段放置在括号对( )中,多个选项间用逗号分隔

– sync:设置NFS服务器同步写磁盘,这样不会轻易丢失数据,建议所有的NFS共享目录都使用该选项

– ro:设置输出的共享目录只读,与rw不能共同使用

– rw:设置输出的共享目录可读写,与ro不能共同使用

Exports文件配置实例

• 配置NFS服务器输出的共享目录

– 输出“/home/share”目录,对所有主机可读,对地址为192.168.1.19的主机可读可写

– 输出“/home/pub”目录,对192.168.152.0子网内的所有主机可读

# cat /etc/exports

/home/share *(sync,ro) 192.168.1.19(sync,rw)

/home/pub 192.168.152.0/24(sync,ro)

NFS服务管理

• 查询服务器的状态

# systemctl status nfs-server

# systemctl start/restart nfs-server

连接NFS共享

– 显示当前主机或指定服务器中的输出列表

# showmount -e [IP/HOST]

• 挂载NFS服务器中的共享目录

# mount -t nfs 192.168.152.131:/home/share/ /mnt/

# mount | grep nfs

– 使用umount命令卸载NFS文件系统# umount /mnt/

配置NFS启动自动挂载

# vim /etc/fstab

192.168.152.131:/home/pub /mnt nfs defaults 0 0

# mount -a

配置NFS的firewall端口安全

# firewall-cmd --permanent --add-service=nfs

# firewall-cmd --permanent --add-service=mountd

# firewall-cmd --permanent --add-service=rpc-bind

# firewall-cmd --reload

9.2 NFS配置实验命令

rpms: nfs-utils

daemon: nfs-server

nfs-secure-server / kerberos nfs-secure(client)

[Server]

# mkdir /public

# yum list nfs-utils

# man exports /example

# vim /etc/exports

/public *.example.com(ro)

# systemctl restart nfs-server

# systemctl enable nfs-server

# rpcinfo

# firewall-cmd --permanent --add-service=nfs

# firewall-cmd --permanent --add-service=rpc-bind

# firewall-cmd --permanent --add-service=mountd

# showmount -e

[Desktop]

# showmount -e s0

# mkdir /mnt/nfsmount

# vim /etc/fstab

...

server0.example.com:/public /mnt/nfsmount nfs defaults 0 0

# mount -a

# findmnt /mnt/nfsmount

9.3 配置基于Kerberos验证的NFS

服务端:

man exports | grep sec=

①修改配置文件

# echo '/securenfs desktopX(sec=krb5p,rw)' >>/etc/exports

②修改配置文件:/etc/sysconfig/nfs

# Optional arguments passed to rpc.nfsd. See rpc.nfsd(8)

RPCNFSDARGS="" #修改为:RPCNFSDARGS="-V 4.2"

③下载keytab文件

# wget -O /etc/krb5.keytab

http://classroom.example.com/pub/keytabs/serverX.keytab

④启动nfs-secure-server 服务

# systemctl start nfs-secure-server

客户端:

① 下载keytab文件

# wget -O /etc/krb5.keytab

http://classroom.example.com/pub/keytabs/desktopX.keytab

② 启动nfs-secure服务

# systemctl start nfs-secure

③修改配置文件# vim /etc/fstab

server0.example.com:/protected /mnt/nfssecure nfs defaults,sec=krb5p,v4.2 0 0

实验命令

[classroom]

# vim /content/courses/rh254/rhel7.0/grading-scripts/lab-nfskrb5

[server]

# lab nfskrb5 setup

# getent passwd ldapuser0

[desktop]

# lab nfskrb5 setup

# getent passwd ldapuser0

[Server]

# mkdir -p /protected/project

# man exports /sec

# vim /etc/exports

...

/protected *.example.com(rw,sec=krb5p)

# rpm -qc nfs-utils

# vim /etc/sysconfig/nfs

...

RPCNFSDARGS="-V 4.2"

# wget -O /etc/krb5.keytab http://classroom/pub/keytabs/server0.keytab

# systemctl restart nfs-server

# systemctl restart nfs-secure-server

# systemctl enable nfs-secure-server

# showmount -e

# chown ldapuser0 /protected/project

# ll -d /protected/project

[Desktop]

# mkdir /mnt/nfssecure

# wget -O /etc/krb5.keytab http://classroom/pub/keytabs/desktop0.keytab

# systemctl restart nfs-secure

# systemctl enable nfs-secure

# vim /etc/fstab

...

server0.example.com:/protected /mnt/nfssecure nfs defaults,sec=krb5p,v4.2 0 0

# mount -a

# findmnt /mnt/nfssecure

# ssh ldapuser0@localhost

kerberos

$ touch /mnt/nfssecure/project/rw.txt

server client

/etc/export

sec=krb5p

/etc/sysconfig/nfs /etc/fstab

-V 4.2 v4.2,sec=krb5p

/etc/krb5.keytab /etc/krb5.keytab

nfs-secure-server nfs-secure

----------------------

9.4 实验外:如何生成令牌 krb

rebuild keytab

[classroom] online

# rm -rf /var/www/html/pub/keytables/server30.keytab

# kadmin.local

kadmin.local: ?

kadmin.local: list_principals

kadmin.local: ktadd

kadmin.local: ktadd -k /var/www/html/pub/keytabls/server30.keytab host/server30.example.com

kadmin.local: ktadd -k /var/www/html/pub/keytables/server30.keytab nfs/server30.example.com

kadmin.local: exit

# chmod a+r /var/www/html/pub/keytables/server30.keytab

9.5 RHCE相关题目2个

:: 配置 NFS 服务

在 server0 配置 NFS 服务,要求如下:

以只读的方式共享目录 /public 同时只能被 example.com 域中的系统访问

以读写的方式共享目录 /protected 能被 example.com 域中的系统访问

访问 /protected 需要通过 Kerberos 安全加密,

您可以使用下面URL提供的密钥 http://classroom/pub/keytabs/server0.keytab

目录 /protected 应该包含名为 project 拥有人为 ldapuser0 的子目录

用户 ldapuser0 能以读写方式访问 /protected/project

:: 挂载一个NFS共享

在 desktop0 上挂载一个来自 server0.example.com 的 NFS 共享,并符合下列要求:

/public 挂载在下面的目录上 /mnt/nfsmount

/protected 挂载在下面的目录上 /mnt/nfssecure 并使用安全的方式,

密钥下载 URL 如下: http://classroom/pub/keytabs/desktop0.keytab

用户 ldapuser0 能够在 /mnt/nfssecure/project 上创建文件

这些文件系统在系统启动时自动挂载

10 SMABA

10.1 基础

lSamba是一套使用SMB(Server Message Block)协议的应用程序

Samba允许Linux服务器与Windows系统之间进行通信,使跨平台的互访成为可能。

lSamba采用C/S模式, 其工作机制是让NetBIOS ( Windows网上邻居的通信协议)和SMB两个协议

运行于TCP/IP通信协议之上,并且用NetBEUI协议让Windows在“网上邻居”中能浏览Linux服务器。

• Samba的软件包组成

– samba-*.rpm

– samba-client-*.rpm

– samba-common-*.rpm

– cifs-utils-*.rpm

• Samba的配置目录及文件

– /etc/samba/

– /etc/samba/smb.conf

• smb.conf文件的配置内容

– [global]:全局设置

– [homes]:用户目录共享设置

– [printers]:打印机共享设置

– [myshare]:自定义名称的共享目录设置

• 辅助配置内容

– 注释行:以# 号开头的行 说明注释

– 配置样例行:以; 号开头的行 配置注释

– 结合grep命令可以提取有效配置行

• grep -v "^#" smb.conf | grep -v "^;"

常见全局配置项的含义

– workgroup:所在工作组名称

– server string:服务器描述信息

– security:安全级别,可用值如下:

share、user、server、domain

– log file:日志文件位置,“%m”变量表示客户机地址

– max log size:日志文件的最大容量,单位为KB

常见共享目录配置项的含义

– comment:对共享目录的注释、说明信息

– path:共享目录在服务器中对应的实际路径

– browseable:该共享目录在“网上邻居”中是否可见

– guest ok:是否允许所有人访问,等效于“public”

– writable:是否可写,与read only的作用相反

建立可匿名访问的文件共享

• 修改smb.conf配置文件

– security = share

– public = yes

访问SMB共享

• smbclient -L 192.168.168.1

• smbclient -U vina //192.168.168.1/movie

创建SMB访问账户

• 建立Samba用户数据库文件

– 系统用户帐号-> Samba用户帐号

– smbpasswd管理命令,常用的选项:

• -a:添加指定的Samba帐号

红帽RHCE培训-课程3笔记内容2的更多相关文章

  1. 红帽RHCE培训-课程1笔记内容

    ssh -X root@s0 1.环境变量 env 系统变量名都为大写; 引用变量名对应的值时使用$引导: SHELL下,修改变量临时生效. # PS1=' # ' # echo $PS1 永久生效放 ...

  2. 红帽RHCE培训-课程3笔记内容1

    1 控制服务和守护进程 systemctl systemctl start ** systemctl restart ** systemctl enable ** systemctl status * ...

  3. 红帽RHCE培训-课程2笔记内容

    1 kickstart自动安装 已安装系统中,在root下述目录会自动生成kickstart配置文件 ll ~/anaconda-ks.cfg 关键配置元素注释,详见未精简版 创建Kickstart配 ...

  4. 红帽RHCE培训-课程3笔记目录

    目录: 1 控制服务和守护进程 systemctl systemctl restart enable servicename service servicename restart chkconfig ...

  5. 红帽RHCE培训-课程2笔记目录

    目录 1 kickstart自动安装 DHCP+TFTP(syslinux) +FTP +KICKSTART ~/anaconda-ks.cfg system-config-kickstart 2 g ...

  6. 红帽RHCE培训-课程1笔记目录

    目录 1.环境变量 env 2.man手册mandb;系统日志/var/log/messages 3.重定向和管道> 2> &> | tee 4.mail mail -s 标 ...

  7. 4.bootstrap练习笔记-内容区块

    bootstrap练习笔记-内容区块 1.bootstrap中,采用的全部是div布局,把你的内容首先要包含在一个大的DIV区块当中 2.然后再写一个div.container,这个div里面存放真正 ...

  8. 01_Hadoop学习笔记内容说明

    Hadoop学习笔记内容说明_00 1.  观看云帆大数据梦琪老师的<企业级 Hadoop 1.x 应用开发基础课程>2014年4月左右版本. 2.  博客是在梦琪老师的随堂笔记上改动的, ...

  9. (转载)林轩田机器学习基石课程学习笔记1 — The Learning Problem

    (转载)林轩田机器学习基石课程学习笔记1 - The Learning Problem When Can Machine Learn? Why Can Machine Learn? How Can M ...

随机推荐

  1. JUC-分支合并框架

    一.原理 Fork:把一个复杂任务进行分拆,大事化小 Join:把分拆任务的结果进行合并 ForkJoinPool 分支合并池    类比=>   线程池 ForkJoinTask ForkJo ...

  2. 装饰器_python

    一.装饰器中提及的知识点 装饰器主要作用:在原函数基础上添加新功能 1.作用域:LEGB 2.高阶函数 3.闭包(在一个内部函数中,对在外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就认 ...

  3. PP: Data-driven classification of residential energy consumption patterns by means of functional connectivity networks

    Purpose Implement a good user aggregation and classification. or to assess the interrelation pattern ...

  4. NMF: non-negative matrix factorization.

    1. 矩阵分解可以用来解决什么方法, 以及how? 利用矩阵分解来解决实际问题的分析方法很多,如PCA(主成分分析).ICA(独立成分分析).SVD(奇异值分解).VQ(矢量量化)等.在所有这些方法中 ...

  5. 使用BeautifulSoup爬取汽车之家新闻

    1 先select到改数据上层的标签,取第一个[0],然后attrs获取单标签里面的内容,或者get_text获取成对标签内文本2 find就是明确了标签之后,是唯一的,就可以使用find(标签名). ...

  6. php多版本使用composer

    适用多版本的方法 1:下载composer.phar,官网有直接下载的链接,https://getcomposer.org/download/ 2:composer.phar 复制到项目根目录 3:p ...

  7. python 操作 word 图片 消失

    问题描述修改word中文本,如下代码,保存时会导致word中的部分图片消失 from docx import Document path1 = 'test_in.docx' path2 = 'test ...

  8. 题解【洛谷P2002】消息扩散

    题面 题解 \(Tarjan\)裸题. \(Tarjan\)缩点后统计入度为\(0\)的强连通分量个数,输出即可. 代码 #include <iostream> #include < ...

  9. Rabbitmq启动报错

    板卡掉电以后发现rabbitmq服务被停了,重启之: root@firefly:/var/lib/rabbitmq/mnesia# cd /usr/lib/rabbitmq/lib/rabbitmq_ ...

  10. 刷题72. Edit Distance

    一.题目说明 题目72. Edit Distance,计算将word1转换为word2最少需要的操作.操作包含:插入一个字符,删除一个字符,替换一个字符.本题难度为Hard! 二.我的解答 这个题目一 ...