标签:访问 控制 挂载点 网络资源 samba共享服务 not 文件夹 utils 实现
Samba共享服务
– 用途:为客户机提供共享使用的文件夹
– 协议:SMB(TCP 139)、CIFS(TCP 445)
客户端访问服务端资源会遇到的四个问题:
1,服务端,服务的访问控制
2,服务端,防火墙
3,服务端,SELinux策略
4,服务端,本地权限
SELinux策略,布尔值(开启或关闭)
? getsebool-a 查看所有 SELinux 开关
? setsebool 控制 SELinux 开关
需要加 -P 选项才能实现永久设置
配置SMB文件夹共享
? 所需软件包:samba
? 系统服务:smb
配置文件:/etc/samba/smb.conf
? Samba用户 —— 专用来访问共享文件夹的用户
--采用独立设置的密码
--但需要提前建立同名的系统用户(可以不设密码)
如果需要设置密码:
? 使用 pdbedit 管理工具
– 添加用户:pdbedit -a 用户名
– 查询用户:pdbedit -L [用户名]
– 删除用户:pdbedit -x 用户名
要求在虚拟机 server0 上发布两个共享文件夹,具体要求如下:
1,此服务器必须是 STAFF 工作组的一个成员
2,发布目录 /common,共享名为 common
3,发布目录 /devops,共享名为 devops
4,这两个共享必须是可浏览的,只有 example.com 域内的客户端可以访问
5,用户 harry 对共享 common 只读,密码是 migwhisk
6,用户 kenji 对共享 devops 只读,密码是 atenorth
7,用户 chihiro 对共享 devops 可读写,密码是atenorth
服务端:
1,安装软件包samba
[root@server0 ~]# yum -y install samba
2,创建共享账号
添加共享账号harry,密码为migwhisk:
[root@server0 ~]# useradd harry
[root@server0 ~]# pdbedit -a harry //根据提示设好密码migwhisk
添加共享账号kenji,密码为atenorth:
[root@server0 ~]# useradd kenji
[root@server0 ~]# pdbedit -a kenji //根据提示设好密码atenorth
添加共享账号chihiro,密码为atenorth:
[root@server0 ~]# useradd chihiro
[root@server0 ~]# pdbedit -a chihiro //根据提示设好密码atenorth
确认共享账号:
[root@server0 ~]# pdbedit -L
harry:1003:
chihiro:1005:
kenji:1004:
3,准备共享文件夹
[root@server0 ~]# mkdir /common
[root@server0 ~]# mkdir /devops
[root@server0 ~]# setfacl -m u:chihiro:rwx /devops //配置写入权限
4,调整SELinux开关策略,允许发布可写的Samba共享资源
[root@server0 ~]# getsebool -a | grep ^samba_exp //默认配置
[root@server0 ~]# setsebool -P samba_export_all_rw=on //永久打开设置
[root@server0 ~]# getsebool -a | grep ^samba_exp //查看结果
5,配置共享目录
[root@server0 ~]# vim /etc/samba/smb.conf
[global]
workgroup = STAFF
.. ..
[common]
path = /common
hosts allow = 172.25.0.0/24
[devops]
path = /devops
hosts allow = 172.25.0.0/24
write list = chihir
6,启动系统服务smb,并设置开机自启
[root@server0 ~]# systemctl restart smb
[root@server0 ~]# systemctl enable smb
[root@server0 ~]# netstat -antpu | grep smb
客户端:
1,安装软件包samba-client
[root@server0 ~]# yum -y install samba-client
2,浏览目标主机提供了哪些共享资源
[root@desktop0 ~]# smbclient -L server0.example.com
3,连接目标主机的共享目录
[root@desktop0 ~]# smbclient -U harry //server0.example.com/common
多用户Samba挂载
Samba客户端的multiuser挂载:支持切换访问Samba共享的用户身份,但不需要重新挂载共享资源。挂载参数需要添加“multiuser,sec=ntlmssp”,客户机上的普通用户可以通过cifscreds命令提交新的身份凭据。
在客户端挂载Samba共享目录,需要软件包cifs-utils的支持。
为访问网络资源配置开机挂载时,注意添加参数“_netdev”,表示等客户机网络配置可用以后才挂载对应资源。
1,创建挂载点
[root@desktop0 ~]# mkdir /mnt/dev
2,安装cifs-utils软件包
[root@desktop0 ~]# yum -y install cifs-util
3,配置开机挂载
[root@desktop0 ~]# vim /etc/fstab
//server0.example.com/devops /mnt/dev cifs username=kenji,password=atenorth,_netdev 0 0
4,测试挂载配置
[root@desktop0 ~]# mount -a
[root@desktop0 ~]# df -hT /mnt/dev
5,修改挂载配置,添加多用户支持
[root@desktop0 ~]# vim /etc/fstab
//server0.example.com/devops /mnt/dev cifs username=kenji,password=atenorth,multiuser,sec=ntlmssp,_netdev 0 0
[root@desktop0 ~]# umount /mnt/dev //卸载此共享
[root@desktop0 ~]# mount /mnt/dev //重新挂载此共享
6,验证多用户访问
切换到普通用户student验证,无权访问挂载点/mnt/dev:
[root@desktop0 ~]# su - student
[student@desktop0 ~]$ ls /mnt/dev
ls: cannot access /mnt/dev: Permission denied
以共享用户chihiro身份提交新的访问凭据,再次验证,对挂载点/mnt/dev可读写:
[student@desktop0 ~]$ cifscreds -u chihiro add server0.example.com
Password: //输入共享账号chihiro的密码
[student@desktop0 ~]$ touch /mnt/dev/a.txt
[student@desktop0 ~]$ ls /mnt/dev/a.txt
/mnt/dev/a.txt
标签:访问 控制 挂载点 网络资源 samba共享服务 not 文件夹 utils 实现
原文地址:http://blog.51cto.com/13463622/2060364