linux samba服务器

smb服务器为centos7 使用的yum安装(如果不会搭建本地yum仓库可以查看) Linux:rpm查询安装 && yum安装_鲍海超-GNUBHCkalitarro的博客-CSDN博客 samba 简介 samba 使用了 1.SMB 协议 Server Message Block,服务消息块 2.CIFS

smb服务器为centos7

使用的yum安装(如果不会搭建本地yum仓库可以查看) 

Linux:rpm查询安装 && yum安装_鲍海超-GNUBHCkalitarro的博客-CSDN博客


samba 简介

samba 使用了

1.SMB 协议
Server Message Block,服务消息块
2.CIFS 协议
Common Internet File System,通用互联网文件系

samba有两项主程序分别是

 smbd和nmbd。这两个守护进程在服务器启动到停止期间持续运行,功能各异。Smbd和nmbd使用的全部配置信息全都保存在smb.conf文件中。Smb.conf向smbd和nmbd两个守护进程说明输出什么以便共享,共享输出给谁及如何进行输出。

Samba提供了基于CIFS的四个服务

文件和打印服务、授权与被授权   ————      smbd提供 

名称解析、浏览服务                     ————      nmbd提供

smbd进程的作用是处理到来的SMB软件包,为使用该软件包的资源与Linux进行协商

nmbd进程使主机(或工作站)能浏览Linux服务器。


我们本章将smbd进程  用于文件传输 


安装samba 

yum -y install samba

# 安装samba服务

 

 安装完毕

systemctl start smb        启动smb
systemctl start nmb        启动nmb
systemctl enable smb        开机自启smb
systemctl enable nmb        开机自启nmb

将start 替换为 stop   就是关闭

将enable 替换为 disable 就是开机自动关闭

 成功开启服务

netstat -anput | grep "smbd"

#  可以查看占用的端口


创建共享用户 和 共享文件

首先准备一个要分配的一个文件 也是十分简单   如果你有现成的文件可以不用创建

mkdir -p /kali/tarro

等会将/kali/tarro/下的对象共享出去

现在根据你的需要创建共享用户,我这创建2个

分别是   tarro1   和 tarro2 这两位用户

思路:首先创建系统用户再将其变成入共享用户

useradd tarro1        

useradd tarro2

# 创建两个用户

passwd tarro1 

passwd tarro2

#修改两个用户的密码

pdbedit -a -u tarro1

pdbedit -a -u tarro2

# 将他俩加入共享用户   期间会让再次设置密码   这个可以和系统密码不一样   这个是等会访问文件的用户密码

pdbedit -L

# 列出所有共享用户

 pdbedit -x -u tarro1

# 取消tarro1这个共享用户

# 删除共享用户并没有删除系统用户

 再将tarro1添加回来

pdbedit -a -u tarro1        


配置samba (核心)/etc/samba/smb.conf

samba的smb主配置文件位置是   /etc/samba/smb.conf

 testparm

# 可以直接查看文件内容

vi  /etc/samba/smb.conf

# 配置文件

 [global]:全局设置
[homes]:用户目录共享设置
[printers]:打印机共享设置
[myshare]:自定义名称的共享目录设置

常见全局配置项的含义
workgroup:所在工作组名称
server string:服务器描述信息
security:安全级别,可用值如下
user、server、domain
log file:日志文件位置,“%m” 变量表示客户机地址
passwd backend:设置共享账户文件的类型
 

上面这些都可以不用改动

我们让  tarro1 和 tarro2  都可以 读取     但是只有 tarro 2 可以写入

直接在下面追加

 然后再追加

 comment = 介绍  这里可以随便写

 这个是共享的文件夹路径

不允许匿名登录

 继续追加

 继续追加

 这个是允许读取的用户

可以写入的用户

然后保存退出wq

然后访问 //samba主机ip

samba服务器selinux  和 防火墙 都要关闭 

systemctl restart smb

重启一下服务 

我们将/kali/tarro文件的权限改为777让用户写入   如果没有samba写入权限也会被拦截 

 可以正常访问

 登录tarro2

访问成功 

写入成功

返回服务器上看一下 

也可以看到 

但是他默认写入的权限  文件是 744    目录是 755

如果不想让他默认是这个可以修改


修改写入文件默认权限

vi /etc/samba/smb.conf

 

再次到这里继续追加

 

这个是写入的文件默认权限   拥有读写 

 

这个是目录默认权限

为 读写执行

然后保存退出

 systemctl restart smb

再次新建两个

 

 和第一次权限不同这次变成我所指定的权限了


Linux访问samba共享文件

客户端Linux需要安装samba-client软件

yum -y install samba-client

安装完成

smbclient -L smb服务器ip -U 用户

smbclient -L 192.168.1.1 -U tarro2

# 查看共享文件内容

输入密码就能查看到

smbclient -U 用户 //smb服务器ip/目录

smbclient -U tarro2 //192.168.1.1/TARRO

 输入密码后进入到

smb:\>

就成功进入了

exit可以退出

 我们要将里边的文件下载到本地就使用 get

get + 文件名

get 123.txt

exit退出

 默认下载到home目录

 如果要上传文件就使用 put

put + 本地文件名

put 123123.txt

exit可以退出

 平时这样登录很麻烦  , 聪明的攻城狮就会有解决办法 直接将共享文件夹挂载到本地即可

mount -o username=用户名,password=登录用户密码 //IP/目录 /本机挂载点
mount -o username=tarro2,password=123 //192.168.1.1/TARRO /opt

# 将共享文件夹挂载到本地的opt下

我们这个tarro有写入权限  进去之后和正常文件一样

 如果使用tarro1只有只读时候  往文件内写入东西会有报错

 

知秋君
上一篇 2024-08-03 18:02
下一篇 2024-08-03 17:36

相关推荐