Linux系统管理.Samba文件服务器

A、Windows 的网上邻居

———-基本概念

———-共享与访问共享

B、Samba工具集

———Samba软件与工具介绍

———Samba为windows提供共享

C、Samba文件服务器

———安全级别

———用户帐号与认证

                           Windows的网上邻居

1、工作原理

通过SMB协议共享传输文件,具有自己的主机名称解析系统(Wins)SMB(Server Message Block),CIFS(Common Internet File System)是基于Netbios协议的,所以不能够跨越子网通信。

服务器端:提供名字查询服务,共享文件列表,对对客户端进行认证授权;

客户端:寻找能够访问的资源,请求验证,请求访问文件和目录;

浏览器服务提供所有主机名和工作组名的缓冲服务。

2、基本概念

主机名:局域网中的NetBios主机名,在局域网中唯一;

共享名:共享资源(目录/打印机)的名称,在主机中唯一;

工作组名:主机的组织机构名,主机间地位等;

域名:主机的组织机构名称,客户端主机需要域服务提供谁浏览、共享服务,所以可用:\\主机名\共享名浏览目录。

                          网上邻居的认证模式

1、工作组模式

用户帐号分别存放在每台主机上,只有通过对方主机的谁授权才能访问对方的共享资源(如A想访问B主机的共享,A必须得到B机上的用户帐号和密码才可以)

2、域服务器模式

用户帐号集中存贮在域服务器上,每台主机都要经过域服务器谁授权,才能访问其它主机上的资源。(用户的验证的用户名与密码是由域上的域名服务器提供的。)

                                                            Windows访问网上邻居

1)、Win95/98/ME/2000/XP 需要安装TCP/IP、NETBEUI,IPX/SPX其中的任意一种协议,但跟linux共享网上邻居必须安装TCP/IP

2)、从网上邻居中寻找到“工作组”—>“主机名”—>“共享目录名”来访问共享资源。

3)、直接在浏览器的地址栏里输入\\server\sharename\\IP\sharename也可以查看.

                     Linux中访问网上邻居

1)、需要samba客户端软件的支持;

2)、使用挂载的方法:

#mount –t smbfs //server/sharename/localdir 或#smbmount //server/sharename/localdir

3)、使用smbclient

#smbclient //server/sharename/localdir –U username%password

                               访问控制

一、全局访问控制:

[global]

              hosts deny = ALL

              hosts allow = 10.0.0.

二、局部访问控制:

[docs]

            hosts deny = 10.0.0.

            hosts allow = 10.0.241

[redhat]

           hosts allow = 10.0.0.

           hosts deny = 10.0.0.241  <———此项对241的限制将失效!!<>允许优先<>

                        Samba用户帐号

1、共享目录设置有效用户

[redhat]

            path = /var/redhat

            comment = redhat’s files

            vaild users =<username><@groupname>

2、新建Samba用户

#useradd username                <增加系统用户>

#smbpasswd –a username      <不设置系统用户的密码,增加samba用户>

3、用户帐号映射

[global]

         username map = /etc/samba/smbusers

#smbuseradd unixname:mapname    <系统用户与smbuser的映射关系>

4、客户端访问演示

1)、#vi /etc/samba/smb.conf

更改[global]选项中的:workgroup = WORKGROUP 保存退出。

2)、#useradd redhat

       #smbpawsswd –a redhat

3)、vi /etc/samba/smb.conf

输入/map查找username map = /etc/samba/smbusers 这一行记录,删除此记录前的;让其生效

4)、vi /etc/samba/smbusers 文件

仿照上面的两行增加一行记录: redhat = tom jack test 然后保存退出!

5)、重新启动smb服务:#service smb restart  or # /etc/init.d/smb restart

6)、测试用映射帐号登录:

      Windows 下直接在运行里输入:\\192.168.0.254 回车输入相应的用户名、密码即可。

       Linux 下可以用:#smbmount //192.168.0.254/redhat /mnt –o username=tom%123 挂载即可,然后用#mount命令查看是否挂载成功,如果最后一行出现上述的记录后,可以直接切换到挂载目录下访问,用过之后,可用#umount /mnt 卸载即可。

                         Samba用户的配置文件的简要说明

[global]         此选项为全局性变量

                  security = user

[homes]        此选项是个人设定项

           comment = Home Directories

           valid users = %s  (用%s 表示文件属主)

            brwseable = no

            wirtable = yes

#smbclient –L 192.168.0.254 –U redhat

smb:>   出现类似的提示符,说明成功进入此目录

用户的写权限要保证两点:第一,配置文件要求用户能写;第二,系统中的目录要求用户可写。

                         Samba用户的权限

[redhat]

path = /var/redhat

comment = redhat’s files

public = no

valid users = <username><@groupname>

write lists = <username><@groupname>

create mask = 0660

directory mask =0770

注:客户端所有的请求访问身份在服务器端都会被映射成登录的帐号的身份,所以映射帐号的前提是此帐号是系统帐号,然后才是映射帐号

#chown redhat.redhat /var/redhat

#ls –ld /var/redhat

#smbmount //192.168.0.254/test /mnt –o username=tom%123

#ls –ld /mnt

#touch /mnt/aa

#ls –l /mnt/aa

#whoami

#id redhat

#chgrp redhat /var/redhat

#chmod g+w /var/redhat

#ls –ld /var/redhat

#testparm 测试smb.conf 语法是否正确

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章