项目五 配置与应用Samba服务

任务一 安装samba与共享家目录的用户

第一步 samba软件的安装

项目五 配置与应用Samba服务

项目五 配置与应用Samba服务

第二步 查看与备份samba的配置文件

项目五 配置与应用Samba服务

项目五 配置与应用Samba服务

第三步 服务的启动与停止

项目五 配置与应用Samba服务

第四步 新建Samba用户

项目五 配置与应用Samba服务

第五步 Windows客户端访问


任务二 配置学校Samba服务器

项目五 配置与应用Samba服务

项目五 配置与应用Samba服务

groupadd students建立学生群组

groupadd teachers建立教师群组

useradd -g students student1建立学生用户并加入相应群组

useradd -g teachers teacher1建立教师用户并加入相应群组

项目五 配置与应用Samba服务

第二步 建立Samba用户

smbpasswd -a student1设置student1用户的samba访问密码,并使能student1用户具有samba访问权限

smbpasswd -a teacher1  设置teacher1用户的samba访问密码,并使能teacher1用户具有samba访问权限

项目五 配置与应用Samba服务

第三步 建立共享目录以及设置文件夹权限

【mkdir /home/student】建立共享目录

【chgrp students /home/student】设置共享目录的所属组为students

【chmod 757 /home/student】设置共享目录的权限

【chmod g+s /home/student】该目录下所建文件的所属组都会变成和该目录一样

项目五 配置与应用Samba服务

第四步 备份配置文件

cp /etc/samba/smb.conf /etc/samba/smb.conf.bak备份配置文件

项目五 配置与应用Samba服务

第五步 编辑Samba配置文件的全局参数

通过【vim /etc/samba/smb.conf】命令编辑/etc/samba/smb.conf配置文件,更改的内容如下,全局参数在【global】下设置,对所有共享都有效。

workgroup =MYGROUP #设定 Samba Server 所要加入的工作组或者域

server string = Samba Server Version %v #设定 Samba Server 的注释,可以是任何字符串,也可以不填。“%”表示显示Samba的版本号#

 interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24 #设置Samba Server监听哪些网卡,可以写网卡名,也可以写该网卡的IP地址。#

 hosts allow = 127. 192.168.1. 192.168.10.1 #表示允许连接到Samba Server的客户端,多个参数以空格隔开。可以用一个IP表示,也可以用一个网段表示。hosts deny 与hosts allow 刚好相反。#

hosts allow=172.17.2.EXCEPT172.17.2.50 #表示容许来自172.17.2.*的主机连接,但排除172.17.2.50这台主机。

hosts allow=172.17.2.0/255.255.0.0 #表示容许来自172.17.2.0/255.255.0.0子网中的所有主机连接#

hosts allow=M1,M2 #表示容许来自M1和M2两台计算机连接

hosts [email protected] 9#表示容许来自XQ网域的所有计算机连接

 max connections = 0 #max connections用来指定连接Samba Server的最大连接数目。如果超出连接数目,则新的连接请求将被拒绝。0表示不限制。

 deadtime = 0 #deadtime用来设置断掉一个没有打开任何文件的连接的时间。单位是分钟,0代表Samba Server不自动切断任何连接。

log file = /var/log/samba/log.%m  #设置Samba Server日志文件的存储位置以及日志文件名称。在文件名后加个%m(主机名),表示对每台访问Samba Server的机器都单独记录一个日志文件。如果pc1、pc2访问过Samba Server,就会在/var/log/samba目录下留下log.pc1和log.pc2两个日志文件。#

 max log size = 50 #设置Samba Server日志文件的最大容量,单位为kB,0代表不限制。

security = user #设置用户访问Samba Server的验证方式,一共有四种验证方式。1. share:用户访问Samba Server不需要提供用户名和口令, 安全性能较低。2. user:Samba Server共享目录只能被授权的用户访问,由Samba Server负责检查账号和密码的正确性。账号和密码要在本Samba Server中建立。3. server:依靠其他Windows系列系统或Samba Server来验证用户的账号和密码,是一种代理验证。此种安全模式下,系统管理员可以把所有的Windows用户和口令集中到一个Windows系统上,使用Windows进行Samba认证, 远程服务器可以自动认证全部用户和口令,如果认证失败,Samba将使用用户级安全模式作为替代的方式。4. domain:域安全级别,使用主域控制器(PDC)来完成认证。#

passdb backend = tdbsam #passdb backend就是用户后台的意思。目前有三种后台:1. smbpasswd:使用smb自己的工具smbpasswd来给系统用户(真实用户或者虚拟用户)设置一个Samba密码; 2.tdbsam:使用一个数据库文件来建立用户数据库。数据库文件叫passdb.tdb,默认在/etc/samba目录下。passdb.tdb用户数据库可以使用smbpasswd –a来建立Samba用户,不过要建立的Samba用户必须先是系统用户。我们也可以使用pdbedit命令来建立Samba账户3.ldapsam:该方式则是基于LDAP的账户管理方式来验证用户。首先要建立LDAP服务,然后设置“passdb backend = ldapsam:ldap://LDAP Server”#

 encrypt passwords = yes/no #是否将认证密码加密。因为现在windows操作系统都是使用加密密码,所以一般要开启此项。不过配置文件默认已开启。#

 username map = /etc/samba/smbusers #用来定义用户名映射,比如可以将root换成administrator.admin等。不过要事先在smbusers文件中定义好。比如:root = administrator admin,这样就可以用administrator或admin这两个用户来代替root登陆Samba Server,更贴近windows用户的习惯。#

pdbedit命令的参数很多,我们列出几个主要的。

pdbedit –a username:新建Samba账户。

pdbedit –x username:删除Samba账户。

pdbedit –L:列出Samba用户列表,读取passdb.tdb数据库文件。

pdbedit –Lv:列出Samba用户列表的详细信息。

pdbedit –c “[D]” –u username:暂停该Samba用户的账号。

pdbedit –c “[]” –u username:恢复该Samba用户的账号。

项目五 配置与应用Samba服务

第六步 编辑Samba配置文件的共享参数

通过【vim /etc/samba/smb.conf】命令编辑/etc/samba/smb.conf文件,在最后增加如下内容:

项目五 配置与应用Samba服务

第七步 启动服务

/etc/init.d/smb restart】或【 service smb restart重启samba服务

chkconfig smb on设置samba服务在服务器重启后任然运行

项目五 配置与应用Samba服务

                          任务三 配置企业级Samba权限

子任务一 配置企业一般文件权限

第一步 建立共享目录

 通过如下命令建立共享目录mkdir -p /samba/market  sales  pub依次建立共享的三个文件夹 

第二步 建立用户群组

通过如下命令建立用户群组

groupadd marketusers建立市场部用户组

【groupadd salesusers】建立销售部用户组

【useradd user –s /sbin/nologin】建立user用户,并指明不可用的shell,

第三步 设置文件夹权限

通过如下命令设置文件夹权限:

【chmod 770 sales market】设置sales和market两个文件夹的权限为770

【chmod 777 pub】设置pub文件夹的权限为777

【chown :marketusers market】设置market文件夹的所属组为marketusers组

【chown  :salesusers  sales】设置sales文件夹的所属组为salesusers组

项目五 配置与应用Samba服务

第四步 备份配置文件

修改任何配置文件之前先备份原有配置文件【cp /etc/samba/smb.conf /etc/samba/smb.conf.bak】备份配置文件

第五步 编辑samba配置文件的共享参数

通过【vim /etc/samba/smb.conf】命令编辑/etc/samba/smb.conf文件。

项目五 配置与应用Samba服务

第六步 建立samba用户

【smbpasswd  –a  user】建立samba用户

第七步 客户端的连接测试

通过Windows的客户端访问共享目录通过【\\服务器IP】形式,在DOS仿真窗口,可以通过【net use】命令查看当前会在回话的网络连接,通过【net use \\服务器IP  /del】命令中断当前正在会话的网络连接,在测试阶段,如果不中断当前正在会话的网络连接,就无法使用另一个用户访问samba了。

项目五 配置与应用Samba服务

子任务二 配置企业特殊文件权限

第一步 分析企业需求。

公司有二个部门( sales  market ),销售部和市场部有自己单独的共享目录,只可以总经理和相应部门员工访问,并且公司员工禁止访问非本部门的共享目录。(这一个内容与第一个类似,只是用户组变成用户,多了一个用户组,只需要把文件夹所有者给总经理,所属组为用户组就OK)

第二步 建立共享目录。

【mkdir /home/sales】建立销售部共享文件夹

【 mkdir /home/market】建立市场部文件夹

第三步 建立用户以及群组

groupadd sales建立sales用户组

groupadd market建立market用户组

useradd -g sales salesuser建立salesuser用户并加入sales组中

useradd -g market marketuser建立marketuser用户并加入market组中

【useradd ceo】建立ceo账号

项目五 配置与应用Samba服务


第四步 建立samba访问账号

smbpasswd -a salesuser建立samba用户salesuser

smbpasswd -a marketuser建立samba用户marketuser

smbpasswd -a ceo建立samba用户ceo

第五步 设置文件夹权限

chgrp sales /home/sales修改/home/sales文件夹的所属组为sales组

chgrp market /home/market修改/home/ market文件夹的所属组为market组

chown ceo /home/sales修改/home/sales文件夹的所有者为ceo用户

chown ceo /home/market修改/home/ market文件夹的所有者为ceo用户

chmod 770 /home/sales修改/home/sales文件夹的权限为770

【chmod 770 /home/market】修改/home/ market文件夹的权限为770

【chmod g+s /home/sales】为/home/sales目录加上setgid标志

chmod g+s /home/market为/home/ market目录加上setgid标志

备注:setgid: 该权限只对目录有效。目录被设置该位后, 任何用户在此目录下创建的文件都具有和该目录所属的组相同的组。

项目五 配置与应用Samba服务

第六步 备份配置文件

cp /etc/samba/smb.conf /etc/samba/smb.conf.bak备份配置文件

第七步 编辑samba的主配置文

通过【vim /etc/samba/smb.conf】命令编辑smb.conf配置文件,更改的内容如下

项目五 配置与应用Samba服务

第八步 配置samba服务在系统中运行。

/etc/init.d/smb restartservice smb restart重启samba服务

chkconfig rpcbind on设置rpcbind开机后自动启动

chkconfig  smb  on设置samba服务开机后自动启动

 

项目五 配置与应用Samba服务

子任务三 配置企业严格文件权限 

第一步 功能分析

其实实现这个主要靠加载独立的配置文件来实现,只要把独立的文件设置好相应的权限就OK,SMB主配置文件中加入独立的配置文件,其他不用设置)关于用户的增加我这里就不写出来了,和上面的没有区别。(在此略过)

第二步 复制配置文件

首先把原始的smb.conf复制出来,后面加上相应的用户或用户组,如:smb.conf.user smb.conf.group 

第三步 配置各自的配置文件

子任务四

第一步 熟悉samba服务器的用户控制语句

public = no #不允许匿名用户访问

browseable = no#隐藏目录知道目录同样可以访问系统默认yes

valid users = 用户或列表或@用户组

writable = yes #共享权限可写目录本身要可写

write list = 用户或列表或@用户组

readonly = yes #是否设置只读(系统默认yes,可以不写

create mask = 0744 #控制客户机创建文件的权限(系统默认0744

directory mask = 0744 #控制客户机创建目录的权限(系统默认0755

第二步 配置Samba的几个关键字段

public = no #不允许匿名用户访问

browseable = no#隐藏目录知道目录同样可以访问系统默认yes

valid users = 用户或列表或@用户组

writable = yes #共享权限可写目录本身要可写

write list = 用户或列表或@用户组

readonly = yes #是否设置只读(系统默认yes,可以不写)

create mask = 0744 #控制客户机创建文件的权限(系统默认0744

directory mask = 0744 #控制客户机创建目录的权限(系统默认0755

第三步 熟悉批量增加SMB用户语句

以下几个设置,可以根据需要增加在全局配置文件里面。虽然简单,但功能不简单

include = /etc/samba/%G.smb.conf     #调用用户组相关的配置文件

include = /etc/samba/%U.smb.conf     #调用用户相关的配置文件

username map = /etc/samba/smbusers   #调用映射用户账号的配置文件

第四步 熟悉管理SMB的用户账号命令

器建好samba服务以后,还需要对其账户进行维护与管理,下面是其常用的命令以及释义:

smbpasswd -a增加一个账号

smbpasswd -d禁用一个账号

【smbpasswd –e】启用一个账号

【smbpasswd -x】删除一个账号

【smbpasswd】更改用户密码

pdbedit

【pdbedit -L】列出SMB中的账号

【pdbedit –a】增加一个账号

【pdbedit -x】删除一个账号

第五步  熟悉Linux客户端的访问测试方法

【smbtree 】显示局域网中的所有共享主机和目录列表

【smbtree –D】 只显示局域网中的工作组或域名。后面可以加上-U username%passwd ,则表示是相关用户的访问权限

【nmblookup 】查看局域网的所有主机的ip地址以及netbios主机名或工作组。 smbclient命令格式

【smbclient –L //主机名或IP -U 登录用户名】列出目标主机共享资源列表

【smbclient //主机名或IP/共享目录名 -U 登录用户名】使用共享资源

mount命令格式

【mount//目标IP或主机名/共享目录 挂载点 -o username=用户名】挂载共享

【umount 挂载点】 卸载共享

【smbtar -s server –u user –p passwd –x shareneam –t output.tar 】把远程的内容备份到本地



扩展训练五

一、选择题

1.Samba服务器的默认安全级别是(c)

A.share       B. user         C.server               D.domain

2.以下启动Samba服务的命令有(A)

A.[service smb restart]     B.[ /etc/samba/smb/ start]  C.[service smb stop]       D.[service smb start]

3.Samba的主要配置文件是(B)

A. /etc/smb.ini   B. /etc/samba.conf     C.  /etc/smb.conf    D. /etc/samba/smb.conf