Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。
一.安装服务
1.在服务端(172.25.254.103)
1)安装
yum search samba
yum install -y samba -client.x86_64 -common-libs.x86_64 -common-tools.x86_64 ##安装samma服务
systemctl stop firewalld
systemctl stop iptables ##关闭防火墙
setenforce 0
2)登陆服务
smbclient -L //172.25.254.103 ##登陆服务
id student ##确认是否存在student用户
smbpasswd -a student ##设定密码
smbclient -L //172.25.254.103 -U student ##以student用户登陆服务
getsebol -a | grep samba
setsebool -P samba_enable_home_dirs on ##用于共享用户自定义samba共享
3)修改工作组名
主配置文件:/etc/samba/smb.ocnf
vim /etc/samba/smb.conf ##编辑服务主配置文件
workgroup = WESTOS ##编辑工作组名
> server string = Samba Server Version %v
; netbios name = MYSERVER
4)访问控制
; interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24
hosts allow = 172.25.254.89 ##允许共享存储的IP
5)匿名访问设置
security = user
passdb backend = tdbsam
map to guest = bad user ##所有匿名用户命名为guest
[DATA] ##数据组的名称
comment = weixin data
path = /westos
guest ok = yes ##允许匿名用户登陆
; writable = yes ##文件可写
write list = @student ##组为student的用户可写
browseable = no ##隐藏目录但可被调用
valid = student ##可调用的用户
2.在客户端(172.25.254.89)
yum search samba
yum install -y samba -client.x86_64 -common-libs.x86_64 -common-tools.x86_64 ##安装samma服务
systemctl stop firewalld
systemctl stop iptables ##关闭防火墙
setenforce 0
mount -o username=student,password=123//172.25.254.103/student /mnt/ ##以student用户登入服务
df ##查看挂载是否成功
二.权限控制
1.在服务端
mkdir /westos ##新增目录
useradd westos ##新增用户
smbpasswd -a westso ##修改密码
setfacl -m u :student:rwx /westos ##给用户student读写权限
setfacl -m g :student:rwx /westos ##给组student的用户读写权限
usermod -G student westos ##设置用户westos的组为student
2.在客户端:
mount -o username=westos,password=(密码) //172.25.254.103/DATA /mnt
cd /mnt
touch fie{1..4} ##测试是否能进行读写
rm -fr file1
三.多用户挂载 在客户端 超户身份
yum install -y cifs-utils
vim /root/smbfile(文件名称任意)
> username=student
Password=lee
monut -o credentials=/root/smbfile,multiuser,sec=ntlmssp //172.25.254.103(服务端)
cd /mnt
ls ##测试
切换普通用户测试:
su - kiosk
df
cd /mnt/
ls ##测试,正常查看不到文件,有权限限制
cifscreds add -u westos 172.25.254.103 ##使普通用户底下的westos用户通过认证
cd /mnt
ls ##测试,如果成功,文件可见