/etc/samba/
-rw-r--r--. 1 root root 20 Jun 3 11:53 lmhosts
-rw-r--r--. 1 root root 9778 Jun 1 20:28 smb-backup.conf
-rw-r--r--. 1 root root 10075 Jun 2 19:10 smb.conf
-rw-r--r--. 1 root root 118 Jun 2 19:06 smbusers
可以 #man smb.conf 检测一下自己的英文
/etc/Samba/smb.conf
这是Samba服务的主配置文件,由全局设置(Global Settings)和共享定义(Share Definitions)
两部分组成无集结Samba服务器工作在下节将要介绍的哪种模式,都需要配置这个主配置文件。各种不
同工作模式下的Samba 主配置文件的配置方法将在本章后面介绍。
/etc/Samba/lmhosts
这个主机配置文件,提供了局域网内主机的NetBIOS名与IP地址的对应。此文件中每一行对应一个主机
的IP地址和NetBIOS计算机名的记录。前面是主机的IP地址,后面是这个IP地址对应主机的NetBIOS名称,
中间用空格分隔。为了使Linux系统主机能识别这种主机名,需要用户将局域网中的Windows NetBIOS主
机名与IP地址的对应关系列入此文件中,一定要包括作为Samba服务器的Linux系统主机本身,因为Samba
服务器就是依据这个配置文件来识别不同系统主机的。但是,通常在启动Samba服务进程时就能自动捕捉
到 网络中相关IP地址对应的NetBIOS名,自动在lmhosts文件中添加这些映射关系,所以通常是不需要专门
配置这个配置文件的。
/etc/Samba/smbpasswd
该配置文件又称Samba服务器的密码文件,用于工作在user模式下的Samba服务器配置中。此文件在Samba
服务安装后是不存在的,需要使用smbpasswd命令创建。由于Samba服务和Linux操作系统使用不同的密码
文件,因此Linux操作系统中的用户账户不能直接登录Samba 服务器,需要为Linux用户创建新的Samba用户
账号和密码。在管理员第一次使用smbpasswd命令创建Samba服务的账户时,会自动创建这个 smbpasswd
文件。smbpasswd命令的用法具体也将在本章后面介绍。
目前在最新版本的Linux系统核心中该文件改成为了/etc/Samba/passdb.tdb,以数据库方式存储,而不是以文
本的方式存储,提高了安全性。不过在此仍以/etc/Samba/smbpasswd为例进行介绍。
etc/Samba/smbusers
该配置文件又称Samba服务器的用户文件,也是用于工作在user模式下的Samba服务器配置的。此文件提供
了外部登录名与本地用户名的映射关系,使得访问Samba服务器的用户名与本地Linux系统账户没有一个完全
的一对一对应关系,有效地防止了使用访问Samba服务器的账户攻击 Linux系统主机的可能性。所谓用户映射
是指将用户在Windows或客户端Linux系统中的不同账户映射为一个Samba服务器的用户账户。映射后的
Windows账户或客户端Linux账户在连接Samba服务器时,就可以直接使用他们自己的账户(而不是直接使用
Samba服务器所在Linux系统的用户账户)进行访问了。
设置用户映射需要在Samba主配置文件smb.conf中进行修改,全局参数username map控制用户映射。通过
该参数指定一个映射文件,默认情况下,这个映射文件就是/etc/Samba/smbusers。因此,需要在smb.conf
文件中做如下设置:username map = /etc/samb/smbusers,记得将默认配置文件中该语句前面的注释符
号#去掉,然后编辑/etc/Samba/smbusers文件,将需要进行映射的用户添加到文件中。参数格式如下:
Linux系统用户账户 = 需要映射的Windows或Linux账户列表
一个Samba服务器所在Linux系统账户映射多个账户时,用户名间需要用空格分隔。也就是说,多个Windows
或客户端Linux系统用户账户可以映射为同一个Samba账户。例如:
1. Samba = SMB_name1 SMB_name2 …)
2. root = administrator admin
3. nobody = guest pcguest smbguest
有关etc/Samba/smbusers文件的配置也将在本章后面介绍。
/etc/Samba/secrets.tdb:存放Samba用户账户的加密密码。
Samba的用户认证主要通过/e/tc/Samba/smbpasswd和/etc /Samba/smbusers两个文件实现,其中
smbpasswd文件用于存放用smbpasswd -a命令将Linux本地账户生成的Samba账户和密码,而smhbusers
文件用于存放、设置Windows用户和Linux本地账户的映射,便于 Windows账户直接访问Samba服务器。
Samba服务器的工作模式及设置
7.1.3 Samba服务器的工作模式及设置
在Samba主配置文件smb.conf中,一项重要的设置(security设置语句)就是Samba服务器的工作模式
(也称"安全级别")的设置。其实也就是Samba服务器与Windows服务器之间的5种协调工作方式。这5种
工作模式就是share、user、server、domain和 ads。下面分别介绍这5种工作模式的具体含义。
share(共享模式)
在这种模式下,用户对Samba服务器的访问无须进行身份验证,也就是不用输入用户名和密码(也就是允许
匿名访问)用户的访问权限仅由相应用户对共享文件的访问权限决定。这是最简单,但也是最不安全的一种
Samba服务器访问方式。除非是很小的网络,一般不这样设置。
如果要设置成该模式,在主配置文件smb.conf中只需要把security语句设置成以下格式即可:
1. security = share
user(用户模式)
在这种模式下,用户对Samba服务器的访问是由Samba服务器依据本地账户数据库对访问用户进行身份验证
的,安全级别比share模式高一些。这就要求每个访问用户必须在Samba服务器上有它本地的Linux用户账户
(前面说了,多个Windows账户可以映射成一个Linux账户,可以在 /etc/smb/smbusers文件中配置),当然也
可以为各需要权限的用户在Samba服务器中新建相应的用户账户。这是Samba服务器的默认设置。
设置user工作模式时需要对smb.conf主配置文件按如下格式修改:
1. security = user # 设置工作模式为user
2. guest account = smb # 指定来宾账户为Samba
(当然可以是其他账户名称,也是需要正
3. 确输入账户名和密码的)。出于安全考虑,通常不直
接采用guest作为来
4. 宾账户名。本语句需要新添加。如果不允许以来宾账户访问,则不用
5. 配置此语句。
6. encrypt passwords = yes # 设置对认证过程
中的用户口令进行加密。本语句也是需要新添加。
7. smb passwd file = /etc/Samba/smbpasswd # 设
置Samba服务器的密码文件名和路径。本语句也
8. # 需要新添加
当主配置文件smb.conf采用user模式设置后,需要设置Samba密码文件,建立smbpasswd文件中的用户账号
和口令,使其与/etc/passwd的账号和口令相同。
server(服务器模式)
在这种模式下,必须指定用于对Samba服务器中对共享文件进行访问的用户进行身份验证的服务器。这种
模式的用户访问是由其他专门的服务器对访问用户进行身份验证,安全级别又比user模式高一些。这个服务
器可以是Windows NT/2000/2003或其他Samba服务器。
Server模式与user模式其实是类似的,只不过实现身份验证的不是本地Samba服务器,而是网络中的其他
服务器。如果在指定的服务器上身份验证失败,则退到user安全级,采用本地Samba服务器对访问用户进行
身份验证。所以,从用户端来看,server模式和user模式没什么本质区别,只是用于身份验证的服务器的位
置不一样。
设置server模式时需要对smb.conf文件进行如下修改:
1. security = server # 设置工作模式为server
2. guest account = Samba # 指定来宾账户为Samba
(当然也可以是其他账户名称)。本语句需要新添加
3. password server = pwdserver # 指定用于身
份验证的服务器NetBIOS名称。本语句也需要新添加
4. encrypt passwords = yes # 指定用户口令在验
证过程中加密发送。本语句也需要新添加
5. smb passwd file = /etc/Samba/smbpasswd #
设置密码文件名和路径。本语句也需要新添加
domain(域模式)
这种模式是把Samba服务器加入到Windows域网络中,作为域中的成员。但在这种模式中,担当用户对
Samba服务器的访问身份验证的是域中的PDC(主域控制器),而不是Samba服务器。采用这种模式时,
主配置文件smb.conf需要进行以下修改(同时要用"#"符号注释掉默认文件中的
smb passwd file=/etc/samba/smbpasswd语句):
1. security = domain # 设置工作模式为domain
2. workgroup = domain # 指定Windows域名(NetBIOS格式)
3. password server = PDC_NAME # 指定担当身
份验证服务器的PDC的NetBIOS名称
ads(活动目录模式)
这是Linux系统Samba服务器的一种新工作模式(原来只有前4种),用于把Samba服务器加入到
Windows 2000 Server、Windows Server 2003活动目录域中,并具备活动目录域控制器的功能.
这时Samba服务器就相当于一台域控制器了,可以自己使用活动目录中的账户数据库对用户的访问进
行身份验证。
采用ads工作模式时,主配置文件smb.conf需要进行以下修改:
1. security = ads # 设置工作模式为ads
2. realm = MY_REALM # 指定Windows域名(DNS格式)
3. ads server = ads_server # 指定担当身份
验证服务器的服务器DNS名称
阅读(2916) | 评论(0) | 转发(0) |