配置SMB共享:
跨平台的共享可以实现Linux与Linux之间,也可以实现Linux与windows共享
Samba的用途:为多个客户机提供共享使用的文件夹。
Samba服务端:软件包samba、系统服务smb
Samba客户端:软件包samba-client和cifs-utils、客户端工具smbclient
传输协议及端口:TCP 139、TCP 445
Samba服务端配置文件:/etc/samba/smb.conf
Samba共享账号:存在独立的账号数据文件里,必须有同名系统账号(方便给权限)
Samba账号管理工具:
- pdbedit -a 用户名 #将本地用户添加为Samba共享帐号
- pdbedit -L [用户名] #显示所有Samba共享帐号
- pdbedit -x 用户名 #删除用户
测试Samba共享资源:
- smbclient -L 服务器地址 【密码为空(直接回车)】
- smbclient -U 用户名 //服务器地址/共享名 【需要密码】
案例
要求在虚拟机 server0 上发布两个共享文件夹,具体要求如下:
- 此服务器必须是 STAFF 工作组的一个成员
- 发布目录 /common,共享名为 common
- 发布目录 /devops,共享名为 devops
- 这两个共享必须是可浏览的,只有 example.com 域内的客户端可以访问
- 用户 harry 对共享 common 只读,密码是 3
- 用户 kenji 对共享 devops 只读,密码是 2
- 用户 chihiro 对共享 devops 可读写,密码是1
步骤一:在服务器server0上发布Samba共享文件夹
1) 安装软件包samba
[root@server0~]#yum -y install samba
2)创建共享帐号,添加共享帐号,密码为3.2.1
[root@server0~]#useradd harry ; pdbedit -a harry
new password:
retype new password: 输入设置好的密码3
[root@server0~]#useradd kenji ; pdbedit -a kenji
new password:
retype new password: 输入设置好的密码2
[root@server0~]#useradd chihiro ; pdbedit -a chihironew password:
retype new password: 输入设置好的密码1
确认共享帐号
[root@server0~]#pdbedit -L
haryy:1003
kenji:1004
chihiro:1005
3)准备共享文件夹
[root@server0~]#mkdir /common
[root@server0~]#mkdir /devops
[root@server0~]#setfacl -m u:chihiro:rwx /devops 给用户chihiro写入权限
4)调准SElinux策略开关
[root@server0~]#getsebool -a | grep samba 默认配置
samba_create_home_dirs --> off
samba_domain_controller --> off
samba_enable_home_dirs --> off
samba_export_all_ro --> of
samba_export_all_rw --> of
[root@server0~]#setsebool samba_export_all_ro on 打开设置 -P是永久打开
[root@server0~]#setsebool samba_export_all_rw on
5)配置共享目录
[root@server0~]#vim /etc/samba/smb.conf
[global]
workgroup = STAFF (这个就是windows工作组模式,还有一种是域模式)
[common] 注释
path=/common 共享目录
hosts allow=172.25.0.0/24 可以访问的IP地址--- 指0网段的所有IP都可以访问
[devops]
path=/devops
hosts allow=172.25.0.0/24
write list =chihiro 允许用户 读写
6)启动SMB服务 并设置开机自起
[root@server0~]#systemctl restart smb
[root@server0~]#systemctl enable smb
步骤2在desktop0测试samba共享资源
[root@desktop0~]#yum -y install samba-client
查看目标主机提供了那些共享资源
[root@desktop0~]#smbclient -L server0.example.com
连接到目标的共享目录
[root@desktop0~]#smbclient -U harry //server0.example.com/common