当前位置:文档之家› SAMBA服务器

SAMBA服务器

SAMBA服务器
SAMBA服务器

8.1 SAMBA服务器

8.1.1 Samba概述

1.Samba的作用

建立计算机网络的目的之一就是为了能够资源共享,如今接入网络的计算机大多数使用Windows操作系统。为了能让使用Linux操作系统的计算机和使用Wmdows操作系统的计算机共享资源,需要使用Samba工具。

Samba是在Linux/Unix系统上实现SMB(Session Message Block)协议的一个免费软件,以实现文件共享和打印机服务共享,它的工作原理与Windows网上邻居类似。

SMB使Linux计算机在网上邻居中看起来如同一台Windows计算机。Windows计算机的用户可以“登录”到Linux计算机中,从Linux中复制文件,提交打印任务。如果Linux 运行环境中有较多的Windows用户,使用SMB将会非常方便。

如图8-1所示,图中的服务器运行Samba服务器软件,其操作系统是Linux。该服务器通过Samba可以向局域网中的其它Windows主机提供文件共享的服务。同时,在Linux服务器上还连接了一个共享打印机,打印机也通过Samba向局域网的其它Windows用户提供打印服务。

图8-1 由Samba提供文件和打印共享

2.Samba的组成

给Windows客户提供文件服务是通过samba实现的,这套软件由一系列的组件构成,主要的组件有:

1)smbd(SMB服务器)

smbd是Samba服务守护进程,是Samba的核心,时刻侦听网络的文件和打印服务请求,负责建立对话进程、验证用户身份、提供对文件系统和打印机的访问机制。该程序默认安装在/usr/sbin目录下。

2)nmbd(NetbioS名字服务器)

nmbd也是Samba服务的守护进程,用来实现“Network Brower”(网络浏览服务器)的功能,对外发布samba服务器可以提供的服务。用户甚至可以用Samba作为局域网的主浏览服务器。

3)smbclient(SMB客户程序)

是Samba的客户端程序,客户端用户使用它可以复制Samba服务器上的文件,还可以访问Samba服务器上共享的打印机资源。

4)testparm

该程序用来快速检查和测试Samba服务器配置文件smb.conf中的语法错误。

5)smbtar

smbtar是一个shell脚本程序,它通过smbclient使用tar格式备份和恢复一台远程Windwos的共享文件。

还有其它工具命令用来配置Samba的加密口令文件、配置用于Samba国际化的字符集。在Linux上,Samba还提供了挂载和卸载SMB文件系统的工具程序smbmount和smbumount。

8.1.2 Samba服务器的安装

用户在安装Red Hat Linux 9的时候,如果选择了安装所有软件包,那么Samba就已经安装上了;如果系统没有安装,则可以从光盘的Red Hat/RPMS目录下安装。

1.查询Samba是否已经安装

Red Hat Linux 9中提供了Samba服务器的RPM软件安装包,这里可以使用rpm命令来检查是否安装以及安装。安装Samba服务器需要以下软件包:

samba-2.2.7a-7.9.0.i386.rpm,Samba服务器软件。

samba-common-2.2.7a-7.9.0.i386.rpm,Samba服务器与客户端都需要的文件。

[root@rh9 root]# rpm -qa |grep samb //检查Samba的相关软件是否已经安装。

samba-2.2.7a-7.9.0

samba-common-2.2.7a-7.9.0

samba-client-2.2.7a-7.9.0 //Samba客户端软件。

2.安装Samba

如果输出如上所示的软件名称,则说明已经安装,否则可以使用下面的命令安装Samba 服务器软件。注意:要先安装samba-common-2.2.7a-7.9.0软件包,才能顺利完成另外2个软件包的安装。

[root@rh9 dhcp]# mount /mnt/cdrom

[root@rh9 dhcp]# cd /mnt/cdrom/Red Hat/RPMS

[root@rh9 root]# rpm -ivh samba-common-2.2.7a-7.9.0.i386.rpm

warning: samba-common-2.2.7a-7.9.0.i386.rpm: V3 DSA signature:

NOKEY, key ID db42a60e

Preparing... ########################################### [100%] 1:samba-common ########################################### [100%] [root@rh9 root]#

[root@rh9 root]# rpm -ivh samba-2.2.7a-7.9.0.i386.rpm

warning: samba-2.2.7a-7.9.0.i386.rpm: V3 DSA signature: NOKEY,

key ID db42a60e

Preparing... ########################################### [100%] 1:samba ########################################### [100%] [root@rh9 root]# rpm -ivh samba/samba-client-2.2.7a-7.9.0.i386.rpm

warning: samba-client-2.2.7a-7.9.0.i386.rpm: V3 DSA signature:

NOKEY, key ID db42a60e

Preparing... ########################################### [100%]

1:samba-client ########################################### [100%]

安装了Samba的上述公用软件包、服务器软件包和客户端软件包后就可以了,但为了配置的方便以及利用Red Hat Linux 9的新特性,建议再安装redhat-config-samba-1.0.4-1和samba-swat-2.2.7a-7.9.0两个软件包。这两个软件包在Red Hat Linux 9安装光盘里都有,其中redhat-config-samba-1.0.4-1.noarch.rpm在第1张光盘里,samba-swat-2.2.7a-7.9.0在第2张光盘里,安装方法和上面的相同。redhat-config-samba-1.0.4-1是Samba配置工具,使用它可以很方便地配置Samba。samba-swat-2.2.7a-7.9.0是用来修改samba配置文件的。

8.1.4 Samba服务器的启停

安装并配置好Samba后,可以在Linux终端将Samba启动,也可通过终端命令行将已经启动的Samba服务关闭。若要启动Samba,必须以管理员身份登录Linux,如果是以普通用户身份登录Linux,可以在终端使用命令“su -”暂时切换到系统管理员身份。

Samba服务器的启动、停止,以及当前所处状态的查询等操作,都可以通过service命令来实现。

[root@rh9 root]# service smb

用法:/etc/init.d/smb {start|stop|restart|reload|status|condrestart}

[root@rh9 root]# service smb start

启动SMB 服务:[ 确定]

启动NMB 服务:[ 确定]

[root@rh9 root]# service smb stop

关闭SMB 服务:[ 确定]

关闭NMB 服务:[ 确定]

[root@rh9 root]# service smb status

smbd 已停

nmbd 已停

2.使用chkconfig命令

若要系统每次启动时自动开启Samba服务,可以使用如下chconfig命令,下面的例子表示在系统进入第3和第5个级别时自动开启Samba服务。

[root@rh9 root]# chkconfig

chkconfig 版本1.3.8 - 版权(C)1997-2000 Red Hat, Inc.

在GNU 公共许可的条款下,本软件可以被自由发行。

用法:chkconfig --list [name]

chkconfig --add

chkconfig --del

chkconfig [--level ]

[root@rh9 root]# chkconfig --level 35 smb on

[root@rh9 root]# chkconfig --list smb

smb 0:关闭1:关闭2:关闭3:启用4:关闭5:启用6:关闭

3.使用ntsysv命令

也可以使用命令ntsysv打开图形化的命令行界面来设置,如图8-2所示。使用【Tab】键可以在“服务”、【确定】和【取消】之间切换,在“服务”窗口中使用方向键【↓】和【↑】可以将光标移动到想要设置的服务,然后使用【空格键】设置或者取消需要自动启动的服务(前面有“*”标志的服务将在每次开机时自动启动)。另外,按照界面下方的提示按【F1】键,可以获得有关某个服务的详细说明。

图8-2 设置系统服务(1)

如果是在图形界面下,除了使用上面介绍的方法外,还可依次单击【主菜单】→【系统设置】→【服务器设置】→【服务】,打开图8-3所示的界面,在该图像界面下用户也可以很方便的设置选中的服务。

8.1.3 Samba服务器的配置文件

Samba服务器的最主要的配置文件是/etc/smb/smb.conf,该文件中以“;”或“#”符号开头的都注释,该行的内容会被忽略而不生效。文件中以“#”开头的行是指说明,而以“;”开头的行则是表示目前该项停用,但可以根据今后的需要去掉前面的“;”使之生效。配置文件中的每一行都是以“设置项目=设置值”的格式来表示。

配置文件smb.conf主要是由两个部分所组成:Global settings和Share Definition。前者是与Samba整体环境有关的选项,这里的设置项目适用于每个共享的目录;后者是针对不同的共享目录的个别设置。在开始修改配置文件之前,必须先了解下列的重点内容。

图8-3 设置系统服务(2)

1.Global settings

本部分参数主要有基本设置参数、安全设置参数、网络设置参数、文件设置参数、打印机设置参数、用户权限设置参数和日志设置参数等。

1)workgroup = MYGROUP

此项用来设置在Windows操作系统的“网络邻居”中将会出现的Samba服务器所属的群组,默认为MYGROUP,不区分大小写。

2)server string = Samba Server

此项用来设置Samba服务器的文字说明,以方便客户端得识别,默认为“Samba Server”。

3)hosts allow = 192.168.1. 192.168.2. 127.

该项用来设置哪些主机允许访问Samba服务器,默认为全部。如果设置的项目超过一个,必须以逗号、空格或制表键来分隔开。“hosts allow = 192.168.1. 192.168.2. 127.”表示允许来自192.168.1.*、192.168.2.*和127.*.*.*的主机连接。

另外,也可以采用其它的一些表示方法,如:“hosts allow =192.168.1. except 192.168.1.5”表示允许来自192.168.1.*的所有主机连接,但排除了192.168.1.5。“hosts allow = 192.168.1.0/255.255.255.0”表示允许来自192.168.1.0子网的所有主机连接。“hosts allow = host1,host2”表示允许名字是host1和host2的主机连接。“hosts allow = @https://www.doczj.com/doc/1611646189.html,”表示允许来自https://www.doczj.com/doc/1611646189.html,网域的所有主机连接。

4)printcap name = /etc/printcap

此项是用来设置开机时,自动加载的打印机配置文件的名称和路径。

5)load printers = yes

表示是否允许打印机在开机时自动加载到浏览列表(Browsing List),以支持客户端的浏览功能,即是否共享打印机。

6)printing = cups

此项用来指定打印系统的类型,在一般情况下并不需要修改此项。目前支持的打印系统有:bsd、sysv、plp、lprng、aix、hpux、qnx和cups。

7)guest account = pcguest

pcguest为用户名,可改去掉前边的“;”让用户以pcguest身份匿名登录,但要保证/etc/passwd中有此账号。

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

此项为所有连接到Samba服务器的计算机建立独立的记录日志。其默认保存的位置是/var/log/samba/。

9)max log size = 0

此项设置每个记录日志的大小上限,单位是KB。默认值为0,表示没有大小的限制。Samba服务器会定期检查其上限,如果超过此设置值,就会重新命名此文件,并加上“.old”扩展名。

10)security = user

此项指定Samba服务器使用的安全等级为user级。此处可以用的安全等级有share、user、server和domain共4类。它们的区别,请参看本书稍后的内容。

11)password server =

此项默认不使用,而且只有在上个选项设置为“security = server”时才生效。它用来指定密码验证服务器的名称,此处必须使用NETBIOS名称,默认是网络中的域控制器。也可以使用“password server=*”的方式自动寻找网络中可用的域控制器。

12)password level = 8

这个选项是为了避免Samba服务器和客户端之间允许的密码最大位数不同,而产生的

错误。

13)username level = 8

这个选项是为了避免服务器和客户端之间允许账号最大位数不同而产生的错误。

14)encrypt passwords = yes

此项表示是否指定用户密码以加密的形式发送到Samba服务器。由于目前Windows操作系统都已经使用加密的方式来发送密码,因此建议启用该选项。否则,要改Windows注册表。

15)smb passwd file = /etc/samba/smbpasswd

该选项用来指定Samba服务器使用的密码文件路径。默认情况下,该文件并不存在,需要用户自己建立。

16)ssl CA certFile = /usr/share/ssl/certs/ca-bundle.crt

该选项用来指定包含所有受信任CA名称的文件。当需要配置Samba服务器支持SSL 时,必须读取这个文件的内容。在默认情况下,该选项未被启用。

17)unix password sync = Yes

当Samba服务器密码文件smbpasswd中的加密密码内容修改时,用这个选项来将Samba 和UNIX中的密码进行同步。在默认情况下使用该功能,在运行密码同步之后,旧的UNIX 密码将不能在用于登录系统。

18)passwd program = /usr/bin/passwd %u

此选项默认时启用,用来指定设置UNIX密码的程序,默认值是“/usr/bin/passwd %u”,其中“%u”表示用户的名称。

19)passwd chat = *New*password* %n\n *Retype*new*password* %n\n *passwd:*all *authentication*tokens*updated*successfully*

设置用户把Linux密码转换为Samba服务器密码时,屏幕出现的指示字符串,以及与用户产生的交互窗口。如果使用默认值,则屏幕上显示如下字符串。

New password:

Retype new password:

passwd: all authentication tokens successfully.

20)pam password change = yes

此项表示可以使用PAM来修改Samba客户端的密码。PAM可以允许管理员设置多种验证用户身份的方式,而不需要重新编译用于验证的程序。

21)username map = /etc/samba/smbusers

此项指定一个配置文件,在此文件中包含客户端与服务器端上用户的对应数据。可以将同一个UNIX账号名对应到多个Samba账号,账号之间用空格间隔。如果每个客户端用户在Samba服务器上都拥有单独的Samba账号,则该项不需设置。默认情况下,该选项未启用。

22)include = /etc/samba/smb.conf.%m

允许Samba服务器使用其它的配置文件,可以方便管理员事先为不同的主机设计合适的配置文件。默认情况下,该选项未启用。

23)obey pam restrictions = yes

该选项用来设定是否采用PAM帐号及会话管理。默认情况下,该选项未启用。

24)socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

此选项在编写TCP/IP程序时相当重要,可以借此调整Samba服务器运行时的效率。可

以使用“man setsockopt”命令来得到详细的内容。

25)interfaces = 192.168.12.2/24 192.168.13.2/24

该选项可以使Samba服务器监视多个网络接口。在设置时,等号右边可以使用IP地址、网络接口名、或者是IP/子网掩码的组合。

26)remote announce = 192.168.1.255 192.168.2.44

此项允许NMDB(NetBIOS域名服务器)定期公布Samba服务器的IP地址和群组名称到远程的网络或主机。默认情况下,该选项未启用。

27)local master = no

此选项表示是否允许nmbd担任Local Master浏览器的角色,在默认的配置下并不使用此功能。如果设置值为“no”,则nmbd将不会成为子网中的Local Master浏览器,但是如果设置值为“yes”,也不是表示nmbd一定会是Local Master 浏览器,而是指nmbd将会参加Local Master浏览器的选举。

28)os level = 33

选项的设置值是用来决定Local Master浏览器选举时的优先次序,数值越高表示优先次序也越高,一般来说,Samba服务器都具有很高的优先权,但是在默认的配置下并不使用此功能。

29)domain master = yes

使用这个选项后,表示这台Samba服务器可担任网络中的Domain Mastor Browser,它便可以集中来自所有子网的浏览列表。但如果网络中已有域控制器在担任此工作,则不可使用这个选项,以避免发生错误,在默认的配置下并不使用此功能。

30)preferred master = yes

使用这个选项后,Preferred Master可以在Samba服务器启动时,强制进行Local Browser 选择,同时Samba也会享有较高的优先级,但在默认配置下并不能使用此功能。

31)domain logons = yes

这个选项可以决定是否将Samba服务器当成Windows95工作站登录时的账号验证主机,默认并不使用此功能。

32)logon script = %m.bat

这个选项可以设置主机登录时自动运行的批处理文件。这个文件需符合DOS兼容的换行格式,同时也需要先使用“domain logons”选项才可生效,但在默认的配置下并不使用此功能。

33)logon script = %U.bat

这个选项可以设置用户登录时,自动运行的批处理文件。这个文件需符合DOS兼容的换行格式,同时也需先使用“domain logons”选项才可生效,但在默认的配置下并不使用此功能。

34)logon path = \\%L\Profiles\%U

这个选项可以设置用户在登录Samba服务器时所使用的个人配置文件(Profile)的位置。默认值中的“%L”表示这台服务器的NETBIOS名称,而“%U”是指用户名称,但在默认的配置下并不使用此功能。

35)wins support = yes

这个选项可用来决定是否将这台Samba服务器当成WINS务器,除非环境中包含多个子网,否则不建议使用此项目。另外,在同一个网络中最多可以使用一台WINS服务器,而默认并不使用此功能。

36)wins server = w.x.y.z

这个选项可用来设置WINS服务器的IP地址,而这台WINS服务器必须已在DNS服务

器中登记,在默认的配置下并不使用此功能。注意一点,Samba服务器可作为WINS服务器或WINS客户端,但不可同时担任这两种角色。

37)wins proxy = yes

这个选项可用来决定是否将此Samba服务器当成WINS代理,在默认的配置下并不使用此功能。WINS代理是指代替非WINS客户端向WINS服务器请求域名解析查询的计算机,因此在每个网段中至少要有一台WINS服务器。

38)dns proxy = no

该选项可用来决定是否将此Samba服务器当成DNS代理,默认的配置下并不使用此功能。DNS代理如果发现尚未注册的NetBIOS名称,可以决定是否将由DNS得到的名称当成NetBIOS名称。

39)preserve case = no

该选项可以用来决定新建文件时,文件名称大小写是否与用户输入相同,或自己指定,在默认的配置下并不使用此功能。

40)short preserve case = no

该选项可用来决定新建文件名符合DOS 8.3格式的文件时,文件名是否都用大写,或自己指定,在默认的配置下并不使用此功能。

41)default case = lower

该选项可用来决定新建文件时文件名称的大小写,在默认的配置下并不使用此功能。

42)case sensitive = no

该选项可以决定是否将大小写的文件名称视为不同,在默认的配置下并不使用此功能。但如果在Samba中,要以中文名称来为资源命名,则此处设置的值必须是“no”。

2.Share Definitions

以下包含许多以中括号([.])开头的区域,而每个区域各代表一个共享资源,也就是在Windows客户端上启动“网上邻居”时,会出现的共享文件夹,以下将以配置文件中默认的内容来说明配置选项的功能。

1)[homes]

当用户请求一个共享时,服务器将在存在的共享资源段中去寻找,如果找到匹配的共享资源段,就使用这个共享资源段。如果找不到,就将请求的共享名看成是用户的用户名,并在本地的password文件里找这个用户,如果用户名存在且用户提供的密码是正确的,则以这个home段克隆出一个共享提供给用户。这个新的共享的名称是用户的用户名,而不是home,如果home段里没有指定共享路径,就把该用户的主目录(home directory)作为共享路径。

通常的共享资源段能指定的参数基本上都可以指定给[home]段。但一般情况下[home]段有如下配置就可以满足普通的应用。

comment = Home Directories //共享目录的文字描述。

browseable = no //不允许浏览主目录,即该目录内容只对有权限的用户可见。

writable = yes //允许用户写入目录。

valid users = %S //允许访问该目录的用户,%S表示当前登录的用户。

create mode = 0664 //新建文件的缺省许可权限。

directory mode = 0775 //新建目录的默认权限。

map to guest = bad user

当用户输入不正确的账号和密码时,可以利用“map to guest”选项来设置处理的方式,但在使用此选项前,必须将“security”选项设为“user”、“server”或“domain”。可用的设

置值如表所示。

表map to guest的可选值

注意,如果在[home]段里加了“guess access = ok”,所有的用户都可以不要密码就能访问所有的主目录!

2)[netlogon]

comment = Network Logon Service //共享目录的文字描述。

path = /usr/local/samba/lib/netlogon //共享目录的本机路径。

guest ok = yes //连接时不需要输入密码。

writable = no //不允许写入共享目录。

share modes = no //是否允许目录中的文件在不同的用户之间共享。

3)[Profiles]

path = /usr/local/samba/profiles //共享目录的本机路径。

browseable = no //是否允许浏览目录。

guest ok = yes //连接时是否需要密码。

4)[printers]

该段用于提供打印服务。如果定义了[printers]这个段,用户就可以连接在/etc/printcap 文件里指定的打印机。

当一个连接请求到来时,smbd去查看配置文件smb.conf里已有的段,如果和请求匹配就用那个段,如果找不到匹配的段,但[home]段存在,就用[home]段。否则请求的共享名就当作是个打印机共享名,然后去寻找适合的printcap文件,看看请求的共享名是不是个有效的打印共享名,如果是就克隆出一个新的打印机共享提供给客户。

comment = All Printers //共享打印机的文字描述。

path = /var/spool/samba //假脱机目录所在的位置。

browseable = no //不允许浏览与打印服务相关的假脱机目录。

public = yes //所有用户可以访问共享资源。

guest ok = no //连接共享资源时不需要输入密码。

writable = no //不允许写入与打印服务相关的假脱机目录。

printable = yes //实现打印共享。

注意:实现打印共享的配置段中,必须是“printable = yes”,如果指定为其它,则服务器将拒绝加载配置文件。通常,公共打印机的打印队列路径应该是任何人都有写入的权限。

另外,public=yes or no都不是针对限定用户的,而是针对未限定的用户。设置成yes就是所有的用户都能够访问,no就是仅限于限定的用户能够访问。

5)[tmp]

comment = Temporary file space //共享资源的文字描述。

path = /tmp //共享资源的本机路径。

read only = no //不只是允许读取。

public = yes //所有用户都可以访问共享资源。

6)[public]

comment = Public Stuff //共享资源的文字描述。

path = /home/samba //共享资源的本机路径。

public = yes //所有用户都可以访问共享资源。

writable = yes //目录允许写入。

printable = no //不允许打印共享。

write list = @staff //拥有写入权限的用户或群组(以@开头表示)。

另外,要让Samba服务器使用主机名能够正确的访问到相关的其它主机,如提供客户端身份验证的另一台服务器,还必须修改/etc/samba/lmhost文件。该配置文件的唯一功能是提供主机名与IP地址的对应关系,应该将网络中所有和Samba服务器有关的主机名与IP 地址的对应关系都记录到里面,每条记录占用一行。默认情况下,该文件的内容只有条记录“127.0.0.1 localhost”。

8.1.4 Samba服务器的安全等级

smb.conf配置文件的“security”选项,可以设置Samba服务器的安全性等级,直接影响客户端访问服务器的方式,是配置中最重要的项目之一。在Samba服务器中,共分为4种安全级别,分别如下:

1.share安全性等级

当客户端连接到具有Share安全性等级的Samba服务器时,不需要输入账号和密码等数据,就可访问主机上的共享资源,这种方式是最方便的连接方式,但是却无法保障数据的安全性。

其实在此安全性等级中,用户并非不需要任何的账号和密码就可登录,而是smbd会自动提供一个有效的UNIX账号来代表客户端身份,这个原理就和Web服务器及FTP服务器上的“匿名”(anonymous)访问相同。为了提供客户端有效的UNIX账号,smbd会自动决定最适合客户端的账号,并将这些可用的账号列成表,来满足不同用户的需求。

2.user安全性等级

在Samba 2.2中默认的安全性等级是“user”,它表示用户在访问服务器的资源前,必须先用有效的Samba账号和密码进行登录,如图8-4所示。在服务器尚未成功验证客户端的身份前,可用的资源名称列表并不会发送到客户端上。在此模式中,通常使用加密的密码,来提高验证数据传送的安全性。

图8-4 Samba服务器登录

应该特别注意的时,Samba服务器与Linux操作系统使用不同的密码文件,所以无法以

Linux操作系统上的账号密码数据登录Samba服务器。所以,应该自己建立原来在“smb passwd file”选项中,指定的/etc/samba/smbpasswd文件。

建立Samba密码文件并不需要手动的输入数据,只要先以管理员的账号登录Linux系统,然后利用名为“mksmbpasswd.sh”的Script程序,来读取Linux操作系统使用的密码文件(/ete/passwd),最后再转换成Samba密码文件即可。建立Samba密码文件的方法如下:

[root@rh9 root]# cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd

[root@rh9 root]# ls -l /etc/samba/smbpasswd

-rw-r--r-- 1 root root 3978 7月30 00:11 /etc/samba/smbpasswd

在Samba密码文件建立后,接下来的工作就是利用smbpasswd命令来设置Samba密码文件中每个Samba用户对应的密码。因此,该命令可以将已经存在的Linux系统登录账号转变为Samba用户帐号,这里以用户root为例。

[root@rh9 root]# smbpasswd root //生成root的Samba服务器登录密码。

New SMB password:

Retype new SMB password:

Password changed for user root.

Password changed for user root.

如果是添加新的用户,这时必须首先确保要添加的用户名在/etc/passwd文件中存在,否则将有“Failed to find entry for user xxxx”的提示信息出现。因此,要先使用useradd命令添加该账号为Linux系统登录账号,然后再用smbpasswd命令将其设置为Samba账号。smbpasswd常用的命令格式是:“smbpasswd [选项] [用户名]”。其中,常用的选项及其含义如表所示。从表可知,该命令还可以对Samba账号进行管理和维护。

表7.17 smbpasswd的主要选项及作用

选项作用

-a 添加Samba用户帐号。

-x 删除Samba用户帐号。

-d 关闭、停用Samba用户帐号。

-e 开放Samba用户帐户。

-h 显示该命令的帮助。

[root@rh9 root]# smbpasswd lihh //不存在的Linux系统登录账号lihh。

New SMB password:

Retype new SMB password:

build_sam_account: smbpasswd database is corrupt! username lihh not in unix passwd database! //用户名lihh在密码文件/etc/passwd中不存在。

Failed to find entry for user lihh.

Failed to modify password entry for user lihh //设置lihh的Samba登录密码失败。

[root@rh9 root]# useradd lihh //创建Linux系统登录账号。

[root@rh9 root]# smbpasswd -a lihh

New SMB password:

Retype new SMB password:

Added user lihh.

[root@rh9 root]# smbpasswd -d lihh

Disabled user lihh.

[root@rh9 root]# smbpasswd -e lihh

Enabled user lihh.

[root@rh9 root]# smbpasswd -x lihh

Deleted user lihh.

3.server安全性等级

如果使用,用户在访问服务器资源前,同样也须先用有效的账号和密码进行登录,但是客户端身份的验证会由另一台服务器负责。因此,在设置server安全性等级时,必须同时指定“password server”选项。如果验证失败,服务器会自动将安全性等级降为“user”,但如果使用加密密码,那Samba服务器将无法反向检查原有的UNIX密码文件,所以必须指定另一个有效的smbpasswd文件,来进行客户端的身份验证。因此,应该设置smb.conf文件中的以下选项。

security = server //设置SAMBA服务器使用server安全性等级。

password server = //设置Samba服务器的netbios计算机名。

smb passwd file = /etc/samba/smbpasswd //SMB服务器使用的密码文件路径。

4.domain安全性等级

如果目前的网络结构为网域(Domain)而不是工作组(Workgroup),这时可以使用domain 安全性等级,以将Samba服务器加入现有的网域中。也就是说,不担任账号与密码的验证工作,而是由网络中的域控制器(Domain Controller , DC)统一处理。

要将城Samba服务器加入现有的网域,可以使用以下的指令格式:

[root@rh9 root]#smbpasswd -j Samba主机名-r DC

在运行以上的指令后,还需要修改smb.conf文件中[global]部分的以下配置选项。

workgroup = domain_name //指定Samba服务器要加入的网域。

security = domain //设置Samba服务器使用的安全性等级为domain。

password server = DC //指定进行身份验证的网域控制器名。

8.1.5 Samba服务器的配置

下面以实例的方法,说明Samba服务器的配置方法。在某局域网中,当前Linux主机的NETBIOS名称为rh9,主机所在的工作组为WORKGROUP,现在想在该Linux主机上创建目录/var/work,并使用Samba服务器进行共享,使得客户机上所有用户都可以通过Samba 服务匿名访问该目录,无须输入任何账号与口令,并且对该目录拥有可读可写的权限。配置过程如下:

1.创建目录共享目录

执行命令“rmdir -m 777 /var/work”,创建目录/mnt/work并设置其权限对所有用户都是可读、可写、可执行。

2.编辑配置文件

使用文本编辑程序(如vi)修改配置文件/etc/samba/smb.conf,确保里面的相关设置设定为如下内容,其它各项使用默认设定值即可。

[global] //设置全局配置。

workgroup = MYGROUP //设定工作组名称。

server string = Samba Server //对该主机的注释。

security = share //必须设定为share级,否则无法匿名登录。

netbios name = rh9 //设定在网络中的主机名

[work] //设置共享目录。

comment = A publicly accessible directory ! //共享目录的注释。

path = /var/work //共享资源的路径。

writable = yes //允许写入目录。

guest ok = yes //连接时不需要密码。

public = yes //所有未指定用户都可以访问。

3.语法查错

使用Samba安装后包含的工具——testparm,来测试smb.conf配置文件内的语法是否正确。如果设置时的语法都正确,那在运行testparm程序后,系统会出现以下画面。

[root@rh9 root]# testparm

Load smb config files from /etc/samba/smb.conf

Processing section "[homes]"

Processing section "[printers]"

Processing section "[work]"

Loaded services file OK.

Press enter to see a dump of your service definitions

在出现以上信息后,如果想查看详细的smb.conf配置文件内容,可以按Enter键,系统就会出现所有的选项设置。

测试的结果正常,也不保证Samba服务器就一定可以正常运行,因为这个程序仅针对语法来进行测试。

4.重新启动Samba服务器

执行“service smb restart”命令重新启动Samba服务器进程,使得修改后的配置文件生效。

5.访问Samba服务器

在Windows客户端上,双击【我的电脑】打开文件浏览器,然后在地址栏中输入“\\Samba 服务器名称或IP”,回车后在窗口中将看到Samba服务器上的共享资源,如图8-5所示。双击共享目录work的图标,不用输入用户名和密码即可进入共享目录,进行权限许可范围内的各种操作。

图8-5 从Windows访问Samba服务器

在Linux客户端上,双击用户主目录图标,打开文件浏览器,然后在地址栏中输入“smb://Samba服务器名称或IP”,在窗口中将看到Samba服务器上的共享资源,如图8-6所示。双击共享目录work的图标,不用输入用户名和密码即可进入共享目录,进行权限范围内的相关操作。

图8-6 从Linux访问Samba服务器

8.2.7 图形界面下配置Samba服务器

对于初学者用户,也可以在图形界面下配置Samba服务器。图形界面的配置虽然简单、直观,但对于某些高级选项,图形界面下的配置工具并不能够地很好实现。因此,要想对Samba服务进行精细化的管理,还是要采取直接编辑配置文件的方法实现。

依次单击【主菜单】→【系统设置】→【服务器设置】→【Samba服务器】菜单,或者直接执行“redhat-config-Samba”命令,系统会自动弹出如图8-7所示的“Samba服务器配置”窗口。

图8-7 Samba服务器配置主窗口

1.配置基本和安全性选项

Samba服务器的第一步是配置服务器的基本选型和安全选项。在图8-7所示界面中,选择“首选项”→“服务器设置”,打开“服务器设置”窗口,选择“基本”选项卡,如图8-8所示。

图8-8 “基本”选项卡图8-9 “安全性”选项卡

在“基本”选项卡上,指定计算机所属的工作组及计算机的简短描述。它们分别与配置文件smb.conf中的workgroup和server string选项相对应。

在“安全性”选项卡中,可以分别对验证模式、验证服务器、是否加密口令、以及来宾账号进行设置,如图8-9所示。它们分别与smb.conf中的security、password server、encrypt passwords、guest account选项相对应。

2.管理Samba用户

Samba服务器配置工具要求在添加Samba用户前,在充当Samba服务器的Red Hat Linux 9系统上必须存在一个活跃的用户账号。Samba用户和这个Linux用户账号相关联。

要添加Samba用户,可以在图8-7中选择“首选项”→“Samba用户”,然后单击【添加用户】按钮,弹出图8-10所示的“创建新Samba用户”对话框。

在“创建新的Samba用户”窗口中,从本地系统上的现存用户列表中选择“UNIX用户名”用来将其转换为Samba用户,如果用户想从Windows机器上登录并且使用一个不同的名字,就需要在“Windows用户名”字段中指定Windows用户名。还需要为Samba用户配置一个Samba口令,并再输入一次来确认这个口令。即便选择了为samba使用加密口令,仍建议为所有用户设置的Samba口令不同于他们的Linux系统登录口令。

图8-10 创建新Samba用户

另外,“服务器设置”首选项“安全”选项卡上的“验证模式”必须被设置为“用户”,才能使这里的设置在访问Samba服务器时有效。

要编辑某个现存Samba用户,可以从Samba用户列表中将其选中,然后单击【编辑用户】按钮。要删除某个现存的Samba用户,先选择这个用户,然后单击【删除用户】按钮。需要注意的是删除Samba用户并不会删除与其相关的Linux用户。

3.添加共享目录

要添加共享,可在图8-7所示界面中单击“添加共享”按钮,打开“创建samba共享”窗口,在“基本”选项卡中配置以下选项,如图8-11所示。

图8-11 “基本”选项卡图8-12 “访问”选项卡

1)“目录”:通过Samba服务器共享的目录。这个目录必须存在,这里配置为“/home/lihh/share”。

2)“描述”:是对共享资源的简短描述,可以设置也可以不设置。

3)在“描述”下面是用户访问该共享的基本权限,设置用户能读写共享目录中的文件还是仅仅只能读取。

在“访问”选项卡上,设置仅允许指定的用户访问共享还是允许所有的用户访问。如果选择“只允许指定用户的访问”,就从用户列表中选定用户,如图8-12所示。“基本”选项卡和“访问”选项卡设置完毕后,单击【确定】按钮后,共享就被添加。成功添加共享目录后的Samba服务器配置主窗口如图8-13所示。选中窗口中某一个共享项,还可以将其删除或修改其属性。修改后的设置,要重启Samba服务后才能生效。

图8-13 添加共享后的Samba服务器配置窗口

实验十三 Samba服务器配置及访问Samba共享

实验十三、Samba服务器配置及访问Samba共享 一、实验目的: 1.掌握Linux与Windows的资源共享和互访方法; 2.掌握Samba服务器的安装和配置方法; 3.使用samba共享用户认证和文件系统。 二. 实验内容: 1.利用rpm命令安装软件包; 2.安装、配置Samba服务器并启动; 3.从Linux访问Windows资源; 4.从Windows访问Linux的资源。 三、实验练习: 数据包过滤设定为无效状态。在本次试验开始之前,请确保主机上的所有包过滤已被关闭。缺省的安装将会有一个文件叫做“/etc/sysconfig/iptables”,该文件配置了iptable的功能。运行“chkconfig iptables off”。为了去除所有的规则,运行“service iptables stop”。配置虚拟机网络,使得虚拟机和主机能互通。 任务一、Samba的用户连接的配置 1、用命令检查一下samba套件是否已经被安装。#rpm –qa|grep samba。如果出现samba-common-2.2.7a-7.9.0 samba-client-2.2.7a-7.9.0 samba-2.2.7a-7.9.0 那么恭喜你,你已经安装好了samba,如果没有以上那些东西,请安装。安装方法很简单,redhat linux 9.0第一张光盘里就有//cdrom/RedHat/RPMS/

2. 把第一张光盘放进光驱,他会自动挂接的,省得自己动手mount了 #cd /mnt/cdrom/RedHat/RPMS(注意大小写字母,否则会出错的) #rpm -ivh samba-common-2.2.7a-7.9.0 (这个要先安装,安装的时候不一定要把后面的 samba-common-2.2.7a-7.9.0全部写完,比如写到samba-c的时候,多按几次Tab键即可) #rpm -ivh samba-2.2.7a-7.9.0 #rpm -ivh samba-client-2.2.7a-7.9.0(客户端) 安装了以上的东西之后,基本上就可以了,但为了配置的方便以及利用REDHAT LINUX9.0新特性,我建议再安装以下两个东西redhat-config-samba-1.0.4-1,samba-swat-2.2.7a- 7.9.0。光盘里都有,其中redhat-config-samba-1.0.4-1在第一张光盘里,samba-swat-2.2.7a-7.9.0 在第二张光盘里,安装方法和上面的一样。 #rpm -qa|grep samba redhat-config-samba-1.0.4-1 samba-common-2.2.7a-7.9.0 samba-client-2.2.7a-7.9.0 samba-swat-2.2.7a-7.9.0 samba-2.2.7a-7.9.0 OK,安装成功!(建议,以上东西最好自己安装一次,系统上如果装的有,还是先卸载,这样, 才能加深印象,如果卸载以后,安装出问题,可能是你没有完全卸载,解决方法要不继续查找卸载, 要不强制安装) 任务二、图形化配置 Samba 服务器 默认的配置文件(/etc/samba/smb.conf)允许用户作为 Samba 共享来查看他们的 Red Hat Linux 主目录。它还把为 Red Hat Linux 配置的打印机作为 Samba 共享打印机来共享。换一句话说,你可以在你的 Red Hat Linux 系统上连接打印机,然后从网络上的 Windows 机器来打印。

在Windows与Linux下Samba共享文件夹以及映射的详细使用说明

共享文件夹以及映射 目录 共享文件夹以及映射 (1) 一、设置Windows XP共享文件夹 (2) 二、设置Linux共享文件夹 (5) 三、访问共享资源以及映射共享资源 (8) 1、Linux系统下访问远程共享资源 (8) 2、Windows系统下访问远程共享资源 (10)

一、设置Windows XP共享文件夹 预设值Windows下的共享资源信息如下: IP地址:192.168.16.249 共享名:test001 共享帐号:user001 账号密码:antiy?100 Windows XP安装时缺省的共享是“简单共享”,是不安全的文件共享。 下面,在Windows下设置带有用户密码的文件共享。 1、首先,取消默认的“简单共享”。 打开“我的电脑”,依次点击“工具→文件夹选项”,在打开的对话框中选择“查看”选项卡,清空“使用简单共享(推荐) ”前的复选框。如图1-1所示。 图1-1 2、然后,创建共享用户。 单击“开始→设置→控制面板”,打开“用户帐户”,创建一个有密码的用户,假设用户名为“user001”,密码为“antiy?100”,需要共享资源的机器必须以该用户共享资源。 如图1-2所示。

3、接下来,设置共享目录。 假设为共享目录为Windows系统下NTFS分区上的目录test001,并设置只有用户user001可以共享该目录下的资源。 用鼠标右键单击要共享的目录“test001”,单击“共享和安全”,选择“共享→共享该文件夹”,点击“权限”,单击“删除”按钮将原先该目录任何用户(everyone)都可以共享的权限删除,再单击“添加”按钮,依次单击“高级→立即查找”,选择用户user001,单击“确定”添加用户user001,并选择用户user001的共享权限(这里是只读)。如图3-1到3-3所示。至此,共享目录已创建完成。 图3-1

实验6_Samba服务器搭建

实验6 实验报告 实验项目名称Samba服务器搭建 实验时间年月日(星期)第周节 实验地点(房间号) 实验台(机器号) 学号 实验成绩 姓名班级 教师评语 指导教师(签章): 实验目的(1)了解SMB的基本概念 (2)掌握Samba服务器的安装配置方法(3)熟练掌握Samba的应用配置 主要实验仪器设备 设备及软件名称规格数量工作状态出现问题备注CentOS 5.5 实验内容 1.安装Samba服务器 2.完成下列实例,并写出步骤和配置参数 学校现有3个系,要搭建一台Samba服务器,其目录如下: 公共目录/share; 计算机系computer; 英语系/English; 会计系/account 员工信息情况如下: 主管:院长master; 计算机系:系主任zhoudake、教师zhangbin、教师lihua 英语系:系主任liyongling、教师zhanglili、教师wangli 会计系:系主任dongwulun、教师zhangshang、教师lili 建立公共共享目录,允许所有教师访问,权限为只读。为三个系分别建立单独目录,只允许院长和相应系的教师访问,并且学校教师无法在“网络邻居”中查看到非本系共享目录。

实验步骤

1.使用smbclient命令,首先确保客户端已经安装了samba-client这个rpm包。当系统确认安装后,就可以使用此命令来连接服务器了。 列出目标主机共享目录列表语法格式如下: Smbclient-L目标IP地址或主机名-U登录用户名%密码 2. (1)建立各部门专用目录(这里只实现前两个系,最后一个系由读者完成) 使用mkdir命令,分别建立公共目录,计算机系和英语系存储资料的目录。 [root@zq~]#mkdir/share [root@zq~]#mkdir/computer [root@zq~]#mkdir/english (2)添加用户和组 先建立计算机系组,英语系组,然后使用useradd命令添加院长账号master和不同系教师的账号到不同的用户组中。 [root@zq~]#groupadd computer [root@zq~]#groupadd english [root@zq~]#useradd master [root@zq~]#useradd -g computer zhoudake [root@zq~]#useradd -g computer zhangli [root@zq~]#useradd -g english lihao [root@zq~]#useradd -g english haoqi (3)使用sampasswd -a zhoudake root@zq~]#smbpasswd -a zhoudake New SMB password: Retype new SMB password: Added user zhoudake. [root@zq~]#smbpasswd -a zhangli New SMB password: Retype new SMB password: Added user zhangli. [root@zq~]#smbpasswd -a lihao New SMB password: Retype new SMB password: Added user lihao. [root@zq~]#smbpasswd -a haoqi New SMB password: Retype new SMB password: Added user haoqi. (4)配置smb.conf 文件 1)建立配置文件 用户配置文件使用用户名命令,组配置文件使用组名命名。 [root@zq~]#vi /ect/samba/smb/.conf [root@zq~]#cp /ect/samba/smb/.conf /etc/samba/master.smb.conf [root@zq~]#cp /ect/samba/smb/.conf /etc/samba/computer.smb.conf [root@zq~]#cp /ect/samba/smb/.conf /etc/samba/english.smb.conf 2)设置主配置文件smb.conf

配置samba服务器-梁玉锋

配置samba服务器 用以下命令查看samba的安装情况。 [root@localhost linux-2.6.18_pro500]# rpm -qa |grep samba samba-common-3.4.7-58.fc12.i686 samba-3.4.7-58.fc12.i686 samba-winbind-clients-3.4.2-47.fc12.i686 samba-client-3.4.7-58.fc12.i686 samba服务器安装完成后,几个重要的文件分布如下: /etc/pam.d/samba:samba的PAM认证配置。 /etc/rc.d/init.d/smb:samba的启动脚本。 /etc/samba/smbusers:samba服务器用户与操作系统用户映射文件。 /usr/bin/mksmbpasswd.sh:创建samba用户的脚本。 /usr/bin/smbcontrol:控制samba服务器运行的工具。 /usr/bin/smbstatus:列出samba服务器的连接状态。 /usr/sbin/nmbd:samba服务器的nmbd进程的命令文件。 /usr/sbin/smbd:samba服务器的smbd进程的命令文件。 用以下命令启动samba服务器。 [root@localhost linux-2.6.18_pro500]# /etc/rc.d/init.d/smb start 启动SMB 服务:[确定] [root@localhost linux-2.6.18_pro500]# /etc/rc.d/init.d/nmb start 启动NMB 服务:[确定] [root@localhost linux-2.6.18_pro500]# ps -eaf |grep smbd root 17528 1 0 20:51 ? 00:00:00 smbd -D root 17530 17528 0 20:51 ? 00:00:00 smbd -D root 17540 1925 0 20:51 pts/0 00:00:00 grep smbd [root@localhost linux-2.6.18_pro500]# ps -eaf |grep nmbd root 17537 1 0 20:51 ? 00:00:00 nmbd -D root 17542 1925 0 20:52 pts/0 00:00:00 grep nmbd 默认时,samba服务器启动了两个smbd进程和一个bmbd进程,均以root用户的身份运行。其中,smbd进程主要负责处理对文件和打印机的服务请求;而nmbd进程主要负责处理Netbios名称服务并提供网络浏览功能。 可以用一下命令查看以下这两个进程监听的网络端口。 [root@localhost linux-2.6.18_pro500]# netstat -anp|grep smbd tcp 0 0 :::139 :::* LISTEN 17657/smbd tcp 0 0 :::445 :::* LISTEN 17657/smbd tcp 0 0 ::ffff:192.168.1.101:445 ::ffff:192.168.1.106:4429 ESTABLISHED 17693/smbd unix 2 [ ] DGRAM 42228 17657/smbd

利用samba共享网络打印机

利用samba共享网络打印机 2009年05月27日星期三上午 02:20 公司的打印机是HP Laster Jet 1300n,带有HP jetdirect 200m lio print server 网络接口,打印机的IP地址是192.168.0.9,为每一个人安装配置一变打印驱动实在是麻烦,干脆利用samba把打印机配置成共享的。 一、环境 Red Hat Enterprise Linux AS release 4 (Nahant Update 4) IP Address: 192.168.0.5 默认安装的cups、samba、hpijs包分别如下: hal-cups-utils-0.5.2-8 cups-libs-1.1.22-0.rc1.9.11 cups-1.1.22-0.rc1.9.11 libgnomecups-0.1.12-5 system-config-samba-1.2.21-1 samba-common-3.0.10-1.4E.9 samba-3.0.10-1.4E.9 samba-client-3.0.10-1.4E.9 hpijs-1.6-2 二、配置打印机 首先启动cups,方法如下 #/etc/init.d/cups start or #service cups start 然后在本机的浏览器里输入http://127.0.0.1:631,应该就会出现打印机配置界面。 1.点击Administration,正确输入root及密码,出现Admin页面; 2.点击Add Printer,出现Add New Printer 页面,根据情况填写如下打印机信息,点击continue; Name:HP Location:192.168.0.9 Description:Share 3.出现"Device for HP"(这里HP是你上一步填写的打印机名字)页面,选择Device类型为“Windows Printer via SAMBA”,点击continue; 4.出现"Device URI for HP"(名字同上)页面,Device URI输入如下信息,点击continue; socket://192.168.0.9 5.出现"Model/Driver for HP"页面,在Make里选择HP(你根据自己的打印机厂家选择),点击continue; 6.还是“Model/Driver for HP”页面,在 Model里选择“HP LasterJet Series CUPS v1.1(en)"(请根据你的型号选择),点击continue; 这时候,打印机已经添加成功了。可以点击Printers菜单看一下,打印机应该已经出现了。点击Print Teset Page试试,可以打印,那么就ok了,:)三、配置SAMBA服务器 前提条件,SAMBA已经正常运行(如果你不会配置,网上教程很多,找找看),

构建SAMBA服务

服务器日志文件 服务器日志文件的最大容量,默认为50,表示50KB 设置对应共享目录的注释、说明信息 设置对应共享目录在服务器中的文件夹路径 设置该共享目录在“网上邻居”中是否可见,no相当于隐藏共享目录设置是否所有人都可以访问共享目录,与public配置项作用相同 设置该共享目录是否可写,与read only的作用相反 设置“[public]”段但没有添加共享路径时,testarm给出警告“No path in service public”。按回车键后将显示当前的配置清单。

设置“/var/public/movies ”目录发布为共享文件夹,共享名为 movie 配置完毕,执行“service smb start ”命令启动smb 服务即可,执行“netstat –anptu | grep mbd ”命令可验证Samba 服务监听状态。Smbd 服务程序监听TCP 协议的139端口(SMB )、445端口(CIFS ),nmbd 服务程序监听UDP 协议的137-138端口(NetBIOS )。 使用windows 客户端测试文件共享服务

直接输入UNC 路径访问samba 服务器的共享目录,也可以通过网上邻居浏览的方式找到Samba 服务器,然后再访问共享。 二、建立带验证的文件共享 1、为了区别于系统用户,通常将用于访问共享的用户称为Samba 用户。Samba 服务器使用独立的账号数据库文件,但是在建立Samba 用户账号时需要确保有对应的系统用户账号存在,Samba 用户的密码可以与系统用户的密码不相同。 服务器网卡VM1 IP:192.168.1.2

samba权限设置

samba权限设置 2009-06-09 11:46 本来使用samba没有太大的要求,就是方便windows下能共享linux下的代码,好利用sourceinsight来编辑源代码,在linux编译。可前不久发现自己的共享目录里多了好多东西,查看log文件才知道好多人在我的共享目录里进进出出。“公共厕所嚒,想进就进,想出就出”,于是,不得不研究一下samba 的权限管理,让共享即方便自己,也安全自己。 之前我是把每个目录允许guest访问,并将guest设置成我的linux登陆用户,并开启可写,因为我要在windows下对linux下的文件进行编辑,这样一来,共享目录权限完全开启,十分危险。 以下是一个linux下samba服务器的搭建实例,对理解samba的配置有很好的帮助。做点补充: 1.介绍的方法主要是命令行设置和对samba脚本进行配置,一些图形化的软件也可以实现类似功能。 2.测试smb.conf的命令为testparm 3.设置读写权限的一个简便方法是在每个目录配置中添加write list 和read list,如: [home] path =/home comment = .... write list = user1 read list = user1 user2 当然前提是要有user1,user2 4.linux中用smbclient登陆和windows中输入路径\\ip\path来登录有些不一样,我在这里绕了好久。windows中好像一次登录后就记录了用户名和密码,好像就不能改了,除非关机重启(这个现象我也不明白为什么,希望大牛们能指点一二), 比如:有两个共享目录dir1,dir2.而dir1设置成只允许user1登录,dir2只允许user2登录;我现在用user1来登录dir1,再登陆dir2就不成功了,重启用user2登录dir2可以,再登陆dir1就不行了,不知能否是一个bug还是可以设置? 5.smbclient,smbtree,smbstatus等一些小工具也是挺好用的,哈哈。 6.还有很多具体的设置可以man,默认的conf里都有注释的,也很值得一

Samba建立WINS服务器

The "wins support" option tells the server to run its own WINS server for name resolution, this is typical of many Microsoft networks. "dns proxy" is not required for a small network and can be disabled. The remaining settings determine if the server will advertise itself as a master browser on the network, this will cause the server to participate in network browser elections and attempt to become the master browser. 我们可以向smb.conf 添加WINS 支持选项了。需要向global 节添加以下两行之一: 如果在当前子网中已有一个 WINS 服务器(例如,运行 WINS 的 Windows NT Server), 则需要使用另一个选项,并在等号右边指定 WINS 服务器的名称。这样就禁用了 Samba 的内部 WINS 服务,并且将使用您指定的 WINS 服务器。 如果子网中没有 WINS 服务器在运行,或者您是在家中设置 Samba,不知道确切的 WINS 服务器,那么就需要使用第一个选项。它将通知 Samba 让它成为 LAN 的 WINS 服务器。 您一定想知道 WINS 是做什么用的。从根本上说,可以把 WINS 看做是本地的动态 DNS 数据库。当 Samba 作为 WINS 服务器运行的时侯,同一子网上每个与 Windows 兼容的机器都会向 Samba 注册它的 IP 地址和 NetBIOS 名称(又称“计算机名”)。这可以让 Windows 机器使用 Samba 的 WINS 数据库来请求特定 NetBIOS 名称的 IP 地址。WINS 是网络浏览的关键组件;您在 Windows 机器上“网络邻居”中四处查看时的行为就是一种网络浏览。 现在可以将更多选项添加到 global 节:

Samba服务器配置与管理1

实训项目15 Samba服务器配置与管理 一、实训目的 ●掌握Linux与Windows的资源共享和互访方法。 ●掌握Samba服务器的安装和配置方法。 ●了解使用Samba共享用户认证和文件系统。 二、项目背景 1.公司现有一个工作组workgroup,需要添加一台samba服务器作为文件服务器。并发布共享目录/share,共享名为public.此共享目录允许所有员工访问. 2.员工可以在公司内流动办公,无论在任何一台机器上工作,都能把自己的文件放到服务器里,同时不能使用服务器上的SHELL。(注解:SMB中有关于用户家目录的默共享设置,我们只要设置USER级别,然后再增加用户和指定不可用的SHELL) 3.建立共享目录student,它的本机路径为“/home/student”,只有teachers组的用户可以读写该目录,students用户组只能读取。(注解:这个关键是不同组对同一个目录的权限设置,student这个目录属于students 用户组,并设置他的OTHER 权限为7,我们通过这个OTHER权限来实现teachers组对student目录的访问,通过SMB的配置文件来限制用户访问) 三、实训内容 练习Linux系统Samba服务器配置与访问方法。 四、实训步骤 项目1. 操作步骤: 1.Workgroup=workgrop 2.更改安全级别security=share 3.添加共享目录[public] [public] Path= /share Public=yes 4.建立共享目录/share 5.重启服务并测试

子项目2. smb.conf配置文件更改的内容如下 security = user [homes] comment = Home Directories browseable = no writable = yes valid users = %S 配置好后,就重新启动SMB服务 # useradd user -s /dev/null # smbpasswd -a user 子项目3. # mkdir /home/student # groupadd students # groupadd teachers # useradd -g students user # useradd -g teachers user

Ubuntu Samba服务器建立

Ubuntu Samba服务器建立 Samba是一个工具套件,在Unix/Linux上实现SMB协议。SMB协议通常是被Windows系列用来实现磁盘和打印机共享。目前Samba多数用于Windows和Unix/Linux资源共享,主要是共享文件和打印机,类似windows上的网上邻居。Samba 服务器启动后主要有两个守护进程,分别是smbd和nmbd。smbd提供文件和打印机、授权与被授权服务。nmbd提供名字解析、浏览服务,使主机(或工作站)能浏览Linux服务器。 在使用Samba之前,需要对Samba进行适当的配置,Samba配置文件在/etc/samba/smb.conf。 笔者使用Ubuntu10.04-LTS虚拟机对Samba进行初级配置,主要目的是让windows能正常访问Linux共享目录,其他Linxu发行版也具有相似的配制方法。若想进行共享访问,前提是Linux系统必须与windows正常通信,如果无法ping通,请google 或者查阅笔者的另外一篇关于Vmware网络配置的文章。 一:安装Samba服务器 Ubuntu10.04只安装了smbclient客户端,并没有安装Samba服务器,所以需要下载和更新软件,如果什么都没装,从第三条命令开始。 执行下了命令进行下载和更新: $sudo apt-get remove samba-common $sudo apt-get remove smbclient $sudo apt-get install samba $sudo apt-get install smbclient 安装后可以查看到samba服务器已经在后台运行,/etc/init.d/下多了smbd和nmbd服务软链接且开机会自动运行。 二:配置Samba服务器(使用配置文件) Samba服务器默认配置文件是/etc/samba/smb.conf,并且可以将NetBIOS名与主机的对应关系写在/etc/samba/lmhosts中。 方案一:在Windows中匿名访问Linux共享目录 匿名访问即任意一台局域网内计算机不需要账号密码,即可访问linux共享目录,这是一种相对不安全的做法,但是确实很方便,配置工作也相对少。 Step1:(创建共享目录) 在linux里建立一个文件夹作为共享,保证该文件夹对来访者具有rwx权限。在自己的主文件夹下建是个不错的选择。这里演示在/home/下建立workshare目录,任何人具有读写访问权限。 $sudo mkdir-m777/home/workshare

课程Linux环境下samba服务器配置与实现(参考模板)

课程设计说明书 课程名称:网络操作系统课程设计设计题目:samba服务器的配置 学院:信息科学与工程学院 姓名: 学号:

一.课程设计的目的 《操作系统》课程设计是在完成理论课程学习之后安排的综合实践训练,通过一周的综合课程设计,在学生掌握Linux的基本知识及常用的操作命令基础上,提高学生对所学知识的应用能力,特别是:煅炼学生搜集有关Linux资料,在资料文档的帮助下,运用Linux 的基本知识及常用的操作命令来解决问题的能力. 二.课程设计的基本要求 通过一周的综合课程设计,要求能完成给定的任务,并写出相应的课程设计总结报告 1、根据合理的进度安排,按照程序的流程及方法,踏实地开展课程设计活动。 2、课程设计过程中,在设计各环节中撰写相关的技术文档,最后要求提交详细的课程设计报告。 3、配置网络服务器,通过上机测试。 三.课程设计的主要内容 一)设计题目 Linux环境下samba服务器配置与实现 一个公司有五个部门,分别是linuxsir,sir01,sir02,sir03,sir04。我们想为这家公司设计一个比较安全的共享文件模型。每个用户都有自己的网络磁盘,sir01到sir04还有共用的网络硬盘;所有用户(包括匿名用户)有一个共享资料库,此库为了安全是只读的;所有的用户(包括匿名用户)要有一个临时文件终转的文件夹... .... 二)设计步骤与方法: 1进行需求分析:samba的功能很简单,就是为了使linux和windows之间能够实现共享。并且利用samba搭建文件服务器,不仅比windows功能强大,而且访问速度快、安全。随着计算机网络尤其是Internet的飞速发展,计算机之间的信息共享达到了一个前所未有的程度。Samba为在各种系统平台之间,如Windows与Linux(UNIX)之间实现信息共享提供了桥梁。可以将其方便地配置成文件服务器、打印服务器,并可作为登录服务器、域控制器等。作为开放源码的自由软件,

Samba之文件共享配置实例word资料8页

Samba之文件共享配置实例 本例实现了不同的用户访问同一个共享目录具有不同的权限,便于管理和维护。基本上能满足一些企业用户的需求。 一.需求 1. 某公司有5个大部门,分别为:人事行政部、财务部、技术部、市场部、生产部。 2. 各部门的文件夹只允许本部门员工有权访问;各部门之间交流性质的文件放到公用文件夹中。 3. 每个部门都有一个管理本部门文件夹的管理员账号和一个只能新建和查看文件的普通用户权限的账号。 4. 公用文件夹中分为存放工具的文件夹和存放各部门共享文件的文件夹。 5. 对于各部门自己的文件夹,各部门管理员具有完全控制权限,而各部门普通用户可以在该部门文件夹下新建文件及文件夹,并且对于自己新建的文件及文件夹有完全控制权限,对于管理员新建及上传的文件和文件夹只能访问,不能更改和删除。不是本部门用户不能访问本部门文件夹。 6. 对于公用文件夹中的各部门共享文件夹,各部门管理员具有完全控制权限,而各部门普通用户可以在该部门文件夹下新建文件及文件夹,并且对于自己新建的文件及文件夹有完全控制权限,对于管理员新建及上传的文件和文件夹只能访问,不能更改和删除。本部门用户(包括管理员和普通用户)在访问其他部门共享文件夹时,只能查看不能修改删除新建。对于存放工具的文件夹,只有管理员有权限,其他用户只能访问。 二.规划 根据公司需求情况,现做出如下规划: 1. 在系统分区时单独分一个Company的区,在该区下有以下几个文件夹:HR、 CaiWu、J iShu、ShiChang、ShengChan和Share。在Share下又有以下几个文件夹:HR、CaiWu、Ji

Shu、ShiChang、ShengChan和Tools。 2. 各部门对应的文件夹由各部门自己管理,Tools文件夹由管理员维护。 3. HR管理员账号:hradmin;普通用户账号:hruser。 CaiWu管理员账号:caiwuadmin;普通用户账号:caiwuuser。 JiShu管理员账号:jishuadmin;普通用户账号:jishuuser。 ShiChang管理员账号:shichangadmin;普通用户账号:shichanguser。 ShengChan管理员账号:shengchanadmin;普通用户账号:shengchanuser。 Tools管理员账号:admin。 文件夹之间的关系请见下图: 三.SAMBA RPM安装和启动 在系统中使用rpm –qa |grep samba和rpm –qa |grep smb来查看系统有没有安装该软件,如果没有安装则挂载系统盘,找到samba软件包,使用rpm –ivh samba*和rpm –i vh smb*即可安装。 使用RPM包安装后,samba的配置文件smb.conf默认在/etc/samba/下。 使用service smb start启动samba。 使用chkconfig --level 35 smb on,可以使samba随系统一起启动。 在/etc/selinux/config中将“SELINUX”项关闭,SELINUX=disabled。 四.新建用户 使用useradd命令新建系统账户,然后再使用smbpasswd –a建立SMB账户。 [root@Samba /]#useradd –s /sbin/nologin jishuadmin [root@Samba /]#useradd –g jishuadmin –s /sbin/nologin jishuuser [root@Samba /]#useradd –s /sbin/nologin shichangadmin [root@Samba /]#useradd –g shichangadmin –s /sbin/nologin shichanguser

构建samba服务器

实验案例一:构建samba文件共享服务器根据公司的信息化建设要求,需要在局域网内部搭建一台文件服务器,便于对数据的集中管理和备份。考虑到服务器的运行效率及稳定、安全性,选择在RHEL5操作系统中构建samba服务器以提供文件资源共享服务。 在“/var/share”目录中建立子目录public、training、devel,用途如下: 1.Public目录用于存放公共数据,如公司的规章制度、员工手册、 工作表格等文件。 2.Training目录用于存放公司的技术培训资料。 3.Devel目录用于存放项目开发数据。 将“/var/share/public”目录共享为public,所有员工可匿名访问,但是只能读取文件,不能写入。 将“/var/share/training”目录共享为peixun,只允许管理员admin 及技术部的员工只读访问。 将“/var/share/devel”目录共享为kaifa,技术部的员工都可以读取该目录中的文件,但是只有管理员admin及benet项目组的员工有写入权限。 1.安装服务(要能够实现samba服务器和客户端的基本功能, 至少安装samba、samba-client、samba-common) 查看系统中已经按装的samba包

使用yum来安装软件包 2.修改配置文件 Samba的主配置文件 备份主配置文件 去掉主配置文件中的注释、空行、实例行 添加用户和组 编辑主配置文件(https://www.doczj.com/doc/1611646189.html,) 修改配置后

创建目录 因为benet组在/var/share/devel有写入权限,所以要为目录增加权限。(https://www.doczj.com/doc/1611646189.html,) 给用户设置samba密码

CentOS 6.5下Samba服务器的安装与配置

CentOS 6.5下Samba服务器的安装与配置 一、简介 Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块,SMB主要是作为Microsoft的网络通讯协议,后来Samba将SMB通信协议应用到了Linux系统上,就形成了现在的Samba软件。后来微软又把SMB 改名为CIFS(Common Internet File System),即公共Internet 文件系统,并且加入了许多新的功能,这样一来,使得Samba具有了更强大的功能。 Samba最大的功能就是可以用于Linux与windows系统直接的文件共享和打印共享,Samba既可以用于windows与Linux 之间的文件共享,也可以用于Linux与Linux之间的资源共享,由于NFS(网络文件系统)可以很好的完成Linux与Linux之间的数据共享,因而Samba较多的用在了Linux与windows之间的数据共享上面。 SMB是基于客户机/服务器型的协议,因而一台Samba服务器既可以充当文件共享服务器,也可以充当一个Samba的客户端,例如,一台在Linux 下已经架设好的Samba服务器,windows客户端就可以通过SMB协议共享Samba服务器上的资源文件,同时,Samba 服务器也可以访问网络中其它windows系统或者Linux系统共享出来的文件。 Samba在windows下使用的是NetBIOS协议,如果你要使用Linux下共享出来的文件,请确认你的windows系统下是否安装了NetBIOS协议。 组成Samba运行的有两个服务,一个是SMB,另一个是NMB;SMB是Samba 的核心启动服务,主要负责建立Linux Samba服务器与Samba客户机之间的对话,验证用户身份并提供对文件和打印系统的访问,只有SMB服务启动,才能实现文件的共享,监听139 TCP端口;而NMB服务是负责解析用的,类似与DNS实现的功能,NMB可以把Linux 系统共享的工作组名称与其IP对应起来,如果NMB服务没有启动,就只能通过IP来访问共享文件,监听137和138 UDP端口。 例如,某台Samba服务器的IP地址为10.0.0.163,对应的工作组名称为davidsamba,那么在Windows的IE浏览器输入下面两条指令都可以访问共享文件。其实这就是Windows 下查看Linux Samba服务器共享文件的方法。 \\10.0.0.163\共享目录名称 \\davidsamba\共享目录名称 Samba服务器可实现如下功能:WINS和DNS服务;网络浏览服务;Linux和Windows域之间的认证和授权;UNICODE字符集和域名映射;满足CIFS协议的UNIX 共享等。 二、系统环境 系统平台:CentOS release 6.3 (Final) Samba版本:samba-3.5.10-125.el6.x86_64

SMB服务器配置与使用

一、samba简介 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的守护进程 1. smbd 监听139 TCP端口设置共享目录、打印等 2. nmbd 137. 138 UDP端口管理群组、NetBIOS 等解析工作 这里要注意的是fedora9基于安全考虑,把smb和nmb两个服务给分离了,平时我们在使用samba服务的时候,在启动smb服务的同时nmb这个服务也会跟着启动,fedora9中则不然,这就造成了我们设置好fedora9中共享的时候,只能使用\\ip 来访问,而不能使用\\计算机名来访问,解决的办法就是同时启动smb和nmb服务 三、软件的安装 使用rpm –qa|gerp samba来检查是否安装了samba 软件包,如果没有安装的话请自行安装以下的软件包 #rpm –ivh samba-3.2.0-1.pre3.9.fc9.i386.rpm #rpm –ivh samba-winbind-3.2.0-1.pre3.9.fc9.i386.rpm #rpm –ivh samba-common-3.2.0-1.pre3.9.fc9.i386.rpm #rpm –ivh samba-client-3.2.0-1.pre3.9.fc9.i386.rpm #rpm –ivh system-config-samba-1.2.63-1.fc9.noarch.rpm 或者你用yum install samba* -y就可以一次搞定了。

linux下Samba服务的搭建

linux下Samba服务的搭建 1.配置时实用的TIPS: 1、在Windows下通过IP地址访问共享目录时,一般第一次需要输入密码,以后就无需输入密码而直接登 录了。但对偶们经常测试需要频繁切换samba用户的那就杯具了哈。这时偶们可以在Windows的CMD下使用以下命令删除连接: net use \\samba服务器IP地址或NetBIOS名称\ipc$ /del #删除指定连接 net use * /del #删除所有连接,介个偶最喜欢了哈 2、在配置samba配置文件时,为了使配置文件生效,需要频繁重启samba 服务,虽然可以让配置生效,但 是在实际应用中会对客户端用户的访问造成影响,偶们可以用reload命令是samba服务重新加载配置文件使其生效(service smb reload或/etc/init.d/smb reload),这样不需要中断服务就可以重新加载配置哈。 1、samba简介(摘自维基百科,百度百科的简介太令偶失望了) Samba,是种自由软件,用来让UNIX系列的操作系统与微软的Windows操作系统的SMB/CIFS (Server Message Block/Common Internet File System)网络协定做连结。在目前的版本(v3),不仅可存取及分享SMB的资料夹及打印机,本身还可以整合入Windows Server的网域、扮演为网域控制站(Domain Controller)以及加入Active Directory成员。简而言之,此软件在Windows 与UNIX系列OS之间搭起一座桥梁,让两者的资源可互通有无。 2、samba的安装 samba的安装偶就不多讲了,对大家来说是小菜一碟,以下是偶本机安装的samba: [alex@redhat ~]$ rpm -qa |grep samba samba-common-3.0.33-3.29.el5_5.1 samba-swat-3.0.33-3.29.el5_5.1 samba-client-3.0.33-3.29.el5_5.1 samba-3.0.33-3.29.el5_5.1 3、samba的配置文件 哟,这个才是偶们的重点哈,当然这也是挑战偶的表达能力以及实践能力的地方,写得不好,大家表见怪。 存放在/etc/samba下的smb.conf是samba服务的主配置文件。此文件由两部分组成:Global Settings和Share Definitions。下面以偶的samba配置文件为例,简单说明配置主要配置行的意思(注意在等号前后都是空格哈): [global] workgroup = MYGROUP server string = Samba Server Version %v netbios name =Aric log file = /var/log/samba/%m.log

相关主题
文本预览
相关文档 最新文档