#######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端口

3-unit7 samba_linux学习

3-unit7 samba_linux学习_02


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

pdbedit -L      #查看smb用户信息
pdbedit -x smb用户  #删除smb用户
3-unit7 samba_linux学习_04

setsebool -P samba_enable_home_dirs on  ##在selinux中设定smb用户可以访问自己的家目录
3-unit7 samba_linux学习_05

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

3-unit7 samba_linux学习_06

3-unit7 samba_linux学习_07



4.共享目录的基本设定
vim /etc/samba/smb.conf
[haha]  共享名称
comment =  对共享目录的描述
path = 共享目录的绝对路径
workgroup = WESTOS  ##域名westos
3-unit7 samba_linux学习_08
3-unit7 samba_linux学习_09


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

3-unit7 samba_linux学习_11

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

3-unit7 samba_linux学习_12
3-unit7 samba_linux学习_13
3-unit7 samba_linux学习_14

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

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

3-unit7 samba_linux学习_15



5.samba的配置参数

#匿名用户访问
guest ok = yes
map to guest = bad user
3-unit7 samba_linux学习_16
3-unit7 samba_linux学习_17


#访问控制
hosts allow =   #仅允许
hosts deny =    #仅拒绝
valid users =   #当前共享的有效用户
valid users = westos    #当前共享的有效用户为westos
valid users = @westos   #当前共享的有效用户为westos组
valid users = +westos   #当前共享的有效用户为westos组
3-unit7 samba_linux学习_18
3-unit7 samba_linux学习_19

3-unit7 samba_linux学习_20

3-unit7 samba_linux学习_21

3-unit7 samba_linux学习_22


测试:
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访问
3-unit7 samba_linux学习_23
##共享的有效用户为westos

3-unit7 samba_linux学习_24
##当前共享的有效用户为westos组

3-unit7 samba_linux学习_25


#读写控制
所有用户均可写
chmod o+w /mnt
setsebool -P samba_export_all_rw on
vim /etc/samba/smb.conf
writable = yes
3-unit7 samba_linux学习_26
3-unit7 samba_linux学习_27


设定指定用户可写
write list = student        #可写用户
write list = +student       #可写用户组
write list = @student
admin users = westos        #共享的超级用户指定
3-unit7 samba_linux学习_28
3-unit7 samba_linux学习_29

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

3-unit7 samba_linux学习_30
mount -o username=westos,password=smb //172.25.254.162/haha /mnt/   ##westos用户代表超级用户

3-unit7 samba_linux学习_31
3-unit7 samba_linux学习_32

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

chmod 600 /root/haha
3-unit7 samba_linux学习_33
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认证方式
3-unit7 samba_linux学习_34


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

3-unit7 samba_linux学习_35