smb(samba)服务

smb(samba)服务:

用于Linux和windows之间文件传输,打印机共享;可以实现匿名用户、本地用户的文件共享
smb进程:负责控制发布共享目录与权限 tcp 139 445
nmb进程:用于名称解析netbios udp 137 138 基于netbios协议获取计算机的名称,并解析成相应的ip,实现通讯

# rpm -aq|grep ^samba
samba-winbind-clients-3.6.9-164.el6.x86_64 客户端工具
samba-client-3.6.9-164.el6.x86_64 客户端工具
samba4-libs-4.0.0-58.el6.rc4.x86_64 库文件
samba-common-3.6.9-164.el6.x86_64 工具包
samba-winbind-3.6.9-164.el6.x86_64 客户端

samba 服务端软件【需要安装】

1、
2、
3、软件三步曲
# yum -y install samba
# rpm -q samba

# rpm -ql samba
/etc/logrotate.d/samba 日志轮转文件
/etc/pam.d/samba 认证文件
/etc/rc.d/init.d/nmb 启动脚本
/etc/rc.d/init.d/smb 启动脚本
/etc/samba/smbusers 定义别名
/usr/sbin/nmbd 二进制命令
/usr/sbin/smbd 二进制命令

# rpm -ql samba-common
/etc/samba 相关主目录
/etc/samba/smb.conf 主配置文件
/usr/bin/pdbedit 查看数据库文件的命令
/usr/bin/smbpasswd 创建smb用户
/usr/bin/testparm 语法测试

# rpm -ql samba-client
/usr/bin/smbclient 客户端工具

4、了解配置文件
# cat /etc/samba/smb.conf |grep -v ^#|grep -v ‘^;‘|grep -v ^$

[global] 全局标签

workgroup = MYGROUP 工作组
server string = Samba Server Version %v 版本描述

log file = /var/log/samba/log.%m 日志文件保存路径
max log size = 50 日志文件大小

security = user 用户密码;share 匿名用户 ;server...
passdb backend = tdbsam 数据库文件格式

load printers = yes 加载打印机
cups options = raw 打印机选项

[homes] 局部标签
comment = Home Directories
browseable = no 隐藏该标签
writable = yes 可写

[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = no 等于 public = no
writable = no 等于 read only = yes
printable = yes

5、根据需求通过修改配置文件来完成服务的搭建
需求1:通过本地用户访问samba服务
默认情况下将本地用户的家目录共享出去了,所以不需要更改配置文件
# smbclient //10.1.1.1/stu1 -U user1 --->以用户user1身份进入stu1家目录(首先要有相应的权限)

6、启动服务|开机自启动
# /etc/init.d/smb start
# /etc/init.d/nmb start

# chkconfig smb on
# chkconfig nmb on

7、测试验证
Linux:
# smbclient --help
# smbclient -L 10.1.1.1 查看远程主机共享的标签,默认输入root密码,如果不输则是匿名用户查看
# smbclient //10.1.1.1/user1 匿名用户访问共享的目录
# smbclient -L 10.1.1.1 -U user1 使用user1用户和smb数据库的密码查看共享的标签
# smbclient //10.1.1.1/user1 -U user1 使用用户q去直接访问远程主机的共享目录

注意:
默认情况下,本地用户可以通过用户名和密码去直接访问server端所共享出来的家目录;但是事先需要将该用户加入到smb数据库里
# smbpasswd --help
# smbpasswd -a user1
-a add user :将用户加入samba数据库
-d disable user
-e enable user
-x delete user

window端:cmd \\10.1.1.1

需求2:匿名用户共享/samba/share目录
步骤:
1、创建一个共享目录
# mkdir /samba/share -p
2、发布共享目录
[anon_share]
comment = anon user share
path = /samba/share
public = yes
writeable = yes

注意:
1、security = share 那么本地用户是不能够访问的;即便是配置文件里有共享给本地用户的目录;
2、security = user 那么本地用户和匿名用户都可以访问;具体能不能访问某个共享目录要看该目录有没有给相应的访问权限

需求3:
公司:uplooking
1、财务部门 /samba/upl_cw cw01财务总监有可读可写权限,财务部门员工可读,boss01对其有管理权限。
2、市场部门 /samba/upl_sc 市场部门员工可读可写,公司员工可以查询资料,boss02对其有管理权限。
3、HR部门 /samba/upl_rs rs01HR总监可读写,HR部门员工可以对财务部查询,vip用户可以查询
4、休息区 /samba/upl_pub 自己管理自己的文件

思路:
1、创建相应的共享目录
2、创建相应的用户组
3、根据需求将相应的目录共享出去
4、需要将用户加入到samba数据中
5、重启服务
6、测试验证

步骤:
1、创建相应的共享目录并且更改相应权限
# mkdir /samba/upl_{cw,sc,rs,pub} -p
# chown root.uplooking upl_cw/
# chown root.uplooking upl_rs/
# chown root.uplooking upl_sc/
# chmod 1777 upl_pub/
2、创建相应的用户组
# groupadd uplooking
# groupadd cw
# groupadd rs
# groupadd sc
# useradd -g cw -G uplooking cw01
# useradd -g cw -G uplooking cw02
# useradd -g rs -G uplooking rs01
# useradd -g rs -G uplooking rs02
# useradd -g sc -G uplooking sc01
# useradd -g sc -G uplooking sc02
# useradd -g uplooking boss01
# useradd -g uplooking boss02
# useradd vip

3、根据需求将相应的目录共享出去

writable/可写
readonly/只读

write list=user1,@admin 可写列表
read list=user1,@admin 可读列表

valid users = @admin,user1 可用用户
invalid users = @admin,user1 不可用用户
valid和invalid不能同时出现

hosts allow = 150.203. EXCEPT 150.203.6.66

hosts deny = 10.1.1.2 172.16.250.1

[cw]
comment = cw01财务总监有可读可写权限,财务部门员工可读,boss01对其有管理权限。
path = /samba/upl_cw
valid users = @cw,@rs,boss01
write list = cw01,boss01

[rs]
comment = rs01HR总监可读写,HR部门员工可以对财务部查询,vip用户可以查询
path = /samba/upl_rs
valid users = @rs,vip
write list = rs01

[sc]
comment = 市场部门员工可读可写,公司员工可以查询资料,boss02对其有管理权限
path = /samba/upl_sc
valid users = @uplooking,vip
write list = boss02,@sc,vip
[pub]
comment = 自己管理自己的文件
path = /samba/upl_pub
public = yes
writable = yes
hosts allow = 10.1.1.0/255.255.255.0
4、将用户加入到smb数据库里
# smbpasswd -a cw01
# smbpasswd -a rs01
# smbpasswd -a boss01
# smbpasswd -a boss02
# smbpasswd -a cw02
# smbpasswd -a sc01
# smbpasswd -a vip
# /usr/bin/pdbedit -L

5 测试验证

原文地址:https://www.cnblogs.com/skyzy/p/9194200.html

时间: 2024-10-09 05:39:48

smb(samba)服务的相关文章

smb协议详解和samba服务的配置

理论部分 samba:基于smb协议使网络上的计算机能共享文件 samba的核心是smbd和nmbd两个守护进程 smbd:管理samba服务器上的共享目录 nmbd:进行netbios名解析,使客户端能浏览服务器的共享资源 协议端口: smbd:tcp 445和tcp139 nmbd:udp 137/138 工作流程: (图片来源网络) samba服务器的安装和配置 1.安装samba     yum install samba -y 2.修改配置文件/etc/samba/smb.conf #

SAMBA服务

目    录 一.SAMBA服务介绍 1.SAMBA的功能 2.计算机网络管理模式 3.相关包 4.相关服务进程 5.主配置文件 6.语法检查 7.客户端工具 二.SAMBA服务配置 1.全局配置 2.特定的共享设置 3.宏定义 三.管理samba用户 四.配置目录共享 五.基于特定用户和组的共享 六.SMB客户端访问 七.挂载CIFS文件系统 1.手动挂载 2.开机自动挂载 SMB:server message block 服务器消息块,IBM发布,最早DOS网络文件共享协议. Cifs: c

如何部署Samba服务

一.samba存在的意义 有时为了方便windows与linux虚拟机之间的文件共享,我们一般用SAMBA服务来解决,有人会问,VMTool不是可以直接设置share folder吗?但是用到比较大的工程时复制来复制去的耗时很多或者我们想偷懒直接就在共享目录编译而不影响(要知道windows和linux的文件系统是不同的),samba是非常适合的解决方法. 二.安装并启动samba服务 1)使用yum来安装Samba yum -y install samba* 2)启动并检查服务是否启动 ser

linux学习-Samba服务

Samba服务程序是一款基于SMB协议并由服务端和客户端组成的开源文件共享软件,实现了Linux与Windows系统间的文件共享. 1.安装Samba服务软件包: [[email protected] Desktop]# yum install samba Loaded plugins: langpacks, product-id, subscription-manager ------省略部分安装过程------ Installing: samba           x86_64      

linux基础Samba服务和nginx服务

一.Samba服务 1.准备环境:iptables -F:关闭防火墙 #systemctl disable firewalld:开机默认关闭 #systemctl stop firewalld:立即关闭 #systemctl status firewalld:查看 2.安装软件包:yum install samba -y 3.修改配置文件: /etc/samba/smb.conf [public] comment = Public Stuff path = /share public = yes

Ubuntu16.04 samba服务配置

1.sudo apt-get update 2.sudo apt-get install samba samba-common 安装samba服务软件 3.smbpasswd -a tfjay 将tfjay用户添加到samba用户中 4.vi /etc/samba/smb.conf [myshare]                  #共享目录名 comment = my root share directory    #描述 path = /home/tfjay             #L

初学linux网络服务之samba服务实验

实验拓扑: Linux Client -----RHEL5.9(vmnet1)----------(vmnet1) Win7 Client 实验一:Samba匿名共享 工作组为Tarena 将目录 /usr/src 共享给所有人 共享名设为 tools 允许所有人访问.无需密码验证 访问权限为只读 1.安装软件包 [[email protected] ~]# rpm -q samba-client samba samba-common  //查看安装包 package samba-client

linux下samba服务搭建

实验拓扑:Linux Client-----RHEL5.9(vmnet1)----------(vmnet1)Win7 Client 实验一:Samba匿名共享工作组为Tarena将目录 /usr/src 共享给所有人共享名设为 tools允许所有人访问.无需密码验证访问权限为只读 1.安装软件包[[email protected] ~]# rpm -q samba-client samba samba-commonpackage samba-client is not installedpac

Samba 服务的搭建

一.服务概述 SMB/CIFS SMB(Server Message Block,服务消息块) CIFS(CommonInternet FIle System,通用互联网文件系统) Samba服务通常用来做文件服务器,它可以实现 windows 与类 Unix 实现共享打印机,共享文件等功能,samba 底层也是 CIFS 协议. 二.安装需要的软件包 samba                服务端软件 samba-client        客户端软件 samba-common       

samba服务的用法

samba是架起windows和linux的桥梁,并且提供不同系统间的共享服务! samba的工作原理 samba服务功能十分强大,这与其通信基于smb协议有关.smb不仅提供目录和打印机的共享,还支持认证,权限设置.在早期,smb运行于nbt协议上使用udp协议上的137,138端口及tcp协议的139端口.后期smb经过开发,可以直接运行tcp/ip协议,没有额外的nbt层,使用tcp协议的445端口! samba工作流程: 当客户达端访问服务器时,信息通过smb协议进行传输,其工作过程可以