欢迎来到阿里云授权服务中心典名科技有限公司!咨询电话:023-66887777 18623333330

微信
手机版
网站地图

Linux系统中安装和配置Samba服务器的步骤

2021-09-06 14:36:51 投稿人 : admin 围观 : 104 次 0 评论

“Linux系统中安装和配置Samba服务器的步骤”,在日常操作中,相信很多人在Linux系统中安装和配置Samba服务器的步骤问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux系统中安装和配置Samba服务器的步骤”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

一、获取源代码包并进行解压
从samba的官方网站可以下载最新的samba源代码包。下面我们以samba-3.5.9.tar.gz的源代码包作为案例进行解析。本例中,我们将源代码包放在目录/home/samba下,然后执行下面的命令进行解压缩。

代码如下:


# tar –xzvf samba-3.5.9.tar.gz


二、配置configure
对源代码包进行解压缩后,进入目录

代码如下:


# cd /home/samba/samba-3.5.9/source3


然后执行下面的命令进行配置。

代码如下:


# ./configure


可能在刚开始时,该目录下没有configure文件,此时可先执行下面的命令

代码如下:


# ./autogen-sh


此时要求系统安装了autoconf、automake等工具。

在运行上面的配置命令之前,我们可以通过命令

代码如下:


# ./configure –-help


来查看配置命令的一些选项。

三、生成与安装make && make install
在环境配置命令./configure成功执行后,可以运行命令

代码如下:


# make


来生成二进制可执行文件,这可能需要两到三分钟。成功生成可执行文件后,可以通过下面命令

代码如下:


#make install


来进行安装。系统默认的安装路径是/usr/local/samba

未标题-1.jpg

四、配置动态链接库路径
安装完成后,我们需要配置动态链接库路径,因为运行samba的进行smbd和nmbd需要到目录/usr/local/samba/lib下的动态链接库文件。但是该目录不是系统默认的动态链接库文件搜索路径,于是我们需要将该目录添加到文件ld.so.conf中。执行下面的命令

代码如下:


# vi /etc/ld.so.conf


打开ld.so.conf文件,并在该文件中加入下面这一行内容。

代码如下:


/usr/local/samba/lib


然后执行命令

代码如下:


# ldconfig


来更新动态链接库缓冲。

五、samba配置文件smb.conf
samba在运行过程中需要用到配置文件smb.conf。smb.conf配置文件是samba最重要的配置文件,该文件定义了samba的安全机制、文件共享和打印共享的目录和参数以及其他一些系统配置功能。

配置文件smb.conf的默认路径是/usr/local/samba/lib/smb.conf,我们可以在运行smbd进程时,通过-s选项来执行特定的smb.conf文件(具体说明见下一节),一般不推荐使用-s选项,因为其配置工具,如smbclient、testparm等默认都是读取/usr/local/samba/lib/smb.conf文件。下面我们以一个简单的配置文件进行说明,其路径为/etc/samba/smb.conf。

代码如下:


[global]
        workgroup = MYGROUP
        server string = Samba Server %v
        security = user
        log file = /var/log/samba/%m.log
        passdb backend = smbpasswd
        smb passwd file = /etc/samba/smbpasswd
[root]
        path = /
        valid users = root
        writeable = yes
[public]
        path = /data
        guest ok = yes
        read only = yes


上面配置文件定义了root和public两个文件共享服务。关于上面这个配置文件的具体细节,我们这里不做详细的论述。这里主要说明的一点:在samba 3.0.23版本以前验证用户密码的默认backend是smbpasswd,而3.0.23版本之后的默认backend是tdbsam。我们可以通过参数passdb backend来选择特定的backend。在使用smbpasswd时默认读取的密码文件时/usr/local/samba/private/smbpasswd,我们可以通过smb passwd file来指定特定的密码文件。

在配置完smb.conf文件后,我们可以运行testparm(目录/usr/local/samba/lib下)命令来对smb.conf文件进行语法检查,其会检测出哪些参数名无法识别等问题。

六、启动samba
samba有两个主要的进程smbd和nmbd。smbd进程提供了文件和打印服务,而nmbd则提供了NetBIOS名称服务和浏览支持,帮助SMB客户定位服务器,处理所有基于UDP的协议。

配置smb.conf文件后,在开始运行samba的服务进程之前。我们需要先做一些准备工作。运行smbpasswd命令(在目录/usr/local/samba/bin下)

代码如下:


# ./smbpasswd –a root


向smb.conf文件中指定的/etc/samba/smbpasswd文件中添加root用户以及密码信息。关于smbpasswd文件的详细内容介绍见相关文档。

然后运行命令

代码如下:


# service iptables stop


关闭防火墙,因为防火墙可能会阻止用户访问该机器。下面是运行samba的服务进程smbd和nmbd

代码如下:


# /usr/local/samba/sbin/smbd –D –s /etc/samba/smb.conf
# /usr/local/samba/sbin/nmbd –D –s /etc/samba/smb.conf


上面的-D选项指定smbd和nmbd以守护进程的方式启动,并且通过-s选项指定了特定的配置文件/etc/samba/smb.conf。以守护进程方式启动smbd和nmbd的优势是响应速度快,但是要关闭的话只能kill掉。当然我们可以通过脚本来执行这些操作,这里就不提供脚本了。

七、smbclient进行测试检查
在启动samba之后,我们可以在本机使用smbclient(目录/usr/local/samba/bin下)来进行测试。下面命令

代码如下:


# cd /usr/local/samba/bin
# ./smbclient –L //127.0.0.1


可以列出本samba服务器所提供的服务列表,本例运行结果如下:

代码如下:


[root@localhost bin]# ./smbclient –L //127.0.0.1
Enter root’s password:
Domain=[MYGROUP]  OS=[Unix] Server=[Samba 3.5.9]</p> <p>         Sharename                Type                  Comment
        ---------                -------               -------
        IPC$                     IPC                   IPC Service (Samba Server 3.5.9)
        public                   Disk                  
        root                     Disk</p> <p>Domain=[MYGROUP]  OS=[Unix] Server=[Samba 3.5.9]     </p> <p>         Server                             Comment
        -----------                        -------
        LOCALHOST                          Samba Server 3.5.9
       
        Workgroup                          Master
        ------------                       -------
        MYGROUP                            LOCALHOST


当然也可以通过smbclient来访问samba服务器提供的服务,其命令格式如下:

代码如下:


# ./smbclient “//serverAdderss/aservice” &ndash;U username


其中serverAddress是要访问的samba服务器的IP地址,aservice指定samba服务器上提供的某个服务名称,选项-U username指定要以哪个用户名来访问samba服务器。例如

代码如下:


[root@localhost bin]# ./smbclient “//127.0.0.1/root” &ndash;U root
Enter root&rsquo;s password:                                       ; #这里输入samba用户root的密码
Domain=[MYGROUP]  OS=[Unix] Server=[Samba 3.5.9]
smb: \>                                                      ; #访问成功,输入相关命令进行操作


上面个smb: \>表明了访问成功,此时我们可以输入一些命令来在samba服务器上进行操作,比如ls、mkdir等。q或quit命令执行退出,并断开连接。

八、在Windows客户端访问samba服务器
在Windows客户端,可以在网上邻居中通过新建网上邻居来访问,或者在【开始】&mdash;&mdash;【运行】中输入\\192.168.1.34\root来访问samba服务器192.168.1.34上面提供的root服务。

九、重要选项说明
全局选项:

全局选项用于[global]的<section>选项定义中,其用于说明samba服务器的一些基本属性。其有些选项可以被其他<section>中的选项定义覆盖。

workgroup = MYGROUP

定义samba服务器所在的工作组或者域(如果设置security = domain的话)。

server string = Samba server

设定samba服务器的描述,通过网络邻居访问时可在备注中查看到该描述信息。

hosts allow = host (subnet)

设定允许访问该samba服务器的主机IP或网络,该选项的值为列表类型,不同的项目之间使用空格或逗号隔开,例如hosts allow = 192.168.3.0, 192.168.1.1,该选项设置允许主机192.168.1.1以及子网192.168.3.0/24内的所有主机访问该samba服务器。

hosts deny = host (subnet)

设定不允许访问该samba服务器的主机IP或网络,其格式与hosts allow一样。

guest account = guest

设定了游客的账号,在游客访问guest ok = yes的共享服务时,samba服务器将设置客户端以该游客账号来访问共享。

log file = MYLOGFILE

设定记录文件的位置。

max log size = size

设定记录文件的大小,单位为KB,如果设置为0则表示无大小限制。

security =

设定samba服务器的安全级,其有四种安全级别:share、user、server和domain,默认为user。关于这四种安全级别的详细信息,请查看相关文档。

password server = ServerIP

设定了用户账号认证服务器IP,其在设定security = server时有效。

encrypt passwords = yes | no

设定是否对密码进行加密。如果不对密码进行加密的话,在认证会话期间,客户端与服务器传递的是明文密码。但有些Windows系统默认情况下,不支持明文密码传输。

passdb backend = smbpasswd | tdbsam | ldapsam

设定samba服务器访问和存储samba用户账号的后端,在samba-3.0。23之前的默认值为smbpasswd,而之后的默认值为tdbsam。

smb passwd file =

设定samba的用户账号文件。对于源代码安装的samba,在samba-3.0.23之前,其默认值为/user/local/samba/private/smbpasswd;而samba-3.0.23之后,其默认值为/usr/local/samba/private/passwd.tdb。

include = smbconfFile

通过include选项可以包含其他配置文件,通过该选项和一些samba定义的变量可以设定与不同机器相关的配置。

local master = yes | no

设定该samba服务器是否试图成为本地主浏览器,默认值为yes。若设置为no,则该samba服务器永远不可能成为本地主浏览器,而设置为yes不代表其一定能成为本地主浏览器,只是让其能参与本地主浏览器的选举。

os level = N

N是一个整数,设定了该samba服务器参加本地主浏览器选举时的权重,其值越大,权重越大。os level = 0时,该服务器将失去选举的机会。

domain master = yes | no

设定samba服务器成为域浏览器。域浏览器从各个本地主浏览器处获取浏览列表,并将整个域的浏览列表传递给各个本地主浏览器。

preferred master = yes | no

设定该samba服务器是否为工作组里的首要主浏览器,如果设置为yes,则在nmbd启动时,将强制一个浏览选择。

局部选项:

局部选项为除了global外的各个<section>中的参数。其定义了共享服务的属性。

comment =

设定共享服务的描述信息。

path =

设定共享服务的路径,其中可以结合samba预定义的变量来设置。

hosts allow = host(subnet)

hosts deny = host(subnet)

与全局的hosts allow和hosts deny含义相同,其会覆盖全局的设置。

read only = yes | no

设定该共享服务是否为只读,该选项有一个同义选项writeable。

user = user(@group)

设定所有可能使用该共享服务的用户,可以使用@group来设置群组group中的所有用户账号。该选项的值为列表,不同的项目之间使用空格或逗号隔开。在设置security = share时,客户端要访问某共享服务时提供的密码会与该选项指定的所有用户进行一一配对认证,若某用户认证通过,则以该用户权限进行共享服务访问,否则拒绝客户端的访问(设置security = share不是允许游客访问,只有guest ok = yes才是允许游客访问,切记!!!)。

valid users = user(@group)

设定能够使用该共享服务的用户和组,其值的格式与user选项一样。

invalid users = user(@group)

设定不能够使用该共享服务的用户和组,其值的格式与user选项一样。

read list = user(@group)

设定对该共享服务只有读取权限的用户和组,其值的格式与user选项一样。

write list = user(@group)

设定对该共享服务拥有读写权限的用户和组,其值的格式与user选项一样。

admin list = user(@group)

设定对该共享服务拥有管理权限的用户和组,其值的格式与user选项一样。

public = yes | no

设定该共享服务是否能够被游客访问,其同义选项有guest ok。

create mode = mode

mode为八进制值,如0755,其默认值为0744。该选项指定的值用于过滤新建文件的访问权限,新建文件的默认权限将与create mode指定的值进行按位与操作,将结果再与force create mode指定的值进行按位或操作,得到的结果即为新建文件的访问权限。

force create mode = mode

mode为八进制值,默认为0000。其作用参考选项create mode。

directory mode = mode

mode为八进制值,默认为0755。该选项指定的值用于过滤新建目录的访问权限,新建目录的默认权限将与directory mode指定的值进行按位与操作,将结果再与force directory mode指定的值进行按位或操作,得到的结果即为新建目录的访问权限。

force directory mode = mode

mode为八进制值,默认为0000。该选项的作用参考选项directory mode。

force user = user

强制设定新建文件的属性onwer。若存在一个目录,其允许guest可以写,则guest就可以删除。但设定force user为其他用户,并设置create mode = 0755,则gues用户不能够删除其新建文件。

版权声明:本站部分文章内容、图片来源于网友推荐、互联网收集整理而来,仅供大家学习参考,不代表本站立场,如有侵权,请联系站长,我们会第一时间处理!本站原创内容未经允许不得转载,或转载时需注明出处:典名科技资讯门户

相关文章

  • 怎样弄linux查看进程的线程数?
    怎样弄linux查看进程的线程数?

      Linux系统的进程是由线程组成的,当然Linux进程下的线程数是不固定的,可以是一个进程,也可以是多个进程。下面就由和大家讲一讲linux查看进程。进程是一个其中运行着一个或多个线程的地址空间和这些线程所需要的系统资源。一般来说,Li...

    2021-11-17 11:35:33
  • 云服务器的优势
    云服务器的优势

      基于云主机平台构建的一款新型云主机产品,其性能是云主机的性能,同时具备虚拟主机的全部功能。在主机控制面板上还具有服务器重启,CPU、内存、使用空间大小监控等功能。用户独享整个驰云服务器的软硬件资源,通过控制面板进行维护和管理,同时关闭远...

    2021-11-17 11:27:34
  • 微系统架构的特点
    微系统架构的特点

      微系统架构是一项在云中部署应用和服务的新技术。大部分围绕微服务的争论都集中在容器或其他技术是否能很好的实施微服务,而红帽说API应该是重点。微服务可以在“自己的程序”中运行,并通过“轻量级设备与HTTP型API进行沟通”。关键在于该服务...

    2021-11-17 11:20:34
  • 云建站有什么特点?
    云建站有什么特点?

      云建站是最近几年互联网领域兴起的全新的一种互联网基础应用模式,以前存放网站所有的服务器都是单击存在,各种服务之间没有明确的区分,来到云技术时代,随着虚拟化技术的进步,大规模集成式服务开始出现,由之前的单点式服务变为了集群式云服务,人们可...

    2021-11-17 11:13:35
  • 如何使用linux搭建vpn服务器?
    如何使用linux搭建vpn服务器?

      Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线...

    2021-11-17 11:09:36
  • 可靠云主机的优点和缺点
    可靠云主机的优点和缺点

      云主机是云计算在基础设施应用上的重要组成部分,位于云计算产业链金字塔底层,产品源自云计算平台。该平台整合了互联网应用三大核心要素:计算、存储、网络,面向用户提供公用化的互联网基础设施服务。云主机是一种类似VPS主机的虚拟化技术, VPS...

    2021-11-17 11:03:36
  • linux查看端口占用情况的步骤
    linux查看端口占用情况的步骤

      准备使用python写一个端口探测的小程序,以检测一些特定的服务端口有没有被占用,突然发现自己居然不知道在linux中如何查询端口被占用的情况,在项目的部署的时候,会遇到端口被占用的情况,需要我们先停下占用端口的进程,然后才能开启新的服...

    2021-11-17 11:01:36
  • tftp服务器软件特点有哪些?tftp服务器软件如何使用?
    tftp服务器软件特点有哪些?tftp服务器软件如何使用?

      tftp是一个传输文件的简单协议,而tftp服务器则可以用于IOS的升级和备份的工作,同时还可以用于文件的传输,现在有一种tftp服务器软件,很多朋友不知道它的情况,下面就来说说tftp服务器软件特点有哪些?tftp服务器软件如何使用。...

    2021-11-17 11:01:35
  • 传真服务器软件角色的步骤
    传真服务器软件角色的步骤

      Windows Server 2008 中的传真服务管理器提供了一个用于配置和管理传真资源的集中管理点。传真服务管理器是在服务器管理器中安装传真服务器角色时安装的。可以使用传真服务管理器为传入和传出传真流量配置传真设备、指定可以使用传真...

    2021-11-17 11:01:35
  • 什么服务器好用?选择服务器要注意什么问题?
    什么服务器好用?选择服务器要注意什么问题?

      什么服务器好用?选择服务器要注意什么问题?很多人在选择服务器产品时一味的看重内存大小,不关注品牌和售后服务问题,其实这个想法有失偏颇。建议大家在选择服务器时还要考虑到宽带以及机房等问题。   一、服务器是什么?   服务器是计算机的一种...

    2021-11-17 11:01:33
发表评论