天天看点

Samba文件共享服务

<b>samba</b><b>文件共享服务</b><b></b>

<b>要求:</b><b></b>

? <b>在</b><b>/var/share/</b><b>目录中建立三个子目录</b><b>public</b><b>、</b><b>training</b><b>、</b><b>devel</b><b>,用途如下:</b><b></b>

u <b>pubic</b><b>目录用于存放公司数据,如公司的规章制度、员工手册等</b><b></b>

u <b>training</b><b>目录用于存放公司的技术培训资料</b><b></b>

u <b>devel</b><b>目录用于存放项目开发数据</b><b></b>

<b>具体步骤:</b><b></b>

1. 插入rhel5光盘并挂载到/media目录下,然后进入到/media/server目录下,使用rpm命令安装samba软件包及相关的软件包。如图所示:

Samba文件共享服务

2. 启动samba服务,并查看端口。如图所示:

Samba文件共享服务

3. 分别创建三个字目录public、training、devel。如图所示:

Samba文件共享服务

4. 建立组账户benet、tech;创建benet组的员工账户ben01、技术部员工账户tec01;创建普通用户yua01。如图所示:

Samba文件共享服务

5. 使用pdbedit命令将以上用户依次创建为共享用户,并设置共享密码。如图所示:

Samba文件共享服务

samba共享用户的账户数据库文件默认位于/etc/samba/passdb.tdb,是一个经过加密的文件,其中保存了share用户的账号名称、登录密码、账号可用状态等信息。使用<b>pdbedit</b>工具可以对共享用户进行管理。

? <b>-a</b><b>:</b>表示添加

? <b>-u</b><b>:</b>指定用户名称(也可以省略“-u”选项直接指定用户名)。

? <b>-l</b><b>:</b>列出所有的samba共享用户

? <b>-v</b><b>:</b>结合l选项可以查看某一个用户的更详细的内容,可以指定用户名称作为参数

? <b>-x</b><b>:</b>删除samba共享用户,指定用户名作为参数

Samba文件共享服务
Samba文件共享服务
Samba文件共享服务

6. <b>共享账号映射(别名)</b>。为root用户设置别名admin。编辑/etc/samba/smbusers配置文件,添加一行“root = administrator admin”。如图所示:

Samba文件共享服务
Samba文件共享服务

对于授权给共享用户root访问的共享文件夹,只要使用共享用户admin也可以访问(密码仍然使用共享用户root的)。

<b>设置好共享用户的别名记录以后,若要正常启用账户映射功能,需要修改注配置文件</b><b>/etc/samba/smb.conf</b><b>,添加全局配置项“</b><b>username map = /etc/samba/smbusers</b><b>”,然后重新加载配置即可生效。</b>如下所示:

[root@localhost~]#<b> vim /etc/samba/smb.conf</b>

<b>[global]</b>

<b>username map = /etc/samba/smbusers</b>

<b></b>……//省去部分内容

l <b>访问地址限制</b><b></b>

针对访问samba服务器的客户机,可以通过“<b>hosts allow</b>”、“<b>hosts deny</b>”配置项进行访问限制,前者用于指定仅允许访问共享的客户机地址,后者用于指定仅拒绝访问共享的客户机地址,两种方式任选其一即可。

访问地址限制一般应用于[global]全局配置部分,也可以应用于某个具体的共享配置段部分。限制的对象可以是主机、ip地址或者网络地址(省去主机部分),多个地址之间以逗号或空格进行分隔。

例如:若希望仅允许来自192.168.4.0/24,137.17.0.0/16网段的客户机访问samba服务器。如下所示:

<b>hosts allow = 192.168.4. 173.17.</b>

……//省去部分内容

? <b>将</b><b>/var/share/public/</b><b>目录共享为</b><b>public</b><b>,所有员工都可以访问,但只有读取权限。</b><b></b>

? <b>将</b><b>/var/share/training/</b><b>目录共享为</b><b>peixun</b><b>,允许管理员</b><b>admin</b><b>和技术部的所有员工读取数据,但不能写入,禁止其他人访问。</b><b></b>

? <b>将</b><b>/var/share/devel</b><b>目录共享为</b><b>kaifa</b><b>,技术部的所有员工都可以读取该目录中的文件,但是只有管理员</b><b>admin</b><b>及</b><b>benet</b><b>项目组的员工有写入权限。</b><b></b>

1. 编辑/etc/samba/smb.conf配置文件。如图所示:

Samba文件共享服务
Samba文件共享服务
Samba文件共享服务

? <b>[global]</b><b>全局设置:</b>这部分配置项的内容对整个samba服务器都有效。

? <b>[homes]</b><b>宿主目录共享设置:</b>设置linux用户的默认共享,对应用户的宿主目录。当用户访问服务器中与自己用户名同名的共享目录时,通过验证后将会自动映射到该用户的宿主文件夹中。

? <b>[printers]</b><b>打印机共享设置:</b>如果需要共享打印机设备,可以在这部分进行配置。

若需要在smb.conf文件中设置新的共享文件夹,只需要增加一段如“<b>[myshare]</b>”开始的共享设置即可,其中“myshare”为用户自定义的共享名。新的共享文件设置可以参考“[homes]”和“[printers]”部分的内容。

samba服务器提供了一个配置文件检查工具——testparm程序,使用<b>testparm</b>工具可以对smb.conf配置文件的正确性进行检查,如果发现有错误将会进行提醒。如图所示:

Samba文件共享服务

2. 重新加载smb.conf文件中的配置,或重启smb服务。如图所示:

Samba文件共享服务

3. 通过samba服务器共享本地的文件夹时,用户最终是否拥有读取、写入权限,除了需要设置用户授权以外,还要满足一个前提条件——在服务器本机中,与共享用户同名的系统用户对发布为共享的本地文件必须有相应的读取、写入权限。为了简便起见,可以将三个子目录public、training、devel的权限设置为777。如图所示:

Samba文件共享服务

另外,当通过共享目录上传文档时,对于共享用户所上传的文件,创建子目录的默认权限,可以分别使用配置项“directory mask”、“create mask”进行指定。例如:若要使用户访问public共享时,所上传的目录的默认权限为755,文件的默认权限为644。如下所示:

[ public ]

…… //省略部分内容

directory mask = 0755

create mask = 0644

n <b>访问共享文件夹</b><b></b>

? <b>使用</b><b>smbclient</b><b>访问共享文件夹</b><b></b>

<b>1. </b><b>查询目标主机的共享资源列表</b><b></b>

使用smbclient命令查询共享资源时,需要添加“<b>-l</b>”选项,并指定目标主机的ip地址或主机名。在工作组环境中查询共享资源时,一般不需要用户验证,提示输入密码时直接按回车键即可。

Samba文件共享服务

<b>2. </b><b>登录并访问共享文件夹</b><b></b>

使用smbclient命令访问共享文件夹时,需要通过“//主机地址/共享名”的形式指定共享文件夹的位置,对于允许匿名访问的共享文件夹,提示输入密码时直接按回车键即可。

Samba文件共享服务

如果访问的是需要用户验证的共享文件夹,则必须结合“<b>-u</b>”选项指定经过授权的共享用户名称(或映射的别名),并输入正确的密码进行验证。

Samba文件共享服务

通过smbclient工具成功登录samba服务器以后,会出现“smb:\&gt;”提示符,提供了一个类似于ftp命令程序的环境。在“smb:\&gt;”环境中,使用特定的命令可以对共享目录进行列表、上传、下载等操作。例如:使用<b>ls</b>用于列表目录,<b>pwd</b>查看当前路径,<b>get</b>和<b>mget</b>用于下载文件,<b>put</b>和<b>mput</b>用于上传文件……使用“<b>?</b>”或“<b>help</b>”命令可以查看各种交互命令的在线帮助信息。

Samba文件共享服务

n <b>使用</b><b>mount</b><b>挂载共享文件夹</b><b></b>

smbclient客户端工具可以非常方便的登录到samba服务器,但是只有将文件下载到本地以后才能查看文件内容。而若使用<b>mount</b>工具将共享文件夹挂载到本地,则通过本地的挂载点目录即可直接使用共享文件夹的内容,使文件共享更加方便。

使用mount命令挂载共享资源时,只需通过“//主机地址/共享名”的形式指定共享文件夹的位置(视为设备资源),并指定本地的挂载点目录即可。

Samba文件共享服务

继续阅读