samba服务器的配置_samba服务器的配置文件的所在路径是

hacker|
96

文章目录:

怎样设置Samba文件服务器以使用Windows客户端

ed Hat Linux 9.0,则系统会默认安装Samba组件。我们可以在终端命令窗口输入以下命令进行验证:

[root@ahpeng root] rpm -qagrep samba

如果结果出现以下所示的5个软件包,则表示已经安装:

samba-swat-2.2.7a-7.9.0

samba-2.2.7a-7.9.0

redhat-config-samba-1.0.4-1

samba-common-2.2.7a-7.9.0

samba-client-2.2.7a-7.9.0

如果没有安装过Samba软件包,则可以插入第1张安装光盘,然后鼠标依次单击“主菜单→系统设置→添加/删除应用程序”菜单项,打开“软件包管理”对话框,在该对话框中找到“Windows文件服务器”选项,确保该选项处于选中状态,然后单击“更新”按钮即可开始安装。

你也可以把第1张安装光盘插入光驱,然后在终端命令窗口输入以下命令:

[root@ahpeng root]# cd /mnt/cdrom/RedHat/RPMS

[root@ahpeng RPMS]# rpm -ivh samba*

[root@ahpeng RPMS]# rpm -ivh redhat-config-samba-1.0.4-1.noarch.rpm

二、Linux主机访问Windows主机

安装好Samba之后,就有了与Windows互相访问的基础。这里先介绍一下如何用字符命令方式访问Windows宿主机的共享资源。

1、查询宿主机的共享资源

可以使用“smbclient –L WindowsHostName”命令(此处的WindowsHostName用Windows主机名代替)。本例是要查询Windows主机Peter 上的共享资源,可以在终端窗口输入“smbclient –L Peter”命令,然后回车即可看到Windows主机的共享资源。

2、连接宿主机的共享目录

可以使用“smbclient //WindowsHostName/ShareName”命令来连接Windows主机上的某个共享文件夹,如果该共享文件夹需要用户名和密码,则可以使用“smbclient //WindowsHostName/ShareName –U UserName”命令。例如要连接Windows主机Peter上的共享目录Share,我们可以在终端窗口输入“smbclient //Peter/Share”命令然后回车即可。

如果连接成功,即可出现“smb:”提示符,在该命令提示符下输入适当的命令,即可对所连接的共享目录进行操作。

Smb支持的命令有大约40个命令,可以很方便地对共享目录进行删除、重命名、切换目录等操作。如果要列出共享目录“Share”下的具体内容,可以使用ls命令。要删除其下的test.txt文件,可以使用“del test.txt”命令。共2页。

3、映射网络驱动器

我们知道,Windows下可以将共享目录映射为网络驱动器,这样就可以把共享目录当成本地文件夹来使用。在Linux下可以借助于 smbmount命令来实现,具体的命令参数是“smbmount //WindowsHostName/ShareName /mnt/smbdir”(此处的ShareName指代Windows共享资源名称,smbdir指代挂载点名称)。假设要将Windows主机 Peter下的共享文件夹Share映射为/mnt/WinShare目录,具体步骤是:

首先在/mnt目录下创建一个目录,假设为/mnt/WinShare;

然后打开终端命令窗口,运行“smbmount //Peter/Share /mnt/WinShare”即可。

现在再在文件管理器里打开/mnt/WinShare目录可以看到共享目录的内容,要卸载该映射目录,可以使用umount命令。

4、用Nautilus访问Windows主机

借助Gnome桌面下的文件管理器Nautilus,我们可以用图形界面来访问Windows主机,这里要注意的是Nautilus只是提供访问Windows主机的图形界面,具体的底层操作还是借助于Samba客户端来完成。

在Gnome桌面环境下,单击“主菜单→网络服务器”菜单项,即可用Nautilus文件管理器查看工作组列表。双击工作组名称,即可看到其下的Windows主机。

双击其中的某台Windows主机图标,即可看到该主机的共享文件夹,可以看到这和Windows下的网络邻居几乎一样。

由于Nautilus本身就是Red Hat Linux的文件管理器,所以我们可以任意往Windows共享目录里拷贝文件、删除文件、创建目录等等(对于windows 2000/XP主机还需要考虑该共享资源的权限设置)。

三、Windows主机访问Linux主机

要想让Windows宿主机能够访问Linux虚拟机,就必须在Linux虚拟机上启动Samba服务。在启动之前,还需要对Samba服务的属性进行配置,例如指定Linux虚拟机的共享目录、所在的工作组名称等。

1、配置Samba服务器

在以前版本的Red Hat Linux,我们必须直接修改Samba配置文件smb.conf,或者使用SWAT对Samba进行全方位的设置。Red Hat Linux 9.0新引入了一个图形化的Samba服务器配置工具,可以让我们很方便地对Samba服务器进行配置。以root用户身份登录系统,单击“主菜单→系统设置→服务器设置→Samba服务器”菜单项,即可打开Samba服务器配置对话框。也可以在终端命令窗口输入“redhat-config- samba”,来访问Samba服务器配置对话框。

首先对Samba服务器的基本设置和安全选项进行配置,单击配置对话框上的“首选项→服务器设置”菜单项,即可打开服务器设置对话框。

基本设置:在对话框的“基本”标签页,我们可以指定Linux主机所在的工作组名称,需要注意的是,此处的工作组名称不一定非得与Windows主机所在的工作组名称一致。

安全设置:然后进行Samba服务器安全设置,这里一共有4个选项。

“验证模式”代表如果Windows主机不是位于NT域里,此处应该选择“共享”验证模式,这样只有在连接Samba服务器上的指定共享时才要求输入用户名、密码;“验证服务器”代表对于“共享”验证模式,无需启用此项设置;“加密口令”选项应该选择“是”,这样可以防止黑客用嗅探器截获密码明文;“来宾账号”代表当来宾用户要登录入 Samba 服务器时,他们必须被映射到服务器上的某个有效用户。选择系统上的现存用户名之一作为来宾Samba账号。当用户使用来宾账号登录入 Samba 服务器,他们拥有和这个用户相同的特权。

添加共享目录:单击Samba配置对话框工具栏上的“增加”按钮。在打开的对话框中的“基本”标签页上,指定(共享)目录为某个存在的目录,例如可以指定/tmp,再指定该目录的基本权限是只读还是读/写。在“访问”标签页上,可以指定允许所有用户访问、或者只允许某些用户访问。

2、启动Samba服务器

打开终端命令窗口,输入“/sbin/service smb start”命令,即可出现以下提示信息,表示Samba服务已经启动。

# /sbin/service smb start

启动SMB 服务 [确定]

启动NMB 服务 [确定]

接下来在Windows里打开“网络邻居”,就可以看到我们刚才设置的Samba服务器了

怎么配置samba服务器

1.samba安装和启动

samba的源码安装采用最新版本samba-4.1.14,官网下载。安装过程如下:

$ sudo mkdir /usr/local/samba-4.1.14

$ ./configure --prefix=/usr/local/samba-4.1.14

...

Checking for program xsltproc                                                    : not found

Checking for program python                                                      : /usr/bin/python

Checking for program python                                                      : /usr/bin/python

Checking for program python                                                      : /usr/bin/python

Checking for Python version = 2.5.0                                              : ok 2.7.6

Checking for library python2.7                                                    : not found

Checking for library python2.7                                                    : yes

Checking for program python2.7-config                                            : not found

Checking for program python-config-2.7                                            : not found

Checking

for custom code                                                         

: Could not find the python development headers

/home/anonymalias/Downloads/samba-4.1.14/wscript:100:

error: the configuration failed (see

'/home/anonymalias/Downloads/samba-4.1.14/bin/config.log')

上面错误的原因是samba必须依赖python,执行

$ sudo apt-get install python-dev

后面就是make sudo make install,安装ok后,安装目录结构如下:

/usr/local/samba-4.1.14$ ls

bin  etc  include  lib  private  sbin  share  va

将源码文件下默认的conf文件拷贝到安装目录下的etc目录中

/usr/local/samba-4.1.14$ cp /home/anonymalias/Downloads/samba-4.1.14/examples/smb.conf.default  etc/smb.conf

修改smb.conf中配置

global段添加如下字段

[global]

...

netbios name = ubuntu

共享资源字段采用默认配置

[homes]

comment = Home Directories

browseable = no

writable = yes

# NOTE: If you have a BSD-style print system there is no need to

# specifically define each individual printer

[printers]

comment = All Printers

path = /usr/spool/samba

browseable = no

# Set public = yes to allow user 'guest account' to print

guest ok = no

writable = no

printable = yes

添加用户名为Ubuntu的账户,

/usr/local/samba-4.1.14$ sudo bin/smbpasswd -a ubuntu

New SMB password:

Retype new SMB password:

samba服务器的用户是依赖于linux的用户,只能添加linux中已存在的用户,否则会出现如下错误:

/usr/local/samba-4.1.14$ sudo bin/smbpasswd -a user1

New SMB password:

Retype new SMB password:

Failed to add entry for user user1.

启动samba 服务

/usr/local/samba-4.1.14$ sudo sbin/nmbd

/usr/local/samba-4.1.14$ sudo sbin/smbd

在Windwos文件管理器或直接win+R,输入server ip,可以看到如下界面:

如何配置samba服务器

以前我们在windows上共享文件的话,只需右击要共享的文件夹然后选择共享相关的选项设置即可。然而如何实现windows和linux的文件共享呢?这就涉及到了samba服务了,这个软件配置起来也不难,使用也非常简单。

【samba配置文件smb.conf】

一般你装系统的时候会默认安装samba,如果没有安装,只需要运行这个命令安装(CentOS):

“yum install -y samba samba-client”

Samba的配置文件为/etc/samba/smb.conf,通过修改这个配置文件来完成我们的各种需求。打开这个配置文件,你会发现很多内容都用”#”或者”;”注视掉了。先看一下未被注释掉的部分:

[global]

workgroup = MYGROUP

server string = Samba Server Version %v

security = user

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

writable = no

printable = yes

主要有以上三个部分:[global], [homes], [printers]。

[global]定义全局的配置,”workgroup”用来定义工作组,相信如果你安装过windows的系统,你会对这个workgroup不陌生。一般情况下,需要我们把这里的”MYGROUP”改成”WORKGROUP”(windows默认的工作组名字)。

security = user #这里指定samba的安全等级。关于安全等级有四种:

share:用户不需要账户及密码即可登录samba服务器

user:由提供服务的samba服务器负责检查账户及密码(默认)

server:检查账户及密码的工作由另一台windows或samba服务器负责

domain:指定windows域控制服务器来验证用户的账户及密码。

passdb backend = tdbsam # passdb backend (用户后台),samba有三种用户后台:smbpasswd, tdbsam和ldapsam.

smbpasswd:该方式是使用smb工具smbpasswd给系统用户(真实用户或者虚拟用户)设置一个Samba 密码,客户端就用此密码访问Samba资源。smbpasswd在/etc/samba中,有时需要手工创建该文件。

tdbsam:使用数据库文件创建用户数据库。数据库文件叫passdb.tdb,在/etc/samba中。passdb.tdb用户数据库可使用smbpasswd –a创建Samba用户,要创建的Samba用户必须先是系统用户。也可使用pdbedit创建Samba账户。pdbedit参数很多,列出几个主要的:

pdbedit –a username:新建Samba账户。

pdbedit –x username:删除Samba账户。

pdbedit –L:列出Samba用户列表,读取passdb.tdb数据库文件。

pdbedit –Lv:列出Samba用户列表详细信息。

pdbedit –c “[D]”–u username:暂停该Samba用户账号。

pdbedit –c “[]”–u username:恢复该Samba用户账号。

ldapsam:基于LDAP账户管理方式验证用户。首先要建立LDAP服务,设置“passdb backend = ldapsam:ldap://LDAP Server”

load printers 和 cups options 两个参数用来设置打印机相关。

除了这些参数外,还有几个参数需要你了解:

netbios name = MYSERVER # 设置出现在“网上邻居”中的主机名

hosts allow = 127. 192.168.12. 192.168.13. # 用来设置允许的主机,如果在前面加”;”则表示允许所有主机

log file = /var/log/samba/%m.log #定义samba的日志,这里的%m是上面的netbios name

max log size = 50 # 指定日志的最大容量,单位是K

[homes]该部分内容共享用户自己的家目录,也就是说,当用户登录到samba服务器上时实际上是进入到了该用户的家目录,用户登陆后,共享名不是homes而是用户自己的标识符,对于单纯的文件共享的环境来说,这部分可以注视掉。

[printers]该部分内容设置打印机共享。

【samba实践】

注意:在试验之前,请先检测selinux是否关闭,否则可能会试验不成功。关于如何关闭selinux请查看第十五章 linux系统日常管理的“linux的防火墙”部分

1. 共享一个目录,任何人都可以访问,即不用输入密码即可访问,要求只读。

打开samba的配置文件/etc/samba/smb.conf

[global]部分

把”MY GROUP”改成”WORKGROUP”

把”security = user” 修改为“security = share”

然后在文件的最末尾处加入以下内容:

[share]

comment = share all

path = /tmp/samba

browseable = yes

public = yes

writable = no

mkdir /tmp/samba

chmod 777 /tmp/samba

启动samba服务

/etc/init.d/smb start

测试:

首先测试你配置的smb.conf是否正确,用下面的命令

testparm

如果没有错误,则在你的windows机器上的浏览器中输入 看是否能访问

2. 共享一个目录,使用用户名和密码登录后才可以访问,要求可以读写

打开samba的配置文件/etc/samba/smb.conf

[global] 部分内容如下:

[global]

workgroup = WORKGROUP

server string = Samba Server Version %v

security = user

passdb backend = tdbsam

load printers = yes

cups options = raw

然后加入以下内容:

[myshare]

comment = share for users

path = /samba

browseable = yes

writable = yes

public = no

保存配置文件,创建目录:

mkdir /samba

chmod 777 /samba

然后添加用户。因为在[globa]中” passdb backend = tdbsam”,所以要使用” pdbedit” 来增加用户,注意添加的用户必须在系统中存在。

useradd user1 user2

pdbedit -a user1 # 添加user1账号,并定义其密码

pdbedit -a user2

pdbedit -L # 列出所有的账号

测试:

打开IE浏览器输入 然后输入用户名和密码

3. 使用linux访问samba服务器

Samba服务在linux下同样可以访问。前提是你的linux安装了samba-client软件包。安装完后就可以使用smbclient命令了。

smbclient //IP/共享名 -U 用户名

如:[root@localhost]# smbclient //10.0.4.67/myshare/ -U user1

Password:

Domain=[LOCALHOST] OS=[Unix] Server=[Samba 3.0.33-3.29.el5_6.2]

smb: \

出现如上所示的界面。可以打一个”?”列出所有可以使用的命令。常用的有cd, ls, rm, pwd, tar, mkdir, chown, get, put等等,使用help + 命令可以打印该命令如何使用,其中get是下载,put是上传。

另外的方式就是通过mount挂载了:

如:

mount -t cifs //10.0.4.67/myshare /mnt -o username=user1,password=123456

格式就是这样,要指定-t cifs //IP/共享名本地挂载点 -o后面跟username 和 password

挂载完后就可以像使用本地的目录一样使用共享的目录了。

samba服务器的安装及相关配置

准备工作:下载redhat系统镜像如果有本机系统的ISO镜像就不用了,没有可以在【5分享】下载。

iptables -I INPUT -p udp --dport 137 -j ACCEPT

iptables -I INPUT -p udp --dport 138 -j ACCEPT

iptables -I INPUT -p tcp --dport139 -j ACCEPT

iptables -I INPUT -p tcp --dport445 -j ACCEPT

Iptables -L 查看命令

Iptables -F 清除命令

/etc/init.d/iptables restart 重启或是  services iptables restart 或是直接把防火墙关闭

/etc/init.d/iptables save 保存

selinux关闭

vim /etc/selinux/config  enable改成 disable  保存重启

1,先查看安装情况:rpm -qa|grep samba

根据系统的安装情况选择下载或者通过光驱安装所缺的rpm包。

如果是centos可以试用yum install -y samba

redhat挂载镜像:

使用命令:mount  /dev/cdrom1  /mnt/cdrom1

通过mount把cdrom1挂载到系统临时目录/mnt/cdrom1,在Packets包下面使用命令:rpm -ivh samba.*.rpm包安装。

切换到放置rpm文件的目录

[root@smb_server  root]# rpm  -ivh samba-common-3.6.9-151.el6.x86_64

这是Samba 必备的程序,必须安装

[root@smb_server  root]# rpm  -ivh samba-3.6.9-151.el6.x86_64

安装Samba 服务器程序,可以使我Windows 主机访问Samba 服务器共享的资源。

如果需要使Linux 主机访问Windows 主机上的共享资源,则还应该安装Samba 客户端程序。

[root@smb_server  root]# rpm  -ivh samba-client-3.6.9-151.el6.x86_64

linux怎么配置samba服务器

linux系统下配置samba服务器过程:

首先需要登入安装了Linux系统的计算机,安装Samba。Fedora发行版一般使用yum工具安装Samba服务器,可以使用“rpm -q samba”查询Samba服务器是否已经安装,当然,也可以直接使用“yum install samba”安装Samba服务器。如果Samba已经安装,yum会给出提示,否则按照步骤,输入“y”就可以直接下载安装Samba服务器了。

安装完成之后,需要查看一下Samba是否已经加入到自启动服务。使用“/sbin/chkconfig | grep smb”和“/sbin/chkconfig | grep nmb”命令可以查看smb和nmb是否加入到系统服务。(SMB是Samba共享服务,nmb是NetBIOS服务,为配合Windows使用,他们两个服务都要加入到系统服务中)。然后再使用“/sbin/service smb status”和“/sbin/service nmb status”查看服务是否已经启用。

接下来就要配置samba服务器了。编辑修改“/etc/samba/smb.conf”,设置共享和认证参数。如图就是我在用的Samba用户共享典型配置文件。编辑修改完成之后,可以使用“testparm /etc/samba/smb.conf”验证配置文件的有效性,以免因配置文件错误而导致Samba服务无法启动。

验证OK的话,接下来就是添加Samba共享用户了,使用“/usr/bin/smbpasswd -a 用户名称”的方式添加Samba共享用户,并为每个用户设置Samba共享认证的密码。

到这里基本上Samba服务器配置就完成了,如果上述步骤中smb和nmb服务没有自动添加到系统服务中,可以使用“/sbin/chkconfig --level 2345 smb on”和“/sbin/chkconfig --level 2345 nmb on”将其加入到系统服务中,其中2345是Linux的运行级别,一般都不会超出这几个运行级别。然后我们就可以使用“/sbin/service smb restart”和“/sbin/service nmb restart”重启服务了。

重启完成之后,Windows就可以访问用户共享了。在Windows资源管理器输入“\\共享IP地址\共享用户”,就可以访问用户自己目录下的全部文件了。

为了测试共享权限,我们进入用户共享目录,尝试在Windows资源管理器中创建一个“test”目录。

回到Linux的用户目录,我们就可以看到,Windows和Linux查看到的用户共享目录是一致的。(你可能觉得看到的文件和目录说不一致,这是因为我的Windows设置了显示隐藏文件和文件夹的缘故。)

图解过程:

给个采纳吧!!!

1条大神的评论

  • avatar
    访客 2022-07-08 下午 10:05:23

    cal/samba-4.1.14$ cp /home/anonymalias/Downloads/samba-4.1.14/examples/smb.conf.default  etc/smb.conf修改smb.conf中配置global段添加如下字段[global]...

发表评论