cifs协议下samba文件共享服务

本文详细介绍Samba服务的配置与管理,包括服务安装、用户管理、客户端访问方式、重要参数修改等内容,涵盖目录分享、安全设置、匿名访问及多用户认证挂载等关键操作。

  • cifs 协议 是 linux–>windows 之间的文件共享
  • 服务端口:通常使用 TCP/445 进行所有连接;还使用UDP137、UDP138和TCP/139进行向后兼容

1.samba服务的配置

服务器端:

(1)yum install -y samba-client.x86_64 下载samba客户端
yum install -y samba-common.x86_64 下载samba的支持文件,创建samba用户时需要
yum install -y samba.x86_64 下载samba服务器的软件

(2)systemctl start smb 启动服务
netstat -antlupe | grep smb 查看samba服务端口
(3)firewall-cmd --permanent --add-service=samba 在火墙中添加samba服务
firewall-cmd --permanent --add-service=samba-client 在火墙中添加samba客户端服务
firewall-cmd --reoad 重加载
在这里插入图片描述
selinux 设置为enforcing 提高samba服务安全性

2.samba用户的管理

  • 查看samba用户:pdbedit -L
  • 用户的建立:smbpasswd -a lin 建立的smaba用户必须是已存在的本地用户 否则将建立失败
  • 匿名用户列出smaba服务:smbclient -L //172.25.254.101
  • 指定用户列出smaba服务:smbclient -L //172.25.254.101 -U lin
    在这里插入图片描述
    在这里插入图片描述

3.客户端查看分享的两种方式

  • 方法一samba客户端登录查看分享
    yum install -y samba-client.x86_64 下载samba客户端
    smbclient //172.25.254.101/lin -U lin 命令登录smaba客户端查看分享
    在这里插入图片描述
  • 上传分享:
    上传只能上传访问时登录时当前路径的文件
    !ls可以列出可上传的文件
    在这里插入图片描述
  • 方法二单用户网络挂载查看分享
    mount //172.25.254.101/lin /mnt -o username=lin,password=123 验证挂载服务
    cd /mnt 到临时挂载目录下查看分享
    在这里插入图片描述

4. samba服务重要参数的修改

4.1 修改服务使用域

rpm -qc samba-common 查看smb服务的配置文件
vim /etc/samba/smb.conf 编辑samba服务配置文件

89 workgroup=Lin  ##修改服务域为Lin

systemctl restart smb 重启服务
在这里插入图片描述
在这里插入图片描述

4.2 主机黑白名单

  • 黑名单:
    vim /etc/samba/smb.conf 编辑配置文件

    95 hosts deny =172.25.254.201 ##不允许201主机登录smaba,其他主机可以
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 白名单
    vim /etc/smaba/smb.conf 修改配置文件

    95 hosts allow=172.25.254.201 ##只允许201主机登录,不允许其他主机登录
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

4.3 添加分享目录

  • samba服务默认分享的是用户的家目录

4.3.1 自建目录的分享并让其可写

(1)vim /etc/smaba/smb.conf 编辑配置文件

[westos] ##分享smaba服务名称
comment=Share Directory  ##服务属性:分享目录
path=/westos_smb ##分享目录路径为自建已存在目录
writeable=yes  ##是否可写 yes可写

systemctl restart smb 重启smb服务
在这里插入图片描述
(2)因为加载了安全上下文,所以smbclient //172.25.254.101 -U lin 登录samba服务查看不到该分享目录下的文件
semanage fcontext -a -t samba_share_t '/thusday(/.*?)?' 修改该分享目录的安全上下文 加载到内核安全上下文中的设置
restorecon -RvvF /thusday 刷新安全上下文
再次登录samba服务可以看到分享的文件
在配置文件/etc/samba/smb.conf中可以查看samba服务的安全上下文
在这里插入图片描述
(3)对/thusday 分享目录设置登录用户的权限列表,使登录samba用户对该分享目录可写;且用谁登录 建立的文件就属于谁

setfacl -m u:lin:rwx /thusday

此时samba用户lin登录服务,可在该分享目录下删除或建立分享文件
在这里插入图片描述

4.3.2 系统级目录的分享

  • 系统级目录的分享配置对/tmp /Public等公共开放目录不生效,在selinux的强制模式下不做任何设定也可以分享目录

  • 分享方法一修改系统级目录的安全上下文,该方法虽然可以实现访问系统级目录的效果,但是会影响其他服务对系统级目录的操作 不建议该方法,不适用于系统级目录的分享

  • 分享方法二: 下降smb安全级别,打开开关
    (1)getsebool -a | grep samba 查看开关设置
    setsebool -P export_all_ro-->on 永久修改只读功能 使系统级目录不受安全上下文的影响
    setsebool -P export_all_rw-->on 读写功能
    在这里插入图片描述
    (2)vim /etc/smaba/smb.conf 编辑samba服务配置文件

    [mnt]
    comment=Share System Directory 分享服务属性:系统级目录分享
    path=/mnt
    writable=yes
    systemctl restart smb 重启服务
    在这里插入图片描述
    (3)setfacl -m u:lin:rwx /mnt 给/mnt目录设置权限列表
    在这里插入图片描述
    (4)smbclient //172.25.254.201 -U lin 使用samba用户登录服务 可以查看分享
    在这里插入图片描述

在这里插入图片描述

4.4 文件列出隐藏

(1)vim /etc/samba/smb.conf 编辑配置文件

browseable=no  ##在想要列出隐藏的分享服务下添加隐藏参数

syustemctl restart smb 重启服务
在这里插入图片描述
(2)smbclient -L //172.25.254.101 -U lin 分享文件的列出 可以看到隐藏的分享目录没有被列出
在这里插入图片描述

4.5 可写白名单

  • 实现前提:setfacl -b 关闭权限列表 writeable权限关闭 chmod o+w 给目录设置写权限
    在这里插入图片描述
    (1)vim /etc/samba/smb.conf 编辑配置文件

    write list = lin ##设置只对lin这个用户可写
    write list = @|+ lin ##设置只对lin这个组的用户可写

systemctl restart smb 重启服务
在这里插入图片描述
(2)smbclient //172.25.254.101 -U lin lin用户登录分享服务 可建立文件 ,其他用户登录不可建立
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.6 用户登录控制

vim /etc/samba/smb.conf 编辑配置文件

valid users = lin  #只允许lin这个用户登录
valid users = +|@ lin  #只允许lin这个组的用户登录

systemctl restart smb重启服务
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.7 匿名用户的访问 guest用户的映射

在未配置该参数前匿名用户不能登录访问
在这里插入图片描述
vim /etc/samba/smb.conf 编辑配置文件

map to guest bad user #设置除超户外的用户都映射为匿名用户
guest list yes  #允许映射

systemctl restart smb 重启服务
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.8 超级用户名单

(1)vim /etc/samba/smb.conf 编辑配置文件

admin users = lin  #设置lin用户为超户 

systemctl restart smb 重启服务
在这里插入图片描述
(2)smbclient //172.25.254.101 -U lin 设置后lin 用户具有超户的权力 对分享目录可写,且建立文件所有者为超级用户root
在这里插入图片描述
在这里插入图片描述

5.samba 多用户认证挂载

  • 优点:相比单用户挂载更安全,更便捷;使用不同samba用户登录时不用重新挂载,只用刷新记录。

配置:

  • 在客户端
    (1)yum install -y cifs-utils 安装cifs软件
    man mount.cifs 可以查看如何配置参数
    (2)vim /etc/smbpasswd 编辑挂载认证文件 文件任意

    username=lin ##任意用户名称及密码通过认证即可
    password=123
    在这里插入图片描述
    (3) mount //172.25.254.201/westos /mnt -o credentials=/etc/smapasswd,sec=ntlmssp,multiuser
    credentials挂载需要认证的文件 sec=ntlmssp 表示服务采用ntlmssp这种认证方式 multiuser多用户挂载的模式 表示使用认证

  • 挂载完成之后,root超级用户就可以直接查看分享了,但是student等普通用户没有权限访问,需要给student用户做一个认证,才能访问。
    su - student 切换到普通用户
    cifscreds add -u lin 172.25.254.101 使用samba用户lin登录
    在这里插入图片描述
    cifscreds clearall 当切换其他用户登录时:需要清空登录缓存
    cifscreds add -u westos 172.25.254.101 再次重新登录 登录成功
    umount /mnt 卸载
    如果不清空数据缓存会出现如下报错

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值