前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >samba服务

samba服务

作者头像
胡齐
发布2019-09-23 18:40:49
1.8K0
发布2019-09-23 18:40:49
举报
文章被收录于专栏:运维猫运维猫

摘选自:朋友杰哥的微信公众号:(杰哥的IT之旅)里面很多干货,感兴趣的小伙伴可以关注下。

01

服务概述

在Windows网络环境中,主机之间进行文件和打印机共享是通过微软公司自己的SMB/CIFS网络协议实现的。SMB(Server Message Block,服务消息块)和CIFS(Common Internet File System,通用互联网文件系统)协议是微软的私有协议,在Samba项目出现之前,并不能直接与Linux/unix系统进行通信。

Samba是著名的开源软件项目之一,它在Linux/unix系统中实现了微软的SMB/CIFS网络协议,从而使得跨平台的文件共享变得更加容易。在部署windows、Linux/unix混合平台的企业环境时,选用Samba可以很好的解决不同系统之间的文件互访问题。

02

安装需要的升级包

samba 服务端软件

samba-client 客户端软件

samba-common 提供服务端和客户端的公共组件

System-config-samba samba 的图形界面软件包

Samba-swat samba的web界面管理软件包

03

Samba服务相关进程及端口号

/usr/sbin/smbd 为客户机提供服务器中的共享资源的访问

/usr/sbin/nmbd 提供基于 NetBIOS 协议的主机名称解析

Samba的脚本 /etc/init.d/smb

Samba的端口:

Nmbd:(137138)NetBIOS 协议

smbd:139(SMB 协议) 445(CIFS 协议)

04

主配置文件smb.conf

Samba服务的配置文件位于/etc/samba目录中,其中smb.conf是主配置文件。在smb.conf文件中,以“#”号开始的行表示注释性的文字,以“;”开始的行表示是配置样例。

在配置共享文件夹时,用户可以参考文件中提供的样例行进行设置。删除注释行,样例行及空行以外的内容,才是samba服务器的有效配置。

[global]全局配置:这部分配置项的内容对整个samba服务器都有效。

[homes]宿主目录共享设置:设置Linux用户的默认共享,对应用户的宿主目录。当用户访问服务器中与自己用户名同名的共享目录时,通过验证后将会自动映射到该用户的宿主文件夹中。

[printers]打印机共享设置:如果需要共享打印机设备,可以在这部分进行设置。若需要在smb.conf文件中设置新的共享文件夹,只需要增加一段如“[myshare]”开始的共享设置即可,其中“myshare”为用户自定义的共享名。新的共享文件夹设置可以参考“[homes]”和“[printers]”部分的内容。

Samba服务器的常见配置项及含义说明

配置项

说明

workgroup

设置服务器所在的工作组名称。

server string

设置服务器的说明文字,用于描述samba服务器。

security

设置服务器的安全级别,share:可匿名访问、user:需由本服务器验证用户名及密码、server:需指定另一台服务器来验证用户名及密码、domain:由windows域控制器验证用户名及密码。

log file

设置samba服务器的日志文件,默认设置为“/var/log/smaba/log.%m",表示将日志文件保存到/var/log/samba目录中,按每个客户机建立一个日志文件。其中“%m”变量表示客户端主机名或ip地址。

passwd backend

设置共享账户文件的类型,默认使用tdbsam(TDB数据库文件)。

comment

设置对应共享目录的注释、说明信息。

path

设置对应共享目录在服务器中的文件夹路径。

browseable

设置该共享目录中“网络邻居”中是否可见,设置为no时相当于隐藏共享目录。

guest ok

设置是否所有人都可以访问共享目录,与“public”配置项的作用相同。

writable

设置该共享目录是否可写,与“read only”配置项的作用相反。

05

安装服务

1.挂载光盘

代码语言:javascript
复制
[root@localhost-181118 ~]# mkdir /media/cdrom
[root@localhost-181118 ~]# mount /dev/cdrom /media/cdrom/
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@localhost-181118 ~]#

2.安装软件包

代码语言:javascript
复制
[root@localhost-181118 ~]# cd /media/cdrom/Packages/
[root@localhost-181118 Packages]# rpm -ivh samba-3.6.9-164.el6.x86_64.rpm 
warning: samba-3.6.9-164.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing...                ########################################### [100%]
  1:samba                  ########################################### [100%]
[root@localhost-181118 Packages]# rpm --import /media/cdrom/RPM-GPG-KEY-CentOS-*
[root@localhost-181118 Packages]# rpm -ivh samba-client-3.6.9-164.el6.x86_64.rpm Preparing...                ########################################### [100%]
 package samba-client-0:3.6.9-164.el6.x86_64 is already installed
[root@localhost-181118 Packages]# rpm -ivh samba-common-3.6.9-164.el6.x86_64.rpm Preparing...                ########################################### [100%]
 package samba-common-0:3.6.9-164.el6.x86_64 is already installed
[root@localhost-181118 Packages]#

3.创建测试文件备份smb.conf到自定义文件夹/beifen 下

代码语言:javascript
复制
[root@localhost-181118 Packages]# mkdir /gongxiang
[root@localhost-181118 Packages]# mkdir /beifen
[root@localhost-181118 Packages]# cp /etc/samba/smb.conf /beifen/

4.设置共享目录[test]将samba的安全级别改为share。

代码语言:javascript
复制
[root@localhost-181118 Packages]# vim /etc/samba/smb.conf

此处省略配置文件中的注释行
workgroup = MYGROUP
server string = Samba Server Version %v 

此处省略配置文件中的注释行
log file = /var/log/samba/log.%m
max log size = 50

此处省略配置文件中的注释行
security = share
passdb backend = tdbsam

///[home]和[printers]全部注释掉,否则共享时家目录也会出现。
#[homes]
#       comment = Home Directories
#       browseable = no
#       writable = yes
#;      valid users = %S
#;      valid users = MYDOMAIN\%S

///设置共享目录
[test]
       comment = Public Stuff
       path = /gongxiang
       public = yes
       read only = no
#       valid users = test1,test2
#       write list = test1
#       directory mask = 0755
#       create mask =0644

[181118]
       comment = Public Stuff
       path = /beifen
       public = yes
       read only = no

#[printers]
#       comment = All Printers
#       path = /var/spool/samba
#       browseable = no
#       guest ok = no
#       writable = no
#       printable = yes

5.关闭防火墙,启动服务并监听smb端口是否正常运行;

代码语言:javascript
复制
[root@localhost-181118 Packages]# service smb start
启动 SMB 服务:                                  [确定]
[root@localhost-181118 Packages]# netstat -anpt | grep smb
tcp        0      0 0.0.0.0:139                 0.0.0.0:*                   LISTEN      48344/smbd          
tcp        0      0 0.0.0.0:445                 0.0.0.0:*                   LISTEN      48344/smbd          
tcp        0      0 :::139                      :::*                        LISTEN      48344/smbd          
tcp        0      0 :::445                      :::*                        LISTEN      48344/smbd          
[root@localhost-181118 Packages]# service iptables stop
iptables:将链设置为政策 ACCEPT:filter                  [确定]
iptables:清除防火墙规则:                           [确定]
iptables:正在卸载模块:                            [确定]
[root@localhost-181118 Packages]# setenforce 0

6.确认客户端的ip地址及联通性;

代码语言:javascript
复制
[root@localhost-181118 Packages]# ping 192.168.231.132
PING 192.168.231.132 (192.168.231.132) 56(84) bytes of data.
64 bytes from 192.168.231.132: icmp_seq=1 ttl=128 time=0.384 ms
^C
--- 192.168.231.132 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 953ms
rtt min/avg/max/mdev = 0.384/0.384/0.384/0.000 ms

7.访问测试文件,在windows中打开文件资源管理器输入\\ip地址进行访问;

  • Samba服务的默认安全级别为user,要求提供用户验证。对于匿名共享服务,一般将安全级别设为share。
  • 使用pdbedit工具可以创建、删除Samba共享用户。
  • 通过smbusers文件可以为共享用户账号设置别名。
  • 使用smbclient工具可以查询并登录、访问共享资源,而使用mount命令可以将共享文件夹挂载到本地。

关于运维学习、分享、交流,笔者开通了微信公众号【运维猫】,感兴趣的朋友可以关注下,欢迎加入,建立属于我们自己的小圈子,一起学运维知识。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 运维猫 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档