介绍
适用于Linux平台与Windows平台,可实现跨平台共享,为客户机提供共享使用的文件夹,SMB(TCP139,传输用户名、密码),CIFS(TCP 445,传输数据)
软件包:samba 服务:smb
安装步骤
1、将防火墙设置为trusted,安装samba包
2、管理共享账号
samba用户——专用来访问共享文件夹的用户
采用独立的密码
提前建立同名的系统用户,登录系统的密码可以不设置
创建samba共享账号(专用于访问samba),不能登录系统
pdbedit -a harry #将harry添加为samba共享的用户,设置密码
pdbedit -L #查看有哪些共享的用户
pdbedit -x 用户名 #删除共享用户
3、创建共享目录,发布目录/common,共享名为common
4、修改/etc/samba/smb.conf
[自定义共享名]
path = 文件夹绝对路径
public
browseable #可浏览,是否为隐藏共享
read only #只读
write list #可写的用户
valid users #有效的用户
hosts allow 客户机地址 #仅允许哪些访问
hosts deny #只拒绝哪些访问
5、重启smb:systemctl restart smb
客户端访问共享
设置防火墙默认区域为trusted
安装samba-client包
服务端的SELinux为Enforce模式时,修改SELinux(布尔值)策略(服务功能的开关)
getsebool -a |grep samba #查看samba的服务状态
setsebool -P samba_export_all_ro on #永久开启
1、连接到共享文件夹(不推荐)
列出共享资源:smbclient -L 172.25.0.11
连接到共享文件夹:smbclient -U 用户名 //服务器地址/共享名
2、挂载使用
安装cifs-utils包,让本机支持cifs协议及该文件系统
创建挂载点/mnt/nsd01
mount -o user=harry,pass=123 //172.25.0.11/common /mnt/nsd01
开机自动挂载:
//172.25.0.11/common /mnt/nsd01 cifs user=harry,pass=123,_netdev 0 0
#_netdev声明网络设备,使得Linux系统开启网络后再挂载设备
multiuser机制
作用:客户端进行挂载samba共享,可以临时变成权限较大的用户
SMB客户端的multiuser挂载技术
管理员只需要作一次挂载,使用权限较小的用户进行验证
//172.25.0.11/common /mnt/nsd01 cifs username=harry,password=123,_netdev,multiuser,sec=ntlmssp 0 0
multiuser:提供对客户端多个用户身份的区分支持
sec=ntlmssp:提供NT局域网管理安全支持
cifscreds 临时切换身份 如:cifscreds add -u chihiro 172.25.0.11
注意事项
1、SMB共享有写权限,需要在服务端为共享目录设置相应账号的ACL权限
如: setfacl -m u:chihiro:rwx /devops/
2、客户端访问服务端影响的方面:
1.防火墙 2.SELinux 3.服务本身的访问控制 4.服务端本地目录的权限
重点来了
**脚本安装可参考我的文章:**https://blog.youkuaiyun.com/anqixiang/article/details/89432325