3-unit7 samba

简介:

#######CIFS文件的存储########


本单元涵盖的主题:

 ** SMB文件共享

 ** SMB多用户挂载


####SMB文件共享######

通用Internet文件系统(CIFS)也称为服务器信息块(SMB),是适用于Microsoft Windows服务器和客户端的标准文件和打印机共享系统。Samba服务可用于将Linux文件系统作为CIFS/SMB网络文件共享进行共享,并将Linux打印机作为CIFS/SMB打印机共享进行共享。


1.samba作用
提供cifs协议实现共享文件

2.安装
yum install samba samba-common samba-client -y
systemctl start smb nmb
systemctl enable smb nmb

服务端口:

smb: 139和445端口

nmb: 137和138端口

wKioL1k37ZSzwqSAAADTtry9jzY135.png

wKiom1k37ZWRjvOSAAIFqD6cNrE745.png


3.添加smb用户
smb用户必须时本地用户
smbpasswd -a student
New SMB password:       #输入smb当前用户密码
Retype new SMB password:    #确认密码
wKioL1k37ZeD7cHXAADmm_mFf90216.png

pdbedit -L      #查看smb用户信息
pdbedit -x smb用户  #删除smb用户
wKiom1k37ZjRR1o-AACPaGxS1oc597.png

setsebool -P samba_enable_home_dirs on  ##在selinux中设定smb用户可以访问自己的家目录
wKiom1k37ZqhB223AABHJewYiH0632.png

测试:
smbclient -L //172.25.254.162 -U student  ##访问162主机的samba用户
smbclient //172.25.254.162/student -U student  ##访问162主机的samba用户的家目录

wKiom1k37ZiAuywiAAFIduV1T18106.png

wKioL1k37Zmwu4MvAAFoh8Ew3ew353.png



4.共享目录的基本设定
vim /etc/samba/smb.conf
[haha]  共享名称
comment =  对共享目录的描述
path = 共享目录的绝对路径
workgroup = WESTOS  ##域名westos
wKiom1k37jPREoJhAABDEKzkMAQ334.png
wKioL1k37jTB546OAAA9Lpefp34658.png


当共享目录为用户自建立目录时
semanage fcontext -a -t samba_share_t '目录名称(/.*)?'
restorecon -RvvF 目录名称
wKioL1k37jXCMsd5AAHxUVxD4MY643.png
##访问/smbshare目录

wKiom1k37jbTICZSAAEZ6pUEBOs821.png

当共享目录为系统建立目录
setsebool  -P samba_export_all_ro on    #只读共享
setsebool  -P samba_export_all_rw on    #读写共享

wKiom1k37umx1MZqAAA8ep7Hi7M972.png
wKiom1k37jaQ6TfKAAA5wpJs9rg918.png
wKioL1k37jexf30JAAEIDol-VDM665.png

测试:
smbclient  //172.25.254.162/haha -U student

##访问系统目录/mnt只可读-

wKiom1k370mA05J3AAIIfkQvbdY003.png



5.samba的配置参数

#匿名用户访问
guest ok = yes
map to guest = bad user
wKioL1k3733S5aSNAABgbdSyR3o084.png
wKiom1k3732QyRW7AABSrHQ4Z40248.png


#访问控制
hosts allow =   #仅允许
hosts deny =    #仅拒绝
valid users =   #当前共享的有效用户
valid users = westos    #当前共享的有效用户为westos
valid users = @westos   #当前共享的有效用户为westos组
valid users = +westos   #当前共享的有效用户为westos组
wKioL1k3736SakcpAABMbt2lg3g428.png
wKioL1k374CyaE0cAABeajyqSQE185.png

wKioL1k374HDmblJAABHYD62Ck8354.png

wKioL1k374LDUPvFAAA9a_qW0dc320.png

wKioL1k38BSgu-zGAAD3f-bX3qs097.png


测试:
smbclient  //172.25.254.162/haha  ##匿名用户访问
smbclient  //172.25.254.162/haha -Uwestos   ##westos用户访问
smbclient  //172.25.254.162/haha -Ustudent  ##westos组的student用户访问

##仅拒绝172.25.254.62访问
wKiom1k373-TI62MAAEeXFsKzFA289.png
##共享的有效用户为westos

wKiom1k374KSckxnAAGD6alCY8g836.png
##当前共享的有效用户为westos组

wKiom1k38BWCATEqAAGBTpveRcY495.png


#读写控制
所有用户均可写
chmod o+w /mnt
setsebool -P samba_export_all_rw on
vim /etc/samba/smb.conf
writable = yes
wKioL1k38BajXFptAADcjuGCXtg068.png
wKiom1k38FqRtFOmAAA8cdXGuEo634.png


设定指定用户可写
write list = student        #可写用户
write list = +student       #可写用户组
write list = @student
admin users = westos        #共享的超级用户指定
wKioL1k38FuRbknPAABK5fKFwcE086.png
wKioL1k38F3Dn1zVAABWy8sem08626.png

测试:
mount -o username=student,password=smb //172.25.254.162/haha /mnt/  ##student用户可写

wKiom1k38FvDNJhXAADp6JPSPT8508.png
mount -o username=westos,password=smb //172.25.254.162/haha /mnt/   ##westos用户代表超级用户

wKioL1k38LyTaiSzAAFxFU7lZWo537.png
wKiom1k38L2CIPJxAAExVuvmWfk092.png

6.smb多用户挂载
在client上
vim /root/haha
username=student
password=lee

chmod 600 /root/haha
wKiom1k38L6B5RINAAC9FFiW2ec334.png
yum install cifs-utils -y

mount -o credentials=/root/haha,multiuser,sec=ntlmssp //172.25.254.100/haha/mnt/

#credentials=/root/haha 指定挂载时所用到的用户文件
#multiuser      支持多用户认证
#sec=ntlmssp        认证方式为标准smb认证方式
wKioL1k38L_z1tRlAAGt9A1y5Dg866.png


su - kiosk
ls /mnt
ls: cannot access /mnt: Permission denied   #因为没有作smb的认证所以无法访问smb共享
cifscreds add -u westos 172.25.254.100
Password:   ##smb用户westos的密码
ls /mnt

wKiom1k38MDDQ3-3AAEv1VPDDLE240.png



本文转自cuijb0221 51CTO博客,原文链接:http://blog.51cto.com/cuijb/1933233

相关文章
|
测试技术 开发工具
|
网络协议 Linux 开发工具
|
安全 Shell Linux