欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Samba

程序员文章站 2022-05-17 18:03:53
...

一,samba简介:
Samba是一套让UNIX系统能够应用Microsoft网络通讯协议的软件。Samba属于GNU Public License(简称GPL)的软件。什么是SMB?SMB(Server Message Block)通信协议是微软(Microsoft)和英特尔(Intel)在1987年制定的协议,主要是作为Microsoft 网络的通讯协议,而Samba则是将SMB协议搬到UNIX上来应用;Sa**mba的核心是 SMB(Server Message Block)协议。SMB协议是客户机/服务器型协议**,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,更能与全世界的电脑分享资源。

二,samba的安装和配置:
实验环境:selinux开启,火墙关闭
开启selinux是因为在实验中要同步安全上下文
但是为了防止selinux 的影响,需要开启相应的bool值

getsebool -a | grep samba
setsebool -P samba_enable_home_dirs on

在server端:yum install -y samba.x86_64 samba-common.x86_64 samba-client.x86_64
systemctl start smb
ss -antlpe | grep smb #查看服务端口

客户端:yum install -y samba-client.x86_64

server上:
创建samba用户:
smbpasswd -a student
注意:这个用户必须是主机上存在的,否则会报错

查看smb用户:
[aaa@qq.com ~]# pdbedit -L
student:1000:Student User
linux:1001:

Samba

创建samba共享目录:
mkdir /share
setfacl -m u:student:rwx /share/ #为了安全设置指定用户的权限

vim /etc/samba/smb.conf

公共目录配置:
89 workgroup = data #改变共享组的名为data
95 hosts allow = 172.25.254.92 #白名单
96 hosts deny=172.25.254.91 #黑名单
125 map to guest = bad user #设置其他主机以guest身份挂载

共享目录配置:
323 [data] #共享目录在客户端显示的名称
324 comment = qqdata #共享目录的描述
325 path = /share #指定共享目录
326 guest ok = yes #允许以guest挂载
327 writable = yes #用来指定该共享路径是否可写。
328 write list = student #write list用来指定可以在该共享下写入文件的用户。
329 browseable = no #用来指定该共享是否可以浏览

查看共享目录:
Samba
查看共享目录中的内容:
Samba
以guest身份挂载:
Samba

注意:在这之前需要更改/share目录的安全上下文:
semanage fcontext -a -t samba_share_t ‘/share(/.*)?’
restorecon -RvvF /share
否则无法显示目录中的内容。

smb多用户挂载:如果服务器端的smb用户创建的数据对客户端所有人是可共享的,则不安全,所以可以在客户端使用多用户挂载的方式来避免这样的不安全问题。
在客户端:yum install cifs-utils.x86_64 -y
创建smb多用户挂载目录:此处使用/mnt
[aaa@qq.com ~]# vim /root/smbpass #编写smb认证文件

    username=student
    password=123     #服务端samba用户的密码

[aaa@qq.com ~]# chmod 600 /root/smbpass

编辑/etc/fstab,永久挂载smb共享:
//server0/smbshare /mnt/multiuser cifs credentials=/root/smb-multiuser.txt,multiuser,
sec=ntlmssp 0 0
mount -a

测试:在客户端挂载后,开始时切换用户是无法看到共享目录重的内容的,使用命令:cifscreds add -u linux 172.25.254.93 ,意思是可以以服务器端linux用户的权限来访问共享目录。当然,linux这个用户在服务器必须存在,而且是smb用户。

相关标签: samba