前言————
Samba 是一个开源软件套件,可为 SMB/CIFS 客户端(包括 Windows)提供文件和打印服务。通过设置 Samba 文件服务器,您可以在网络上共享文件和资源,从而实现不同操作系统之间的无缝协作。
在CentOS上搭建Samba文件服务器的过程与通用的Linux设置基本相同。以下是在CentOS上搭建Samba文件服务器的基本步骤:
通过yum来安装samba
首先需要ping一下百度 如果ping不通的话 你可以搭建本地YUM仓库 然后在下载
本地YUM源配置具体过程:本地YUM配置
https://blog.csdn.net/jxjdhdnd/article/details/134947879?spm=1001.2014.3001.5501
[root@localhost ~] yum install -y samba
我在/下创建sunshao文件夹里边有1.txt文件 并且赋予权限
[root@localhost ~] mkdir /sunshao
[root@localhost ~] touch /sunshao/1.txt
[root@localhost ~] chmod 777 /sunshao/
/etc/samba/smb.conf是它的配置文件
[root@localhost ~] vim /etc/samba/smb.conf
末尾加入一下内容:
[share]
path = /sunshao
public = yes
writable = yes
systemctl start smb 如果你未启动就启动sam
systecmtl reload smb 如果你已经开启就重新加载一起 或者重启
[share]
:这是共享名。它将用于访问共享文件夹。
path = /sunshao
:指定服务器上共享文件夹的路径。在本例中,共享文件夹位于根目录,名称为“sunshao”。
public = yes
:此选项允许访问共享文件夹而无需用户名和密码。它将共享公开,这适用于您想要开放访问共享资源的情况。
writable = yes
:此选项表示共享文件夹可写,这意味着用户可以在共享目录中创建、修改和删除文件。
以下我创建两个用户 ssl sll2
[root@localhost ~] useradd ssl
[root@localhost ~] useradd sll2
用于将用户名“ssl”的新用户添加到 Samba SAM 数据库。运行此命令时,系统可能会提示您为新用户“ssl”设置密码。提供密码后,用户帐户将被添加到 Samba 系统中。
[root@localhost ~] pdbedit -a -u ssl
new password:
retype new password:
Unix username: ssl
NT username:
Account Flags: [U ]
User SID: S-1-5-21-1202113597-2330341868-64012592-1000
Primary Group SID: S-1-5-21-1202113597-2330341868-64012592-513
Full Name:
Home Directory: \\localhost\ssl
HomeDir Drive:
Logon Script:
Profile Path: \\localhost\ssl\profile
Domain: LOCALHOST
Account desc:
Workstations:
Munged dial:
Logon time: 0
Logoff time: 三, 06 2月 2036 23:06:39 CST
Kickoff time: 三, 06 2月 2036 23:06:39 CST
Password last set: 五, 08 3月 2024 09:48:20 CST
Password can change: 五, 08 3月 2024 09:48:20 CST
Password must change: never
Last bad password : 0
Bad password count : 0
Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
[root@localhost ~] pdbedit -a -u sll2
new password:
retype new password:
Unix username: sll2
NT username:
Account Flags: [U ]
User SID: S-1-5-21-1202113597-2330341868-64012592-1001
Primary Group SID: S-1-5-21-1202113597-2330341868-64012592-513
Full Name:
Home Directory: \\localhost\sll2
HomeDir Drive:
Logon Script:
Profile Path: \\localhost\sll2\profile
Domain: LOCALHOST
Account desc:
Workstations:
Munged dial:
Logon time: 0
Logoff time: 三, 06 2月 2036 23:06:39 CST
Kickoff time: 三, 06 2月 2036 23:06:39 CST
Password last set: 五, 08 3月 2024 09:48:25 CST
Password can change: 五, 08 3月 2024 09:48:25 CST
Password must change: never
Last bad password : 0
Bad password count : 0
Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
pdbedit -L
命令用于列出 Samba/Windows SAM(安全帐户管理器)数据库中的所有用户。当您运行此命令时,它将显示用户名列表以及有关每个用户的一些附加信息。输出可能包括用户全名、用户 ID (UID) 和组 ID (GID) 等详细信息。
查看是否加入成功
[root@localhost ~] pdbedit -L
这边我用另外一台centos来访问服务器
首先ping一下服务器如果不通 就需要设置一下网络
关闭防火墙和selinux
systemctl stop firewalld
setenforce 0
如果无法使用smbclient客户端 那么使用yum自行下载
[root@master1 ~] smbclient -U ssl //192.168.180.188/share
您正在使用
smbclient
命令连接到 IP 地址为192.168.180.188
的主机上的 Samba 共享。//192.168.180.188/share
参数指定 Samba 服务器的地址和您要连接的共享文件夹。 您还指定了-U ssl
选项,这表明您希望使用用户帐户“ssl”进行连接。系统可能会提示您输入与“ssl”用户关联的密码。 保您的系统上存在目录/sunshao
,并且已设置必要的权限以允许 Samba 读取和写入该目录
[ get ]
使用get命令来下载 Samba 共享的资源
[put]
使用put来上传资源
首先eixt退出 创建一个csdn.txt的文件夹
在重新登录
上传文件
如果此刻我想让sll2一个人用户上传下载的权限 只让ssl拥有读取下载功能呢
那么如下所示:
[share]
path = /sunshao
public = no
writable = no
valid users = ssl, sll2
write list = sll2
配置完成之后记得重启或重新加载
[share]
:Samba 共享的节标题。
path = /sunshao
:指定服务器上共享文件夹的文件系统路径。
public = no
:将其设置为“no”表示共享不公开,需要身份验证才能访问它。
writable = no
:设置为“no”表示共享文件夹不可写。用户将能够从共享中读取文件,但无法创建、修改或删除文件。
valid users = ssl, sll2
:此选项限制指定用户的访问。仅允许用户“ssl”和“sll2”访问此共享。
write list = sll2
:“写入列表”选项指定允许在共享文件夹中写入(创建、修改、删除)文件的用户列表。在这种情况下,只有用户“sll2”具有写入权限。
只可以访问和下载资源 但是不能 put上传csdn.txt文件
只可以访问和下载资源 但是不能 put上传csdn.txt文件
编辑samba配置文件 加入一下
记得重新加载或者重启
hosts deny=192.168.180.180
此刻再用192.168.180.180这台centos来访问
显示拒绝访问
nmbd
是 Samba 套件中的一个组件,它主要负责处理 NetBIOS 名称服务(NetBIOS Name Service)。NetBIOS 是一种网络通信协议,最初由 IBM 开发,后来被 Microsoft 扩展和广泛采用。NetBIOS 主要用于在局域网上进行计算机之间的通信和服务发现。
具体而言,nmbd
提供以下功能:
nmbd
负责将这些 NetBIOS 名称解析为相应的 IP 地址,以便建立连接。
nmbd
处理名称注册的过程。
nmbd
提供 NetBIOS 名称服务,使得其他计算机能够发现网络上提供共享资源的计算机,例如文件共享和打印服务。这对于 Samba 服务器在混合网络环境中与 Windows 系统进行交互非常重要。
nmbd
通常与 smbd
(SMB 守护进程)一起使用,smbd
负责提供文件和打印服务。这两个组件协同工作,使得 Samba 能够在混合操作系统环境中实现文件和打印共享。
就相当于解析名称 和解析域名原理大致相似 在早期提高安全性 现在这种方式早已过时 大家了解即可
加入别名 sunshaolong ds
编辑配置文件加入
username map =/etc/samba/smbuser
记得重新加载或重启
记得把拒绝访问注释掉 不然是无法访问的
这时我用别名访问也是可以的
cmd 输入 服务器ip地址
输入正确的用户名和密码即可登录 具体权限和linux上面一样
用户的权限具体分配是根据 samba的配置文件来规定
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有