Linux下如何搭建SAMBA服务器,第1张

1、相关的文件

samba-common samba服务器的主文件

samba 服务器端的软件

samba-client 客户端的软件

redhat-config-samba 图形界面的配置文件

samba-swat web配置工具

2、步骤

1)安装SAMBA服务器

(1)检测是否安装samba

#rpm -qa | grep samba

(2)安装:将第一张光盘放入光驱

#mount /mnt/cdrom

#cd /mnt/cdrom/RedHat/RPMS

#ls samba

#rpm -ivh samba-common-227a-790i386rpm

#rpm -ivh samba-227a-790i386rpm

#rpm -ivh samba-client-227a-790i386rpm

#cd /

#umount /mnt/cdrom

#eject

2)设置samba的密码文件

(1)成批用户密码文件的生成

#cat /etc/passwd | mksmbpasswdsh > /etc/samba/smbpasswd

(2)删除一些无用的shell帐户

#vi /etc/samba/smbpasswd

从1到9。

(3)设置目录和文件的权限

#chown rootroot /etc/samba/smbpasswd

#chmod 500 /etc/samba

#chmod 600 /etc/samba/smbpasswd

#ll -d /etc/samba

(4)单个用户设置samba密码

#useradd wujianan

#passwd wujianan

#smbpasswd -a wujianan

3)启动samba服务器

#service smb start

#pstree | grep mbd

#smbclient -L localhost或者IP地址

4)配置samba的共享

#vi /etc/samba/smbconf

[global]

workgroup = workgroup

server string = samba server

;hosts allow = 1921681 1921682 127

printcap = /etc/printcap

load prints = yes

printing = cups

;guest account = pcguest

log file = /var/log/samba/%mlog

max log size = 0

安全选项

security = user(share)

encrypt passwords = yes

smb passwd file = /etc/samba/smbpasswd

;interfaces = 192168122/24 192168132/24

dns proxy = no

设置每个用户主目录共享

[homes]

comment = Home Directries

browseable = no 不允许浏览共享文件夹

writeable = yes 允许写入

valid users = %s

create mode = 0664

directry mode = 0775

[printers]

comment = All prints

path = /var/spool/samba

browseable = no

printable = yes

[doc]

comment = doc

path = /home/doc

browseable = no

writeable = no或 read only = yes

guest ok = yes

示例:

要求:创建一个共享目录,所有用户都可访问,权限为只读。

#vi /etc/samba/smbconf

workgroup = workgroup

server string = samba server

netbios name = RH9

dos charset = cp936

unix charset = cp936

secrity = share

[read]

comment = read

path = /home/read

public = yes

guest ok = yes

read only = yes

保存退出

#mkdir /home/read

#service iptables stop

#service smb start

#testparm

\\ip地址

创建一个可写的目录,允许所有用户可写入。

[write]

comment = write

path = /home/write

public = yes

guest ok = yes

writeable = yes

保存退出

#mkdir /home/write

#chmod 777 /home/write

#service iptables stop

#service smb restart

为指定的用户和组访问samba服务器

#useradd mehost

#passwd wujianan

#smbpasswd -a wujianan

#mkdir /var/samba/wujianan

#chown stu1stu1 /var/samba/wujianan

#vi /etc/samba/smbconf

security = user

[wujianan]

comment = wujianan

path = /var/samba/wujianan

valid users = wujianan

public = yes

writeable = yes

保存退出

#service smb restart

最简单的**服务器的配置

#vi /etc/samba/smbconf

workgroup = workgroup

server string = movies server

guest account = nobody

security = share

client code page = cp936

wins support = yes

[movies]

comment = movies

browseable = yes

writeable = no

path = /movies

guest ok = yes

read only = yes

保存退出

#mkdir /movies

#useradd admin -d movies

#passwd admin

#vi /etc/passwd

admin:x:0:500::/movies:/bin/bash

保存退出

#ntsysv

选择smb和vsftp项

#service smb start

#service vsftpd start

#service iptables stop

许多用户还不知道win7系统如何配置samba服务器?samba服务能提供文件共享服务,它的优点在于很方面在windows和linux之间进行文件共享服务。如何配置samba服务器呢?这个软件配置起来也不难,使用也非常简单。接下去我们一起看下配置方法。

具体方法如下:

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

“yuminstall-ysambasamba-client”

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

[global]

workgroup=MYGROUP

serverstring=SambaServerVersion%v

security=user

passdbbackend=tdbsam

loadprinters=yes

cupsoptions=raw

[homes]

comment=HomeDirectories

browseable=no

writable=yes

[printers]

comment=AllPrinters

path=/var/spool/samba

browseable=no

guestok=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域控制服务器来验证用户的账户及密码。

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

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

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

pdbedit_ausername:新建Samba账户。

pdbedit_xusername:删除Samba账户。

pdbedit_L:列出Samba用户列表,读取passdbtdb数据库文件。

pdbedit_Lv:列出Samba用户列表详细信息。

pdbedit_c“[D]”_uusername:暂停该Samba用户账号。

pdbedit_c“[]”_uusername:恢复该Samba用户账号。

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

loadprinters和cupsoptions两个参数用来设置打印机相关。

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

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

hostsallow=1271921681219216813#用来设置允许的主机,如果在前面加”;”则表示允许所有主机

logfile=/var/log/samba/%mlog#定义samba的日志,这里的%m是上面的netbiosname

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

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

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

samba实践

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

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

打开samba的配置文件/etc/samba/smbconf

[global]部分

把”MYGROUP”改成”WORKGROUP”

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

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

[share]

comment=shareall

path=/tmp/samba

browseable=yes

public=yes

writable=no

mkdir/tmp/samba

chmod777/tmp/samba

启动samba服务

/etc/initd/smbstart

测试:

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

testparm

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

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

打开samba的配置文件/etc/samba/smbconf

[global]部分内容如下:

[global]

workgroup=WORKGROUP

serverstring=SambaServerVersion%v

security=user

passdbbackend=tdbsam

loadprinters=yes

cupsoptions=raw

然后加入以下内容:

[myshare]

comment=shareforusers

path=/samba

browseable=yes

writable=yes

public=no

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

mkdir/samba

chmod777/samba

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

useradduser1user2

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

pdbedit-auser2

pdbedit-L#列出所有的账号

测试:

打开IE浏览器输入file://IP/myshare/然后输入用户名和密码

3使用linux访问samba服务器

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

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

如:[root@localhost]#smbclient//100467/myshare/-Uuser1

Password:

Domain=[LOCALHOST]OS=[Unix]Server=[Samba3033-329el5_62]

smb:\

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

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

如:

mount-tcifs//100467/myshare/mnt-ousername=user1,password=123456

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

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

上述就是win7系统配置samba服务器的方法了,感兴趣的用户可以一起来设置下。

你使用的是什么发行版?是centos么?如果是的话就跟随以下我的方法来设置吧。

samba这款软件应用确实非常广泛,同时也为linux和windows之间文件传输提供了一个非常轻松的方式,同时它的安装方法也是非常简单的,我的方法适用于centos68及其以前的系统。

1首先,看看系统里面有没有装samba,这是最关键的一步,不然接下来可能会出问题。默认情况下,centos系统在默认安装中应该已经安装了Samba服务包的一部分 。

rpm -qa | grep samba   //默认情况下可以查询到两个已经存在的包:

samba-client-3033-37el5

samba-common-3033-37el5

2上网找找samba主rpm包。

不过我这里先前就已经找过一个包,在服务器上执行wget下载就好了。

[root@chunming-pc`]# wget ftp://195220108108/linux/fedora-secondary/releases/23/Everything/s390/os/Packages/s/samba-430-01rc4fc23s390rpm

然后下载完成之后使用以下命令安装即可(例如我这里下载的是samba-430-01rc4fc23s390rpm)

[root@chunming-pc`]# rpm -ivh samba-430-01rc4fc23s390rpm

然后安装完成之后就是需要修改配置文件了。

找到/etc/samba/smbconf,打开它,然后把这段写入smbconf中 

[global]

    workgroup = LinuxSir

   netbios name = LinuxSir05

   server string = Linux Samba Server TestServer

   security = share

[linuxsir]

    path = /opt/linuxsir

    writeable = yes

    browseable = yes 

    guest ok = yes

[global]这段是全局配置,是必段写的。其中有如下的几行;

workgroup 就是Windows中显示的工作组;在这里我设置的是LINUXSIR (用大写);

netbios name 就是在Windows中显示出来的计算机名;

server string 就是Samba服务器说明,可以自己来定义;这个不是什么重要的;

security 这是验证和登录方式,这里用了share ;验证方式有好多种,这是其中一种;另外一种常用的是user的验证方式;如果用share呢,就是不用设置用户和密码了;

[linuxsir] 这个在Windows中显示出来是共享的目录;

那么path = 可以设置要共享的目录放在哪里;

writeable 是否可写,这里设置为可写;

browseable 是否可以浏览,可以;可以浏览意味着,在工作组下能看到共享文件夹。如果不想显示出来,那就设置为 browseable=no,guest ok 匿名用户以guest身份是登录;

之后就是需要建立相应目录并授权:

[root@chunming-pc ~]# mkdir -p /opt/linuxsir

创建之后,会发现所属用户和组是root,只需要chown 将对应的目录所属改成samba这个软件的用户就可以了。

然后到现在配置就完成了,把服务起来iptables开放端口就可以给外网访问了。

Samba是在Linux及Unix上实现SMB(Server Message Block)协议的一个免费软件,由服务器及客户端程序构成。这里我们只介绍服务器程序。

我们首先介绍一些SMB协议的情况。SMB协议是建立在NetBIOS协议之上的应用协议,是基于TCP138、139两个端口的服务。NetBIOS出现之后,Microsoft就使用NetBIOS实现了一个网络文件/打印服务系统。这个系统基于NetBIOS设定了一套文件共享协议,Microsoft称之为SMB(Server Message Block)协议。这个协议被用于Lan Manager和Windows服务器系统中,实现不同计算机之间共享打印机和文件等。因此,为了让Windows和Unix/Linux计算机相集成,最好的办法就是在Unix/Linux计算机中安装支持SMB协议的软件。这样使用Windows的客户端不需要更改设置,就能像使用Windows NT或Windows 2000服务器一样,使用Unix/Linux计算机上的共享资源了。Samba使SMB协议运行在NetBIOS协议上,并且使用Windows的NetBEUI协议让Unix/Linux服务器可以在Windows的网络邻居上被访问到。

Samba的服务器程序可以实现以下主要功能:

◆ 文件及打印共享;

◆ 计算机名与IP的解悉;

◆ WINS服务的支持;

◆ 用户权限设置(如果配合Linux 的Quota还可以实现用户磁盘空间配额)

1 介绍

如果某一个单位,他们的桌面计算机必须使用M$ Windows平台的话,那么他们很可能不可避免的需要Windows服务器产品,比如Windows NT Server或者Windows 2000 Server,甚至Windows 2000 Advanced Server。要知道,要合法的拥有这些服务器的软件(按照微软的所谓许可协议购买连接数)的话,再加上昂贵的硬件费用,可并不是一比小费用。如果有一个途径,可以让你在普通硬件的基础上,免费实现Windows NT/2000服务器的功能,你说,何乐而不为呢?

这就是桑巴,一个免费的,强大的,灵活的,轻便的,samba。

2 背景介绍

我的有一台安装了win2000的机器,叫做notepad,它属于workgroup这个工作组。

我的Debian GNU/Linux安装在一台普通的台式计算机上,机器名字叫debian,域名叫testcom。

3 安装

31 软件版本

由于我们用的sid的sourceslist,所以得到的是2ArrayArray版+30Alpha版的samba。其配置方法与以前版本有些不同。

32 安装

安装过程非常简单:

apt-get install samba

系统会问你,请参考这些答案:

用debconf配置samba吗?Yes。

输入工作组名,或者域名:workgroup。

使用口令加密?Yes。

以什么方式运行samba?我们选择默认的daemons方式,让他在后台监听。

创建samba口令库?Yes。

4 小测试

你也许不相信,但是现在,你已经可以在Windows的网上邻居里面看到这台名字叫Debian的Linux主机了!

找到网上邻居的workgroup组,你会发现她确实已经在那里了。怎么样,振奋吧!

不过,你会发现,无论你输入什么用户名和口令,都无法通过验证。那是因为,我们还没有告诉samba,验证哪些用户和口令。

5 快速入门

Samba只有一个配置文件!

那就是/etc/samba/smbconf。

下面这个只有几行的smbconf,就可以让samba为我们工作!

[global]

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

[tmp]

comment = Temporary file space

path = /tmp

read only = no

public = yes

6 配置

61 检查当前配置

我们的samba现在已经运行了,那么,它正在提供哪些服务呢?如果打开/etc/samba/smbconf,你可能会觉得内容太多,看不过来了;那好,我们有个命令可以用:testparm。这个命令,可以让我们检查smbconf的配置是否正确,而且还可以列出一个实际上有效的smbconf的内容:

# testparm

通过这个命令,你看到了吧,实际上发挥作用的配置,就是那么几行。

62 写一个最小的smbconf

实际上,为了做实验,我们可以写一个更小的smbconf,就向上一小节里面提到的那样。那个配置文件,可以让samba把/tmp共享,并且可以往里写文件。

好,我们不妨就采用上面这个文件吧,请你先将/etc/samba/smbconf改名,比如改为smbconfbackup,然后把上面的内容抄下来,保存为新的/etc/samba/smbconf。

记住,要是修改后的smbconf生效,需要重新启动samba:

# /etc/initd/samba restart

63 创建用户

在我们创建用户之前,没有人能够访问samba服务器,就是说,在windows平台上,无论用什么用户名和口令,都无法访问网上邻居里面的debian这台机器。

我们需要在/etc/samba/目录下面,生成一个文件,名字叫:smbpasswd:

# touch /etc/samba/smbpasswd

然后,使用smbpasswd命令,添加samba用户:

# smbpasswd -a kanaka

New SMB password:

Retype new SMB password:

这时,kanaka就被写进了/etc/samba/smbpasswd文件,kanaka就可以从windows访问samba了。

7 测试

在你的windows里面,找到网上邻居的debian,用刚才创建的用户,访问它,并向tmp目录拷贝一个文件。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » Linux下如何搭建SAMBA服务器

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情