FOUR DAY
总结笔记:
一.配置SMB共享(Linux与Windows)
协议:SMB(TCP 139)、CIFS(TCP 445)---------所需软件包:samba;smbclient-------系统服务:smb--------配置文件:/etc/samba/smb.conf;/etc/fstab
虚拟机server0
1.安装samba
2.创建Samba账户,设置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 #添加Samba账户并设置密码
[root@server0 ~]# pdbedit -a kenji
[root@server0 ~]# pdbedit -a chihiro
[root@server0 ~]# pdbedit -L #显示所有有效的Samba账户
3.创建相应的共享路径
[root@server0 ~]# mkdir /common
[root@server0 ~]# echo 123 > /common/123.txt
[root@server0 ~]# ls /common/
4.修改 /etc/samba/smb.conf
89行 workgroup = STAFF #修改工作组名
[root@server0 ~]# tail -2 /etc/samba/smb.conf
[common] #共享名
path = /common #共享实际路径
5.重起smb服务
[root@server0 ~]# systemctl restart smb
[root@server0 ~]# systemctl enable smb
6.虚拟机desktop0测试:
[root@desktop0 ~]# yum -y install samba-client
[root@desktop0 ~]# smbclient -L //172.25.0.11
Enter root's password:
[root@desktop0 ~]# smbclient -U harry //172.25.0.11/common
Enter harry's password:
smb: \>
二.客户端访问服务端服务:1. 服务的访问控制2. 本地权限的设置 3. 防火墙 4.SELinux策略
虚拟机server0:
1.服务端操作 -----(1安装samba----2添加samba用户已略)
3创建共享路径
[root@server0 ~]# mkdir /devops
[root@server0 ~]# echo hahaxixi > /devops/abc.txt
4.修改配置文件(修改服务的访问控制)
[root@server0 ~]# tail -3 /etc/samba/smb.conf
[devops]
path = /devops
write list = chihiro #允许chihiro可以写入(服务的访问控制)
5设置本地权限
[root@server0 ~]# setfacl -m u:chihiro:rwx /devops #
[root@server0 ~]# getsebool -a | grep samba
6.selinux策略
[root@server0 ~]# setsebool samba_export_all_rw=on #修改SELinux
7.重启服务
[root@server0 ~]# systemctl restart smb
客户端验证
1安装cifs-utils
2创建共享文件映射目录
[root@desktop0 ~]# mkdir /mnt/devops
2.修改配置文件之自动挂载配置之用户网络设备
[root@desktop0 ~]# tail -1 /etc/fstab
//172.25.0.11/devops /mnt/devops cifs defaults,user=chihiro,pass=123,_netdev 0 0
[root@desktop0 ~]# mount -a #挂起
3.最后测试
[root@desktop0 ~]# touch /mnt/devops/1.txt
三.共享文件夹的多用户访问SMB服务(1挂载SMB共享时启用 multiuser 支持2使用 cifscreds 临时切换身份)
服务端server0操作 -----(1安装samba----2添加samba用户已略-----3创建共享目录--------4修改配置文件----------5设置本地权限--------6selinux-------------7重启服务)---------重复步骤
虚拟机desktop0:客户端验证
1安装cifs-ulis------2创建共享映射目录(略)
3修改配置文件之自动挂载配置之多用户网络设备
[root@desktop0 ~]# vim /etc/fstab
//172.25.0.11/devops /mnt/devopscifs defaults,user=chihiro,pass=123,_netdev,multiuser,sec=ntlmssp 0 0
[root@desktop0 ~]# umount /mnt/devops #卸载挂载设备
[root@desktop0 ~]# mount -a #重新挂载
[root@desktop0 ~]# su - student
[student@desktop0 ~]$ ls /mnt/devops #失败
[student@desktop0 ~]$ cifscreds add -u chihiro 172.25.0.11 #临时切换身份
[student@desktop0 ~]$ ls /mnt/devops #成功
[student@desktop0 ~]$ touch /mnt/devops/test01.txt #成功
[student@desktop0 ~]$ ls /mnt/devops
[student@desktop0 ~]$ exit
4.配置NFS共享(Linux与Linux)
协议:NFS(TCP/UDP 2049)、RPC(TCP/UDP 111)
所需软件包:nfs-utils
系统服务:nfs-server
配置文件:/etc/exports
虚拟机server0:
1.检测nfs-utils是否安装
[root@server0 ~]# rpm -q nfs-utils
2.创建共享的目录
[root@server0 ~]# mkdir /public
[root@server0 ~]# echo hahaxixi > /public/nsd.txt
3.修改配置文件/etc/exports
/public 172.25.0.0/24(ro)
4.重起服务
[root@server0 ~]# systemctl restart nfs-server
[root@server0 ~]# systemctl enable nfs-server
虚拟机desktop0:
[root@desktop0 /]# showmount -e 172.25.0.11 #查看都有那些共享
[root@desktop0 /]# mkdir /mnt/nfs01
[root@desktop0 /]# tail -1 /etc/fstab
172.25.0.11:/public /mnt/nfs01 nfs defaults,_netdev 0 0
[root@desktop0 /]# mount -a
[root@desktop0 /]# df -h
5.安全的NFS共享
LDAP 管理所有用户信息
kerberos 提供密码认证
1.还原所有虚拟机(a1;b1;c1)
2.设置虚拟机的防火墙(s11;s10)
二、将虚拟机server0与desktop0,加入LDAP、kerberos
[root@server0 ~]# lab nfskrb5 setup
[root@desktop0 ~]# lab nfskrb5 setup
[root@server0 ~]# id ldapuser0 #验证是否识别网络用户
[root@server0 ~]# grep ldapuser0 /etc/passwd
三、配置虚拟机server0为NFS服务端
1.修改配置文件/etc/exports
/nsd/ *(rw,sec=krb5p)
2.创建共享的目录
[root@server0 ~]# mkdir -p /nsd/test
[root@server0 ~]# echo hahaxixi > /nsd/test/haxi.txt
3.修改虚拟机server0上权限设置
[root@server0 ~]# chown ldapuser0 /nsd/test/
[root@server0 ~]# ls -ld /nsd/test/
4.部署密钥文件
[root@server0 ~]# wget http://172.25.0.254/pub/keytabs/server0.keytab -O /etc/krb5.keytab
[root@server0 ~]# ls /etc/krb5.keytab
5.最好同时重起服务,nfs-secure-server(安全的nfs服务)
# systemctl restart nfs-server nfs-secure-server
四、配置虚拟机desktop0为NFS客户端
1.部署密钥
[root@desktop0 ~]# wget http://172.25.0.254/pub/keytabs/desktop0.keytab -O /etc/krb5.keytab
2.书写开机自动挂载/etc/fstab
[root@desktop0 ~]# mkdir /mnt/nfs
[root@desktop0 ~]# tail -1 /etc/fstab
172.25.0.11:/nsd /mnt/nfs nfs defaults,_netdev,sec=krb5p 0 0
3.重起客户端安全的nfs服务
[root@desktop0 ~]# systemctl restart nfs-secure
[root@desktop0 ~]# mount -a
[root@desktop0 ~]# df -h
5.必须用ssh远程管理本地方式验证:密码 kerberos
[root@desktop0 ~]# ssh [email protected]
[ldapuser0@desktop0 ~]$ touch /mnt/nfs/test/123.txt
正式笔记:
环境准备:
1.还原所有虚拟机---------2.设置虚拟机的防火墙--------- 172.40.58.123:7000
#########################################################
1.配置SMB共享(Linux与Windows)
Samba服务基础
• Samba 软件项目
– 用途:为客户机提供共享使用的文件夹
– 协议:SMB(TCP 139)、CIFS(TCP 445)
• 所需软件包:samba
• 系统服务:smb
########################################################
管理共享账号
• Samba用户 —— 专用来访问共享文件夹的用户
– 采用独立设置的密码
– 但需要提前建立同名的系统用户(可以不设密码)
• 使用 pdbedit 管理工具
– 添加用户:pdbedit -a 用户名
– 查询用户:pdbedit -L [用户名]
– 删除用户:pdbedit -x 用户名
• 修改 /etc/samba/smb.conf
[自定共享名]
path = 文件夹绝对路径
; public = no|yes //默认no
; browseable = yes|no //默认yes
; read only = yes|no //默认yes
; write list = 用户1 .. .. //默认无
; valid users = 用户1 .. .. //默认任何用户
; hosts allow = 客户机地址 .. ..
; hosts deny = 客户机地址 .. ..
#######################################################
虚拟机server0
1.安装samba
2.创建Samba账户,设置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 #添加Samba账户并设置密码
[root@server0 ~]# pdbedit -a kenji
[root@server0 ~]# pdbedit -a chihiro
[root@server0 ~]# pdbedit -L #显示所有有效的Samba账户
3.创建相应的共享路径
[root@server0 ~]# mkdir /common
[root@server0 ~]# echo 123 > /common/123.txt
[root@server0 ~]# ls /common/
4.修改 /etc/samba/smb.conf
89行 workgroup = STAFF #修改工作组名
[root@server0 ~]# tail -2 /etc/samba/smb.conf
[common] #共享名
path = /common #共享实际路径
5.重起smb服务
[root@server0 ~]# systemctl restart smb
[root@server0 ~]# systemctl enable smb
6.虚拟机desktop0测试:
[root@desktop0 ~]# yum -y install samba-client
[root@desktop0 ~]# smbclient -L //172.25.0.11
Enter root's password:
[root@desktop0 ~]# smbclient -U harry //172.25.0.11/common
Enter harry's password:
smb: \>
#########################################################
2.客户端访问SMB服务端服务:
1. 服务的访问控制
2. 本地权限的设置
3. 防火墙
4.SELinux策略
#######################################################
SELinux策略对SMB的保护 : 布尔值(功能的开关)
• getsebool 查看 SELinux 开关
[root@server0 ~]# getsebool -a | grep samba
• setsebool 控制 SELinux 开关
– 需要加 -P 选项才能实现永久设置
[root@server0 ~]# setsebool -P samba_export_all_ro=on
[root@server0 ~]# getsebool -a | grep samba
虚拟机desktop0:
[root@desktop0 ~]# smbclient -U harry //172.25.0.11/common
Enter harry's password:
smb: \> ls
########################################################
• _netdev:网络设备(请启动完成网络服务,在进行挂载此设备)
• 所需软件包:cifs-utils,支持cifs文件系统的挂载
[root@desktop0 ~]# mkdir /mnt/test
[root@desktop0 ~]# vim /etc/fstab
//172.25.0.11/common /mnt/test cifs defaults,user=harry,pass=123,_netdev 0 0
[root@desktop0 ~]# df -h
[root@desktop0 ~]# yum -y install cifs-utils
[root@desktop0 ~]# mount -a
[root@desktop0 ~]# df -h
[root@desktop0 ~]# ls /mnt/test/
###################################################
虚拟机server0:
1.服务端操作 -----(1安装samba----2添加samba用户已略)
3创建共享路径
[root@server0 ~]# mkdir /devops
[root@server0 ~]# echo hahaxixi > /devops/abc.txt
5.修改配置文件(修改服务的访问控制)
[root@server0 ~]# tail -3 /etc/samba/smb.conf
[devops]
path = /devops
write list = chihiro #允许chihiro可以写入(服务的访问控制)
5设置本地权限
[root@server0 ~]# setfacl -m u:chihiro:rwx /devops #
6.selinux策略
[root@server0 ~]# getsebool -a | grep samba
[root@server0 ~]# setsebool samba_export_all_rw=on #修改SELinux
7.重启服务
[root@server0 ~]# systemctl restart smb
客户端验证
1安装cifs-utils
2创建共享文件映射目录
[root@desktop0 ~]# mkdir /mnt/devops
4.修改配置文件之自动挂载配置之用户网络设备
[root@desktop0 ~]# tail -1 /etc/fstab
//172.25.0.11/devops /mnt/devops cifs defaults,user=chihiro,pass=123,_netdev 0 0
[root@desktop0 ~]# mount -a #挂起
5.最后测试
[root@desktop0 ~]# touch /mnt/devops/1.txt
##########################################################
3.共享文件夹的多用户访问SMB服务
• SMB客户端的 multiuser 挂载技术
– 管理员只需要作一次挂载
– 客户端在访问挂载点时,若需要不同权限,可以临时
切换为新的共享用户(无需重新挂载)
• 实现方式
1)挂载SMB共享时启用 multiuser 支持
2)使用 cifscreds 临时切换身份
#################################################
服务端server0操作 -----(1安装samba----2添加samba用户已略-----3创建共享目录--------4修改配置文件----------5设置本地权限--------6selinux-------------7重启服务)---------重复步骤
虚拟机desktop0:客户端验证
1安装cifs-ulis------2创建共享映射目录(略)
3修改配置文件之自动挂载配置之多用户网络设备
[root@desktop0 ~]# vim /etc/fstab
//172.25.0.11/devops /mnt/devopscifs defaults,user=chihiro,pass=123,_netdev,multiuser,sec=ntlmssp 0 0
[root@desktop0 ~]# umount /mnt/devops #卸载挂载设备
[root@desktop0 ~]# mount -a #重新挂载
[root@desktop0 ~]# su - student
[student@desktop0 ~]$ ls /mnt/devops #失败
[student@desktop0 ~]$ cifscreds add -u chihiro 172.25.0.11 #临时切换身份
[student@desktop0 ~]$ ls /mnt/devops #成功
[student@desktop0 ~]$ touch /mnt/devops/test01.txt #成功
[student@desktop0 ~]$ ls /mnt/devops
[student@desktop0 ~]$ exit
#########################################################
4.配置NFS共享(Linux与Linux)
NFS共享概述
• Network File System,网络文件系统
– 用途:为客户机提供共享使用的文件夹
– 协议:NFS(TCP/UDP 2049)、RPC(TCP/UDP 111)
• 所需软件包:nfs-utils
• 系统服务:nfs-server
~ 配置文件:/etc/exports
虚拟机server0:
1.检测nfs-utils是否安装
[root@server0 ~]# rpm -q nfs-utils
2.创建共享的目录
[root@server0 ~]# mkdir /public
[root@server0 ~]# echo hahaxixi > /public/nsd.txt
3.修改配置文件/etc/exports
/public 172.25.0.0/24(ro)
4.重起服务
[root@server0 ~]# systemctl restart nfs-server
[root@server0 ~]# systemctl enable nfs-server
虚拟机desktop0:
[root@desktop0 /]# showmount -e 172.25.0.11 #查看都有那些共享
[root@desktop0 /]# mkdir /mnt/nfs01
[root@desktop0 /]# tail -1 /etc/fstab
172.25.0.11:/public /mnt/nfs01 nfs defaults,_netdev 0 0
[root@desktop0 /]# mount -a
[root@desktop0 /]# df -h
########################################################
5.安全的NFS共享
• 作为普通NFS的增强版
– 结合 LDAP+kerberos 技术,实现认证和加密支持
– 同一个 kerberos 领域内,认证用户可实现“一次密码
认证,多次免密登录”的通行证机制
LDAP 管理所有用户信息
kerberos 提供密码认证
一、还原所有的教学环境
1.还原所有虚拟机(a1;b1;c1)
2.设置虚拟机的防火墙(s11;s10)
二、将虚拟机server0与desktop0,加入LDAP、kerberos
[root@server0 ~]# lab nfskrb5 setup
[root@desktop0 ~]# lab nfskrb5 setup
[root@server0 ~]# id ldapuser0 #验证是否识别网络用户
[root@server0 ~]# grep ldapuser0 /etc/passwd
三、配置虚拟机server0为NFS服务端
1.修改配置文件/etc/exports之调整/protected共享设置
/nsd/ *(rw,sec=krb5p)
2.创建共享的目录
[root@server0 ~]# mkdir -p /nsd/test
[root@server0 ~]# echo hahaxixi > /nsd/test/haxi.txt
3.修改虚拟机server0上权限设置
[root@server0 ~]# chown ldapuser0 /nsd/test/
[root@server0 ~]# ls -ld /nsd/test/
4.部署密钥文件
[root@server0 ~]# wget http://172.25.0.254/pub/keytabs/server0.keytab -O /etc/krb5.keytab
[root@server0 ~]# ls /etc/krb5.keytab
5.最好同时重起服务,nfs-secure-server(安全的nfs服务)
# systemctl restart nfs-server nfs-secure-server
四、配置虚拟机desktop0为NFS客户端
1.部署密钥
[root@desktop0 ~]# wget http://172.25.0.254/pub/keytabs/desktop0.keytab -O /etc/krb5.keytab
2.书写开机自动挂载/etc/fstab
[root@desktop0 ~]# mkdir /mnt/nfs
[root@desktop0 ~]# tail -1 /etc/fstab
172.25.0.11:/nsd /mnt/nfs nfs defaults,_netdev,sec=krb5p 0 0
3.重起客户端安全的nfs服务
[root@desktop0 ~]# systemctl restart nfs-secure
[root@desktop0 ~]# mount -a
[root@desktop0 ~]# df -h
4.必须用ssh远程管理本地方式验证:密码 kerberos
[root@desktop0 ~]# ssh [email protected]
[root@desktop0 ~]#Kinit --help
[ldapuser0@desktop0 ~]$ touch /mnt/nfs/test/123.txt