红帽RHCE培训-课程3笔记内容2
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的更多相关文章
- 红帽RHCE培训-课程1笔记内容
ssh -X root@s0 1.环境变量 env 系统变量名都为大写; 引用变量名对应的值时使用$引导: SHELL下,修改变量临时生效. # PS1=' # ' # echo $PS1 永久生效放 ...
- 红帽RHCE培训-课程3笔记内容1
1 控制服务和守护进程 systemctl systemctl start ** systemctl restart ** systemctl enable ** systemctl status * ...
- 红帽RHCE培训-课程2笔记内容
1 kickstart自动安装 已安装系统中,在root下述目录会自动生成kickstart配置文件 ll ~/anaconda-ks.cfg 关键配置元素注释,详见未精简版 创建Kickstart配 ...
- 红帽RHCE培训-课程3笔记目录
目录: 1 控制服务和守护进程 systemctl systemctl restart enable servicename service servicename restart chkconfig ...
- 红帽RHCE培训-课程2笔记目录
目录 1 kickstart自动安装 DHCP+TFTP(syslinux) +FTP +KICKSTART ~/anaconda-ks.cfg system-config-kickstart 2 g ...
- 红帽RHCE培训-课程1笔记目录
目录 1.环境变量 env 2.man手册mandb;系统日志/var/log/messages 3.重定向和管道> 2> &> | tee 4.mail mail -s 标 ...
- 4.bootstrap练习笔记-内容区块
bootstrap练习笔记-内容区块 1.bootstrap中,采用的全部是div布局,把你的内容首先要包含在一个大的DIV区块当中 2.然后再写一个div.container,这个div里面存放真正 ...
- 01_Hadoop学习笔记内容说明
Hadoop学习笔记内容说明_00 1. 观看云帆大数据梦琪老师的<企业级 Hadoop 1.x 应用开发基础课程>2014年4月左右版本. 2. 博客是在梦琪老师的随堂笔记上改动的, ...
- (转载)林轩田机器学习基石课程学习笔记1 — The Learning Problem
(转载)林轩田机器学习基石课程学习笔记1 - The Learning Problem When Can Machine Learn? Why Can Machine Learn? How Can M ...
随机推荐
- python面试的100题(15)
41.super函数的具体用法和场景 为了调用父类(超类)的一个方法,可以使用 super() 函数,比如: class A: def spam(self): print('A.spam') clas ...
- opencv:程序运行完保持dos窗口不关闭
(1)在main函数最后加上 system("pause"); 第一种不能加到含有imshow图片显示的结尾:否则会不能显示图片: (2)利用cvWaitKey()函数: 这种能加 ...
- js中进入页面后刷新一次,且只刷新一次
让页面进行刷新,可以使用location.reload()方法,但是这种方法会让页面一直不断的刷新,这是因为当页面加载完成以后,我们让它刷新一次,那么浏览器就会重新向服务器请求数据,界面会重新加载,然 ...
- Android 开发 ThreadPool(线程池) 总结
本文是介绍线程池的基础篇. 一.线程池的作用 创建异步线程的弊端: 1.每次new Thread创建对象,导致性能变差. 2.缺乏统一的管理,可能导致无限制的线程运行,严重的后果就是OOM 或者死机. ...
- 关于pip命令的几点提醒
pip install xxxxx 总会遇到安装失败,或者下载速度很慢的情况.这是因为从国外安装资源包,造成速度慢,那有咩有国内的源呢,有的. 国内源: 清华:https://pypi.tuna.ts ...
- Java上传图片到Ftp,包含上传后文件大小为0的问题和Properties配置文件的读取
准备工作:需要使用coomos-net jar包.下载地址 一. 上传图片到FTP,文件大小为0的问题,解决:将ftp模式修改为Passive模式就可以了. //将ftp模式修改为Passive模式 ...
- IDEA与Tomcat相关配置
idea会为每一个Tomcat部署的项目,独立建一份配置文件. 配置文件所在位置 怎么部署的(查看虚拟目录)使用的第三种部署方式 部署项目存放的路径 项目目录和Tomcat部署目录 Tomcat真正访 ...
- python 请求服务器的本质
不同路由请求不同内容 ''' 根据url中不同路径返回不同内容 ''' import socket sk=socket.socket() sk.bind(("127.0.0.1", ...
- mysql(3):锁和事务
MySQL锁的介绍 锁是数据库系统区别于文件系统的一个关键特性.锁机制用于管理对共享资源的并发访问. 表级锁 例如MyISAM引擎,其锁是表锁设计.并发情况下的读没有问题,但是并发插入时的性能要差一些 ...
- Java-POJ1006-Biorhythms(中国剩余定理)
https://blog.csdn.net/shanshanpt/article/details/8724769 有中文题面,就不解释了. 妥妥的中国剩余定理没跑了. Java跑得慢,一点办法也没有, ...