①在 server0 上配置 SAMBA 服务
yum search samba ,查询Samba,安装Samba服务包
yum -y install samba.x86_64 samba-common.x86_64 samba-client.x86_64
rpm -qc samba-common ,查询配置文件
vim /etc/samba/smb.conf ,编辑配置文件
/workg ,查找工作组
W W,C 复制,粘贴
workgroup=STAFF
G, 跳到最后一行
添加:
[common]
path=/ common
?allow ,搜索
添加 172.25网段 ,127网段是本地, browseable 可浏览的,可以往上翻
?valid ,查找任意人可读取 public=yes表示任何人都可以读取
添加 valid users = floyd ,保存退出
mkdir /common 顶级目录,注意上下文目录
vim /etc/samba/smb.conf
/chcon ,32行开始,解释如果要创建顶级目录,需要做什么
,表示临时生效
man semanage fcontext | grep \# ,查询管理员配置文件
grep chcon /etc/samba/smb.conf
修改类型为 samba_share_t
修改目录为 /common ,
semanage fcontext -a -t samba_share_t "/common(/.*)?" ,这条命令修改数据库,永久生效,
restorecon -R -v /common ,立即生效
权限配置:
ls -ldZ /common/ ,查看 floyd属于other,可以读取
id floyd ,查询,floyd不存在
useradd floyd
(echo flectrag; echo flectrag) | smbpasswd -a floyd ,给floyd创建密码
pdbedit -L ,列出当前有Samba用户
rpm -ql samba | grep service ,查询服务名字
systemctl restart smb nmb
systemctl enable smb nmb
防火墙放行,让172.25.0.0/16 网段内的其他用户可以访问samba服务
firewall - cmd -- permanent -- add -service=samba
firewall -cmd -- reload ,重启防火墙,让服务立即生效
desktop0上没有Samba客户端,需要安装包,安装包先配置yum源仓库,仓库地址在额外配置信息里
方法1:在server0终端,
复制sever0上的, scp /etc/yum.repos.d/classroom.example.com_content_rhel7.0_x86_64_dvd.repo root@desktop0:/etc/yum.repos.d/classroom.example.com_content_rhel7.0_x86_64_dvd.repo
方法2: 切换到desktop0终端上,
yum-config-manager --add -repo http://classroom.example.com/content/rhel7.0/x86_64/dvd
切换到desktop0终端,
ls /etc/yum.repos.d/
yum -y install samba-client ,安装samba客户端
测试,列出sever0上的共享内容:
smbclient -L server0 -U flovd%flectrag ,%flectrag 表示密码
浏览:
smbclient //server0/common -U floyd%flectrag
ls ,可以浏览
exit ,退出
================================================================================================================================================================================================
②配置多用户 samba 挂载
mkdir /devops
history | grep seman
semanage fcontext -a -t samba_share_t "/ devops(/.*)?"
restorecon -Rv /devops
useradd kenji
useradd chihiro
alt+d ,删除光标之后的内容
Ctrl+w,删除光标之前的内容
(echo redhat; echo redhat)|smbpasswd -a kenji
(echo redhat; echo redhat)|smbpasswd -a chihiro
chown chihiro /devops/
vim /etc/samba/smb.conf
write list 白名单
重启服务,
systemclt restart smb nmb
切换到desktop终端,在客户端测试:
测试账号密码:
smbclient -L server0 -U kenji%redhat
smbclient -L server0 -U chihiro%redhat
测试用户 kenji 能以读的方式访问此共享,访问密码是 redhat
smbclient //server0/devops -U kenji%redhat -c ls
smbclient //server0/devops -U kenji%redhat -c "put anaconda-ks.cfg "
kenji被拒绝,
chihiro成功上传文件
如果没有写入权限,查看防火墙,服务,上下文关系,本地文件系统
mount查看挂载文件系统,没有cifs,安装:
yum serch cifs
yum -y install cifs-utils.x86_64
切换到desktop0终端
mkdir /mnt/dev ,创建挂载点
编辑fstab文件:
vim /etc/fstab
ctrl+w,删除光标前面的单词
ctrl+shift+T,新开一个终端
登录desktop0
yum search cifs
yum -y install cifs-utils.x86_64
mandb,刚安装的cifs,更新数据库
man -k cifs
man mount.cifs
/multi ,找到 multiuser
/sec= 找到 sec=ntlmssp
最后结果:
保存,退出
mount -a 重新挂载
验证:在desktop0终端上:
useradd chihiro
su - chihiro
cifs ,按TAb键查找命令
cifscreds add server0
touch /mnt/dev/ch.txt
ls /mnt/dev 出现ch.txt,成功
切换到server0终端,
getsebool -a | grep samba
off改成on
setsebool -P samba_export_all_rw on ,-P pernament表示永久生效
usermod -s /sbin/nologin chihiro
usermod -s /sbin/nologin kenji
usermod -s /sbin/nologin floyd
================================================================================================================================================================================================
③在 server0 上配置 NFS 服务
mkdir -p /protected/project /public
id ldapuser1
chown ldapuser1 /protected/project
wget http://classroom.example.com/pub/keytabs/server0.keytab -O /etc/krb5.keytab ,-O 大写o表示输出output
vim /etc/exports
新开一个终端,查询
ssh root@server0
man -k exports
man exports
查询安全:
/sec
私钥,用krb5p
安全更新:
保存,退出
修改nfs版本号
rpm -qc nfs-utils
vim /etc/sysconfig/nfs
找到第13行,R参数 ,如果前面RPCNFSDARGS是大写,后面-V也大写,如果是前面是小写,后面也小写
rpm -ql nfs-utils | grep service
systemctl start nfs-server 启动服务,先启动服务器端2个服务,再启动客户端2个服务
systemctl start nfs-secure-server
firewall-cmd --permanent --add-service=nfs --add-service=rpc-bind --add-service=mountd
firewall-cmd --reload
rpcinfo 查询服务名
grep portmapper /etc/services
切换到desktop0终端,先做下一题:
mkdir /mnt/nfsmount /mnt/nfssecure
wget http://classroom.example.com/pub/keytabs/desktop0.keytab -O /etc/krb5.keytab
重启客户端服务:
systemctl start nfs-secure ,如果启动错服务,stop停止
systemctl enable nfs-secure
vim /etc/fstab ,编辑文件让它生效
G ,o
server0:/public /mnt/nfsmount nfs ro 0 0
server0:/protected /mnt/nfssecure nfs rw,v4.2,sec=krb5 0 0
mount -a
df -h /mnt/nfsmoutn/
df -h /mnt/nfssecure/
用户 ldapuser1 能在 /mnt/nfssecure/project 上创建文件:
ssh ldapuser1@localhost ,密码在额外配置信息里
touch /mnt/nfssecure/project/l1.txt
切到server0终端,查看创建的文件:
ls /protected/project/ -ld
苏老师:配置多用户 samba 挂载
在 server0 上通过 samba 共享目录 /devops
共享名为 devops
共享目录只能被网段 172.25.0.0/16 内的客户端使用
共享目录 devops 必须可以被浏览
用户 kenji 能以读的方式访问此共享,访问密码是 redhat
用户 chihiro 能以读写的方式访问此共享,访问密码是 redhat
此共享永久挂载在 desktop0 上的 /mnt/dev 目录,并使用用户 kenji 进行认证,任何用户可临时通过 chihiro 来获得读写权限
如果没有写入权限,检查:服务,防火墙,上下文关系,本地文件系统
mkdir /devops
useradd -s /sbin/nologin kenji
useradd -s /sbin/nologin chihiro
smbpasswd -a kenji
smbpasswd -a chihiro
man semanage fcontext | grep \#
semanage fcontext -a -t samba_share_t '/devops(/.*)?'
restorecon -v /devops/
chown chihiro /devops/
rpm -qc samba-common
vim /etc/samba/smb.conf
[devops]
path=/devops
hosts allow=127. 172.25.
browseable=yes
write list =chihiro
valid user=chihiro kenji
systemctl restart smb nmb
systemctl enable smb nm
切换到desktop终端,在客户端测试:
smbclient -L server0 -U kenji%redhat -c ls
smbclient -L server0 -U chihiro%redhat
测试用户 kenji 能以读的方式访问此共享,访问密码是 redhat
smbclient //server0/devops -U kenji%redhat -c ls
smbclient //server0/devops -U kenji%redhat -c "put anaconda-ks.cfg "
smbclient //server0/devops -U chihiro%redhat -c "put anaconda-ks.cfg "
kenji被拒绝,chihiro成功上传文件
在server上yum下载cifs-untils文件,需要用到配置文件
yum search cifs
yum -y install cifs-utils.x86_64
切换到desktop0终端
安装cifs
mkdir /mnt/dev ,创建挂载点
man -k cifs
man mount.cifs
/multi ,找到 multiuser
/sec= 找到 sec=ntlmssp
编辑fstab文件:
vim /etc/fstab //server0/devops /mnt/dev multiuser,sec=ntlmssp,username=kenji,password=redhat 0 0
mount -a 重新挂载
验证:在desktop0终端上:
useradd chihiro
su - chihiro
cifs ,按TAb键查找命令
cifscreds add server0
touch /mnt/dev/ch.txt
ls /mnt/dev 出现ch.txt,成功