Debian下如何配置Samba服务器的方法详解

Debian下如何配置Samba服务器的方法详解,第1张

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目录拷贝一个文件。

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

1、安装有关Samba的RPM包(samba、samba-common、samba-client)

2、创建Samba用户

3、修改配置文件

4、重启samba服务

5、设置目录访问权限

6、测试

具体步骤如下:

1、安装RPM包(缺省情况下RHEL5安装了samba的相关软件包,可以用如下命令查看)

[root@localhost ~]#rpm -qa | grep samba

samba -----samba服务器程序的所有文件

samba-common -----提供了Samba服务器和客户机中都必须使用的公共文件

samba-client -----提供了Samba客户机的所有文件

samba-swat -----以Web界面的形式提供了对Samba服务器的管理功能

2、创建samba用户

[root@localhost ~]#smbpasswd -a user1 (“-a”是创建samba用户,“-x”是删 [root@localhost ~]#smbpasswd -a user2 除samba用户,“-d”是禁用samba用

[root@localhost ~]#smbpasswd -a user3 户帐号,“-e”是启用samba用户帐号)

3、修改配置文件

samba配置文件的位置:/etc/samba/smbconf

[root@localhost ~]#vim /etc/samba/smbconf

Vi大开配置文件后,首先介绍一下Samba服务器的安全级别,如图所示:系统默认设置“user”

Samba服务器的安全级别分为5种,分别是user、share、server、domain和ads。在设置不同的级别时,samba服务器还会使用口令服务器和加密口令。

1、user -----客户端访问服务器时需要输入用户名和密码,通过验证后,才能使用服务器的共享资源。此级别使用加密的方式传送密码。

2、share -----客户端连接服务器时不需要输入用户名和密码

3、server -----客户端在访问时同样需要输入用户名和密码,但是,密码验证需要密码验证服务器来负责。

4、domain -----采用域控制器对用户进行身份验证

5、ads -----若samba服务器加入到Windows活动目录中,则使用ads安全级别,ads安全级别也必须指定口令服务器

共享目录的配置

[homes] -----samba用户的宿主目录

comment = Home Directories -----设置共享的说明信息

browseable = no -----目录浏览权限

writable = yes -----用户对共享目录可写

这个共享目录只有用户本身可以使用,默认情况下,用户主目录位于/home目录下,每个Linux用户有一个以用户名命名的子目录。

以下是共享打印机的设置:

[printers] -----共享打印机

comment = All Printers -----设置共享的说明信息

path = /var/spool/samba -----指定共享目录的路径

browseable = no -----目录浏览权限

guest ok = no -----允许来宾访问

writable = no -----用户对共享目录可写

printable = yes -----可以打印

以上是系统默认设置

添加自定义的共享目录:( user1对/ASUS有所有权,user2拥有只读权限,其他用户不能访问;public共享目录允许所有用户访问及上传文件)

[ASUS]

comment = user1 Directories -----设置共享的说明信息

browseable = yes -----所有samba用户都可以看到该目录

writable = yes -----用户对共享目录可写

path = /ASUS -----指定共享目录的路径

[public]

comment = all user Directories -----设置共享的说明信息

browseable = yes -----所有samba用户都可以看到该目录

writable = yes -----用户对共享目录可写

path = /public -----指定共享目录的路径

guest ok = yes -----允许来宾访问

4、修改完配置文件后需要重启samba服务

[root@localhost ~]#service smb restart

Samba服务器包括两个服务程序

2 smbd

smbd服务程序为客户机提供了服务器中共享资源的访问

2 nmbd

nmbd服务程序提供了NetBIOS主机名称的解析,为Windows网络中域或者工作组内的主机进行主机名称的解析

5、设置目录权限

[root@localhost ~]#mkdir /ASUS ------创建要共享目录

[root@localhost ~]#mkdir /public ------创建要共享的目录

[root@localhost ~]#chmod 750 /ASUS ------修改/ASUS权限(属主拥有

所有权,属组只读,其它用户不能访问)

[root@localhost ~]#chown user1 /ASUS ------将/ASUS的属主改为user1

[root@localhost ~]#groupadd ASUS ------添加ASUS组

[root@localhost ~]#usermod –G ASUS user1 ------将user1加入到ASUS组

[root@localhost ~]#usermod –G ASUS user2 ------将user2加入到ASUS组

[root@localhost ~]#chgrp ASUS /ASUS ------将/ASUS的属组改为

ASUS

[root@localhost ~]#chmod 777 /public ------给所有用户分配完全控制

权限

配置完成后,还要检查/etc/service文件中以“netbios”开头的记录,正确的文件

记录如下所示,如果这些记录前有#或没有这些记录,应手工添加,否则用户无

法访问Linux服务器上的共享资源

6、测试

找一台内网windows客户端,打开“网上邻居 ”,输入samba服务器的IP点击

“搜索”

如图所示:已经搜索到

双击打开,如图所示:提示输入用户名和密码,先来输入user1的用户名和密码

作测试。

登录成功,

打开user1的宿主目录,此目录user1是拥有所有权限的,创建一个目录测试一

下,如图所示:可以创建

Public目录是允许任何用户上传、下载及删除文件,如图所示

User1对ASUS目录拥有完全控制权限,所以user1可以在此目录下作任何操作

切换另一个用户测试,由于我们在同一台计算机上作测试,测试之前首先要清楚

计算机上的缓存,如图所示:打开 “命令提示符模式”,“net use /del ”是清

除计算机上缓存

重新打开网上邻居,找到Samba 服务器的共享资源,以user2的身份登录

以下几幅可以看到,user2对ASUS目录拥有只读权限,对public、user2目

录拥有所有权

再切换一个用户登录,记得要清除缓存哦,输入user3的用户名及密码

如图所示:user3无法访问ASUS目录

User3只对user3和public目录拥有所有权

1、设置要先安装,安装完编辑配置文件即可。

1)、安装

在Debian上:

# aptitude install samba

在CentOS上:

# yum install samba

2)、添加用户

adduser <username>

3)、添加用户到Samba,使用带有‘-a’选项的smbpasswd命令来完成,该命令指出后面的用户名将被添加到本地smbpasswd文件中。我们将被提示输入密码(该密码无需和本地Unix帐号的密码相同):

# smbpassword -a <username>

4)、最后配置samba目录即可。

2、Windows端使用samba,只需要映射一下samba服务器的文件夹即可。具体

1)在计算机上右击,然后选择“映射网络驱动器”:

2)输入安装了Samba的机器的IP地址,后跟共享名(就是smbconf文件中方括号括起来的那个名称),然后确保选中了“使用不同的凭据连接”:

3)、输入先前用‘smbpasswd -a’设置的用户名和密码:

4)进入计算机,然后检查网络驱动器是否被正确添加即可。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » Debian下如何配置Samba服务器的方法详解

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情