IT培训网 - IT职场人学IT技术上IT培训网
IT培训网讲述Samba与NFS配置问题
时间:2018-07-27 14:18:48 来源:电脑培训网 作者:IT培训网 已有:名学员访问该课程
Samba与NFS是一大难点,Samba与NFS服务器配置你又懂得多少?对于Samba与NFS相关问题,相信有很多人吃不透,在这里,IT培训网小编给大家做详细分析。
Samba与NFS是什么?Samba与NFS配置有哪些?
Samba服务基础
–用途:为客户机提供共享使用的文件夹 (跨平台的共享,Windows与Linux)
• 所需软件包:samba
• 系统服务:smb
–协议:SMB(TCP 139)、CIFS(TCP 445)
管理共享账号
• Samba用户 —— 专用来访问共享文件夹的验证用户
– 采用独立设置的密码
– 但需要提前建立同名的系统用户(可以不设密码)
• 使用 pdbedit 管理工具
– 添加用户:pdbedit -a 用户名
– 查询用户:pdbedit -L [用户名]
– 删除用户:pdbedit -x 用户名
配置文件及参数
• 修改 /etc/samba/smb.conf
[global]
//全局设置
workgroup = 工作组名
[自定共享名]
path = 文件夹绝对路径
服务端:虚拟机Server0:
1.安装samba软件
[root@server0 ~]# yum -y install samba
2.建立Samba共享帐号
[root@server0 ~]# useradd -s /sbin/nologin harry
[root@server0 ~]# useradd -s /sbin/nologin kenji
[root@server0 ~]# useradd -s /sbin/nologin chihiro
[root@server0 ~]# pdbedit -a harry #添加harry为共享帐号
[root@server0 ~]# pdbedit -a kenji #根据提示设置2次密码
[root@server0 ~]# pdbedit -a chihiro
[root@server0 ~]# pdbedit -L #查看所有共享帐号
3.修改 /etc/samba/smb.conf主配置文件
-发布目录 /common ,共享名为 common
[root@server0 ~]# mkdir /common
[root@server0 ~]# echo 123 > /common/1.txt
[root@server0 ~]# ls /common/
补充:vim 命令模式下 按G(大写)到全文的最后一行
[root@server0 ~]# vim /etc/samba/smb.conf
workgroup = STAFF
[common]
path = /common
4.重起smb服务
[root@server0 ~]# systemctl restart smb
[root@server0 ~]# systemctl enable smb #设置为开机自启动
5.SELinux策略修改,布尔值功能的开关
– 需要加 -P 选项才能实现永久设置(需要内存支持)
# getsebool -a | grep samba #查看所有布尔值
# setsebool samba_export_all_ro on #允许所有人只读访问samba
# getsebool -a | grep samba
客户端:虚拟机desktop0
1. 所需软件包:samba-client(客户端软件)
2.利用smbclient 访问
[root@desktop0 ~]# smbclient -L //172.25.0.11/ #列出共享
[root@desktop0 ~]# smbclient -U harry //172.25.0.11/common
Enter harry's password:
smb: \>
客户端访问服务端:
1.服务端 服务本身的访问控制
2.服务端 防火墙的配置
3.服务端 SELinux策略
4.服务端 本地目录权限
通过挂载,更加科学方便的访问Samba共享
虚拟机desktop0
1.安装cifs-utils软件包(支持cifs协议)
[root@desktop0 ~]# yum -y install cifs-utils
2.进行挂载
[root@desktop0 ~]# mkdir /mnt/nsd01
# mount -o user=harry,pass=123 //172.25.0.11/common /mnt/nsd01/
[root@desktop0 ~]# df -h
[root@desktop0 ~]# ls /mnt/nsd01
3.开机自动挂载samba共享/etc/fstab
_netdev:声明网络设备
在开机启动时,该设备为网络设备,请先部署网络所有服务,具备网络参数后,在挂载此设备
//172.25.0.11/common /mnt/nsd01 cifs
defaults,user=harry,pass=123,_netdev 0 0
[root@desktop0 ~]# umount /mnt/nsd01
[root@desktop0 ~]# df -h
[root@desktop0 ~]# mount -a
[root@desktop0 ~]# df -h
搭建读写的Samba共享
服务端:虚拟机Server0
1.修改配置文件/etc/samba/smb.conf
[root@server0 ~]# mkdir /devops
[root@server0 ~]# echo haha > /devops/2.txt
[root@server0 ~]# ls /devops/
[root@server0 ~]# vim /etc/samba/smb.conf #追加写入
......
[devops] #共享名
path = /devops #共享实际路径
write list = chihiro #允许chihiro可以写
2.重起smb服务
[root@server0 ~]# systemctl restart smb
3.修改SELinux策略
[root@server0 ~]# getsebool -a | grep samba
[root@server0 ~]# setsebool samba_export_all_rw on
[root@server0 ~]# getsebool -a | grep samba
4.赋予chihiro本地目录权限
[root@server0 ~]# setfacl -m u:chihiro:rwx /devops
[root@server0 ~]# getfacl /devops
客户端:虚拟机Desktop0
1.实现开机自动挂载
[root@desktop0 ~]# vim /etc/fstab
//172.25.0.11/devops /mnt/nsd02 cifs
defaults,user=chihiro,pass=123,_netdev 0 0
[root@desktop0 ~]# mount -a
[root@desktop0 ~]# df -h
multiuser机制,主要为普通用户设计
多用户Samba挂载
客户端以权限较小的用户验证samba共享
在必要的时候普通用户,可以通过命令更改验证用户身份,获得写入权限
• mount.cifs 的挂载参数
– multiuser,提供对客户端多个用户身份的区分支持
– sec=ntlmssp,提供NT局域网管理安全支持
[root@desktop0 ~]# vim /etc/fstab
//172.25.0.11/devops /mnt/nsd02 cifs defaults,user=kenji,pass=123,_netdev,multiuser,sec=ntlmssp
0 0
[root@desktop0 ~]# umount /mnt/nsd02
[root@desktop0 ~]# mount -a
[root@desktop0 ~]# df -h
[root@desktop0 ~]# su - student
[student@desktop0 ~]$ cd /mnt/nsd02
$ cifscreds add -u chihiro 172.25.0.11
Password:
[student@desktop0 nsd02]$ touch 66.txt
[student@desktop0 nsd02]$ exit
NFS服务端
[root@serverX ~]# mkdir -p /public /protected/project
[root@serverX ~]# chown ldapuserX /protected/project/
[root@serverX ~]# wget -O /etc/krb5.keytab http://classroom/pub/keytabs/serverX.keytab
[root@serverX ~]# vim /etc/exports /public 172.25.X.0/24(ro) /protected 172.25.X.0/24(rw,sec=krb5p)
[root@serverX ~]# vim /etc/sysconfig/nfs //若明确要求版本,可执行此操作 .. .. RPCNFSDARGS="-V 4"
[root@serverX ~]# systemctl start nfs-secure-server nfs-server //启用两个系统服务 [root@serverX ~]# systemctl enable nfs-secure-server nfs-server [root@serverX ~]# exportfs -rv //必要时更新共享配置
挂载 NFS 共享
试题概述: 在 system2 上挂载一个来自 system1.goup3.exmaple.com 的共享,并符合下列要求: /public 挂载在下面的目录上/mnt/nfsmount /protected挂载在下面的目录上/mnt/nfssecure 并使用安全的方式,密钥下载 URL:
http://host.groupX.example.com/nfs_client.keytab 用户 krishna 能够在/mnt/nfssecure/project 上创建文件 这些文件系统在系统启动时自动挂载
解题参考: [练习环境:lab nfskrb5 setup]
[root@desktopX ~]# mkdir -p /mnt/nfsmount /mnt/nfssecure [root@desktopX ~]# wget -O /etc/krb5.keytab http://classroom/pub/keytabs/desktopX.keytab
[root@desktopX ~]# systemctl start nfs-secure //启用安全 NFS 的客户端服务 [root@desktopX ~]# systemctl enable nfs-secure
[root@desktopX ~]# showmount -e serverX //查看对方提供了哪些共享 Export list for serverX: /protected 172.25.X.0/24 /public 172.25.X.0/24
[root@desktopX ~]# vim /etc/fstab .. .. serverX.example.com:/public /mnt/nfsmount nfs _netdev 0 0 serverX.example.com:/protected /mnt/nfssecure nfs sec=krb5p,_netdev 0 0 //若服务器有 NFS 版本要求,挂载时可添加类似 v4 的参数 [root@desktopX ~]# mount -a
[root@desktopX ~]# ssh ldapuserX@desktopX //SSH 登入以获取通行证 ldapuserX@desktopX's password: //密码 kerberos(练习环境) [ldapuserX@desktopX ~]$ touch /mnt/nfssecure/project/a.txt //写入测试
每期开班座位有限.0元试听抢座开始!
温馨提示 : 请保持手机畅通,咨询老师为您
提供专属一对一报名服务。