Centos7.2 操作系统安装配置Samba服务文档

一、Samba介绍

Samba是在Linux和Unix系统上实现SMB协议的一个免费软件 ,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。

Samba最大的功能就是可以用于Linux与windows系统直接的文件共享和打印共享,Samba既可以用于windows与Linux之间的文件共享,也可以用于Linux与Linux之间的资源共享。

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

Samba提供了基于CIFS的四个服务:文件和打印服务、授权与被授权、名称解析、浏览服务。前两项服务由smbd提供,后两项服务则由nmbd提供。 简单地说,smbd进程的作用是处理到来的SMB软件包,为使用该软件包的资源与Linux进行协商,nmbd进程使主机(或工作站)能浏览Linux服务器。

二、Samba服务的安装 与配置

1、Samba服务的安装:

使用系统yum安装,命令:yum -y install samba samba-client

2、启动Samba服务:

systemctl start smb nmb

3、查看samba服务进程:

ps -ef | grep -E 'smb|nmb'

4、查看Samba应用服务端口

netstat -tunlp | grep E 'smbd|nmbd'

提示 没有安装netstat服务,使用yum安装netstat服务:

yum -y install net-tools

重新查看应用服务端口

smbd应用进程主要监听139和445端口,nmbd应用进程主要监听137与 138端口。

5、Samba服务配置--查看Samba配置文件:

Samba文件共享默认配置文件存放于 /etc/samba/smb.conf下,用于配置Samba服务内容 。

cat /etc/samba/smb.conf

[global]

workgroup = SAMBA

security = user

passdb backend = tdbsam

printing = cups

printcap name = cups

load printers = yes

cups options = raw

[homes]

comment = Home Directories

valid users = %S, %D%w%S

browseable = No

read only = No

inherit acls = Yes

[printers]

comment = All Printers

path = /var/tmp

printable = Yes

create mask = 0600

browseable = No

[print$]

comment = Printer Drivers

path = /var/lib/samba/drivers

write list = @printadmin root

force group = @printadmin

create mask = 0664

directory mask = 0775

6、Samba配置文件解释说明

全局参数[global]

config file=/usr/local/samba/lib/smb.conf.%m

说明:config file可以让你使用另一个配置文件来覆盖缺省的配置文件。如果文件 不存在,则该项无效。这个参数很有用,可以使得samba配置更灵活,可以让一台samba服务器模拟多台不同配置的服务器。比如,你想让PC1(主机名)这台电脑在访问Samba Server时使用它自己的配置文件,那么先在/etc/samba/host/下为PC1配置一个名为smb.conf.pc1的文件,然后在smb.conf中加入:config file=/etc/samba/host/smb.conf.%m。这样当PC1请求连接Samba Server时,smb.conf.%m就被替换成smb.conf.pc1。这样,对于PC1来说,它所使用的Samba服务就是由smb.conf.pc1定义的,而其他机器访问Samba Server则还是应用smb.conf。

 workgroup=SAMBA

说明:设定Samba Server 所要加入的工作组或者域

Security=user

说明:设置用户访问 Samba Server的验证方式,一共有四种验证方式。

(1)share:用户访问Samba server 不需要提供用户名和口令,安全性能较低。

(2)user:Samba Server共享目录只能被授权的用户访问,由Samba Server负责检查账号和密码的正确性。账号和密码要在Samba Server中建立。

(3)server:依靠其他Windows NT/2000或Samba Server来验证用户的账号和密码,是一种代理验证。此种安全模式下,系统管理员可以把所有的Windows用户和口令集中到一个NT系统上,使用Windows NT进行Samba认证, 远程服务器可以自动认证全部用户和口令,如果认证失败,Samba将使用用户级安全模式作为替代的方式。

(4)domain:域安全级别,使用主域控制器(PDC)来完成认证。

netbios name=smbserver

说明:设置samba server 的netbios名称,如果不填,默认使用该服务器的DNS名称第一部分。

 interfaces=lo eth0 192.168.12.2/24 192.168.13.2/24

说明:Samba Server 监听那些网卡,可以写网卡名或者网卡的IP地址。

hosts allow=192.168.1.1 192.168.10.1

说明:表示允许连到Samba Server的客户端,多个参数可用空格隔开。hosts  deny与hosts  allow相反。

 max connections =0

说明:max connections用来指定连接Samba Server的最大连接数目。如果超出连接数目,则新的连接请求将被拒绝。0表示不限制。

deadtime=0

说明:deadtime用来设置断掉一个没有打开任何文件的连接的时间。单位是分钟,0代表samba server不自动断开任何连接。

time server=yes/no

说明:time server 用来设置让nmdb成为windows客户端的时间服务器。

   log file=/var/log/samba/log.%m

说明:设置samba server日志文件存储位置以及日志文件名称。在文件名后加个宏%m(主机名),表示对每个访问samba server的机器单独记录一个日志文件。

max log size=50

说明:设置samba server日志文件的最大容量,单位为KB,0代表不限制。

passdb backend=tdbsam

说明:

passdb backend就是用户后台的意思。目前有三种后台;smbpasswd;tbdsam;ldapsam。sam的简写:security account manager(安全账号管理)。

(1)smbpasswd:使用smb自己的工具smbpasswd来个系统用户设置密码,客户端使用这个密码来访问samba资源。

(2)tdbsam:该方式使用一个数据库文件来建立用户数据库。数据库文件叫passdb.tdb,默认在/etc/samba目录下。passdb.tdb用户数据库可以使用smbpasswd -a来建立samba用户,不过要建立的用samba用户必须显示系统用户。

(3)ldapsam:该方式则是基于LDAP的账户管理方式来验证用户。首先要建立LDAP服务,然后设置“passdb backend=ldapsam:ldap://LDAP Server”

encrypt passwords=yes/no

说明:是否将认证密码加密。因为现在windows操作系统都是使用加密密码,所以一般要开启此项。不过配置文件默认已开启。

smb passwd file=/etc/samba/smbpasswd

说明:用来定义samba用户的密码文件。smbpasswd文件如果没有就要手工新建。

 dns proxy=yes/no

说明:设置samba server 是否开启dns代理服务

load printers=yes/no

说明:设置是否在启动samba时就共享打印机

printcap name=cups

说明:设置共享打印机的配置文件

 printing =cups

说明:设置samba共享打印机的类型。现在支持的打印系统有:bsd,sysv,plp,lprng,aix,hpux,qnx

共享参数[共享名]

 comment=任意字符串

说明:comment是对该共享的描述,可以是任意字符串。

path=共享目录路径

说明:path用来指定共享目录的路径,可以用%u,%m这样的宏来代替路径里的unix用户和客户机的netbios名,用宏表示主要用户[home]共享域。

browseable=yes/no

说明:browseable用来指定该共享是否可以浏览

writeable=yes/no

说明:writeable用来指定该共享路径是否可写

 available=yes/no

说明:available用来指定该共享路径是否可用

admin user=该共享的管理者

说明:admin users用来指定该共享的管理员(对该共享具有完全控制权限)。

valid users=允许访问该共享的用户

说明:valid users用来指定允许访问该共享资源的用户。

invalid users=禁止访问该共享的用户

说明:invalid users用来指定不允许访问该共享资料的用户。

 write list=允许写入该共享的用户

public=yes/no

说明:public用来指定该共享是否允许guest账户访问。

guest ok=yes/no

说明:意义同public

三、Samba服务的安装 与配置

1、服务规划

系统分区,单独划分一个/storage的分区,分区下新建两个文件夹logger和shared;

logger文件夹/storage/logger下对应的管理员账号为logadmin,用户账号为loguser;

shared文件下/storage/shared下对应的管理员账号为admin,用户账号为shared;

2、创建文件夹

mkdir /storage

cd /storage

mkdir logger   shared

ls

3、创建用户

useradd -s /sbin/nologin logadmin

useradd -s /sbin/noligin admin

useradd -g logadmin -s /sbin/nologin loguser

useradd -g admin -s /sbin/nologin shared

cat /etc/passwd

4、建立Samba用户

smbpasswd -a logadmin

smbpasswd -a loguser

smbpasswd -a admin

smbpasswd -a shared

5、更改目录属性

chown logadmin.logadmin logger

chown admin.admin shared

chmod -R 777 logger

chmod -R 777 shared

6、配置Samba服务

[[email protected] storage]# vi /etc/samba/smb.conf

# read the smb.conf manpage.

# Run 'testparm' to verify the config is correct after

# you modified it.

[global]

workgroup = SAMBA       #工作组

server string=Samba Server Version %v

netbios name=Linuxidc-Server       #设置netbios名称

log file=/var/log/samba/%m.log    #设置日志文件路径

max log size=10240                  #log日志最大容量

security = user                      #设置Samba Server验证方式

passdb backend = tdbsam       #用户后台模式

printing = cups

printcap name = cups

load printers = yes

cups options = raw

[homes]

comment = Home Directories

valid users = %S, %D%w%S

browseable = No

read only = No

inherit acls = Yes

[printers]

comment = All Printers

path = /var/tmp

printable = Yes

create mask = 0600

browseable = No

[print$]

comment = Printer Drivers

path = /var/lib/samba/drivers

write list = @printadmin root

force group = @printadmin

create mask = 0664

directory mask = 0775

[logger]

commnet=Logs Directories      #对共享的描述

path=/storage/logger/          #共享路径

public=no                   #不允许guest访问

admin users=logadmin     #该共享的管理者

browseable=yes         #允许浏览

write=yes                    #允许写入

create mask=0777      #文件权限

directory mask=0777

force directory mode=0777

force create mode=0777

[shared]

comment=Shared Directories     #对共享的描述

path=/storage/shared/         #共享路径

public=no                        #不允许guest访问

admin users=admin      #该共享的管理者

valid [email protected]    #可以访问的用户组、用户

browseable=yes         #允许浏览

writable=yes                #允许写入

create mask=0777       #文件权限

directory mask=0777

force directory mode=0777

force create mode=0777

修改完samba配置文件后,需要重启Samba服务配置才能生效。

四、Samba服务测试

1、使用windows系统访问测试:

在windows系统中,输入samba服务器的IP地址,:

查看服务器的IP地址:

ip addr

windows(windows 10)系统连接Samba服务器:

\\192.168.37.132

2、测试创建文件

拷贝客户机文件到Samba共享文件夹下,测试文件拷贝是否成功。

原文地址:http://blog.51cto.com/5001660/2119934

时间: 2024-11-23 07:34:36

Centos7.2 操作系统安装配置Samba服务文档的相关文章

centos7.5操作系统安装

本节所讲内容: - 1.1 Linux云计算集群架构师课程介绍及Linux发展史 - 1.2 VMware虚拟机安装 - 1.3 centos7.4操作系统安装 - 1.4 vmware虚拟机12个使用技巧 1.1 Linux云计算集群架构师课程介绍及Linux发展史 参考同目录下的PPT文档 1.2 VMware虚拟机安装 1.2.1 下载链接Vmware workstation 12 含注册码和注册机Centos7.4-ISO 操作系统镜像 1.2.1 下载链接Vmware workstat

谈谈企业--RedHat Linux操作系统安装配置规范

1.谈谈规范的那些事 首先思考为什么要规范,规范有哪些好处.怎样去规范.规范可以避免哪些风险,当服务器超过几百上千台的时候,规范的重要性越发的尤为重要,废话不多说,浅谈下自己的规范文档. RedHat Linux操作系统安装配置规范 1.1    版本选择 根据应用的要求,并结合硬件类型,选择适当的操作系统版本. 至本规范最后更新时,新安装操作系统允许使用的版本如下: RedHatEnterprise Linux Server 6.4 RedHatEnterprise Linux Server

配置samba服务一例

问题: 在/data/share目录下建立三个子目录public.training.devel用途如下 public目录用于存放公共数据,如公司的规章制度 training目录用于存放公司的技术培训资料 devel目录用于存放项目开发数据 将/data/share/public/目录共享为public,所有员工都可以访问,但只有读取权限 将/data/share/training目录共享为peixun,允许管理员admin和技术部的所有员工读取数据,但不能写入,禁止其它人访问 将/data/sh

3 、操作元素 (属性 CSS 和 文档处理)

3   操作元素-属性 CSS 和 文档处理  3.1 属性操作 $("p").text()    $("p").html()   $(":checkbox").val() $(".test").attr("alex")   $(".test").attr("alex","sb") $(".test").attr("c

关于win2008配置网站默认文档的一些问题

今天把生成的网站挂到本地服务器上去的时候,由于设置的起始页在比较深的目录下面,在配置默认文档的时候,如果仅给出如Default.aspx页是不能找到目录的,正确的设置方法是,以当前网站你所设定的目录为根目录,然后一级一级去的添加到你要设置的起始目录,根目录不需要再加入进去,不然路径也不正确.其次是页面里面的相对路径,在VS开发环境在同级目录下面,直接写当前路径+文件名就能找到相应的文件,在IIS里面却找不到,只能前面加上几级目录一直到网站根目录下一级,这样才能正常访问,以上只是设置起始页面需要注

前端 之 jQuery: 属性操作; 操作input中的value; 文档操作***(二)

属性操作 操作input中的value 文档操作*** ... ... ... ... ... 一, 属性操作 jquery的属性操作模块分为四个部分:html属性操作,dom属性操作,类样式操作和值操作 html属性操作:是对html文档中的属性进行读取,设置和移除操作. 比如: attr() 设置属性值或者 返回被选元素的属性值 //获取值:attr()设置一个属性值的时候 只是获取值 var id = $('div').attr('id') console.log(id) var cla

CentOS7安装配置Samba服务

接到运营人员需要共享文件的需求,考虑到简单易用的原则,这里选用Samba来做文件共享服务.先介绍下Samba服务,Samba是SMB/CIFS 网络协议的重新实现, 它作为 NFS 的补充使得在 Linux 和 Windows 系统中进行文件共享.打印机共享更容易实现. 一,安装Samba服务 1, CentOS7上直接使用yum安装samba, samba-client即可. # yum install samba samba-client 2,安装完成后,检查下结果 # rpm -qa sa

Centos7配置Samba服务详细步骤

SAMBA文件共享服务 Samba最大的功能就是可以用于Linux与windows系统直接的文件共享和打印共享,Samba既可以用于windows与Linux之间的文件共享,也可以用于Linux与Linux之间的资源共享,由于NFS(网络文件系统)可以很好的完成Linux与Linux之间的数据共享,因而 Samba较多的用在了Linux与windows之间的数据共享上面. 第一种允许所有人访问 安装Samba服务 [[email protected] ~]# yum install -y sam

ArchLinux配置Samba服务与Windows共享文件

由于最近加班,俺的高清下载机中,已经累积了200G+的高清电影了,嘿嘿,看来平时的带宽没浪费,充分利用了.在这之前,由于懒于配置Samba,我都是偷懒,用的SFTP,通过Linux帐号来登录下载机,然后把要看的电影,一个一个的用SFTP的方式,给拖到我的电脑上,再欣赏.其实这样的效率挺低的,而且又浪费硬盘,又浪费时间. Linux的Samba,为Linux与Linux之间,还有Linux与Windows之间,提供了一种很好的文件共享的方式.周末了,抽了点时间,把Samba给配置好了.这样,就可以