当前位置: 代码迷 >> 综合 >> Linux中的CIFS文件系统----samba
  详细解决方案

Linux中的CIFS文件系统----samba

热度:98   发布时间:2023-12-15 06:11:13.0

CIFS文件系统
1.samba服务器的安装及访问调试

yum install samba-client samba-common.x86_64 samba.x86_64 -y
systemctl stop firewalld.service
systemctl start smb
smbpasswd -a student						##student必须是本机已存在的用户
pdbedit -L 									##查看smb的用户
pdbedit -x student							##删除smb的用户

在这里插入图片描述
测试

smbclient -L //172.25.254.226 -U student		##一次查看目录
smbclient //172.25.254.226/qxx -U qxx			##查看qxx的家目录

在这里插入图片描述
在这里插入图片描述
可以进入student的家目录,但无法查看或修改这时候需要开启访问家目录的权限
setsebool -P samba_enable_home_dirs on ##开启访问家目录的权限
在这里插入图片描述
2.samba 共享目录

vim /etc/samba/smb.conf
[共享名称]
comment = 共享说明
path = 共享目录路径systemctl restart smb

在这里插入图片描述
共享目录建立目录时,需要修改该目录的selinux属性,此方式修改只针对修改目录
在这里插入图片描述
semanage fcontext -a -t samba_share_t ‘/westos(/.*)?’
restorecon -FvvR /westos/
测试:smbclient //172.25.254.126/hhh(共享目录的名称) -U qxx
在这里插入图片描述
系统目录有的可以共享查看,有的不可以共享查看,此方式修改针对所有目录,一旦开放,selinux不保护目录访问,这个功能开启后,不需要开启访问家目录的权限便可访问家目录
在这里插入图片描述

getsebool -a | grep samba					##查看所有关于samba的linux内核端口
setsebool -P samba_export_all_rw on 		##可以读写
setsebool -P samba_export_all_ro on			##只读
vim /etc/samba/smb.conf[mnt]comment = opt dirpath = /mnt
systemctl restart smb

在这里插入图片描述
3.amba的访问控制
如果不设置的话,默认都可以访问(客户端装有smb服务)
在这里插入图片描述

vim /etc/samba/smb.conf
321         [hhh]
322         comment = hello
323         path = /westos
324         hosts allow = 172.25.254.126	##这里的白名单也可以设置成一个网段如
(172.25.254.)如果想同意多个连接,ip地址用空格隔开即可
/324        hosts deny = 172.25.254.226 172.25.254.26
/324	    hosts deny = 172.25.254.
systemctl restart smb

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
这里也可使用挂载命令来判断是否拒绝访问
mount //172.25.254.226/hhh /mnt -o username=qxx,password=123
在这里插入图片描述
在这里插入图片描述
4.samba匿名访问
在这里插入图片描述

vim /etc/samba/smb.conf
125	    map to guest = bad user
324         [hhh]
325         comment = hello
326         path = /westos
327         guest ok =yes
systemctl restart smb

测试:
在真机或虚拟机用
mount //172.25.254.226/hhh /mnt -o username=guest

smbclient  //172.25.254.226/hhh -U guest

在这里插入图片描述

5.samba共享目录的管理参数

vim /etc/samba/smb.conf
321         [hhh]
322         comment = hello	
323         path = /westos
324         writable = yes			##开启写权限
325 ;       write list = qxx		##指定拥有写权限的用户列表
326 ;       valid users = +westos	##指定用户登陆,这里的@和+表示westos组中所有用户
327         browseable = yes		##文件是否可以被列出查看
328 ;       admin users = qxx		##指定westos操作时使用超级用户身份

这里测试写权限时,应先挂载目录到客户端,然后再客户端对挂载目录进行修改。

setsebool -P samba_export_all_rw on			##这时先开启selinux的写权限

写权限测试:
在这里插入图片描述在这里插入图片描述
用户登陆权限测试:
在这里插入图片描述
文件列出的权限测试:
smbclient -L //172.25.254.226 -U student
browseable=no
在这里插入图片描述
browseable=yes
在这里插入图片描述
操作身份测试:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
6.smb多用户挂载
让不同用户对客户端上被挂载smb的设备目录进行增删,不被别的用户所影响
服务端:

vim /etc/samba/smb.conf
321         [westos]
322         comment = hello
323         path = /westos
324         writable = yes
325 ;       write list = qxx
326 ;       vaild users = +westos
327         browseable = yes
328 ;       admin users = qxx

在这里插入图片描述
客户端设置:

yum install cifs-utils
vim /root/passfile username=westos(smb用户)password=123(smb用户密码)
mount //172.25.254.226/hhh /mnt -o credentials=/root/passfile,multiuser,sec=ntlmssp

在这里插入图片描述
切换不同用户

ls /mnt									##应该无法查看
cifscreds add -u westos 172.25.254.226	##赋予权限
cifscreas clear -u westos 172.25.254.226##如果赋予权限时输错了密码,用此命令清除
ls /mnt									##这时便可以进行操作

在这里插入图片描述
在这里插入图片描述