天天看点

Samba文件共享服务

samba服务:在linux/unix系统中实现了微软的smb/cifs网络协议,应用范围主要是windows和linux系统共存的网络,主要是提供共享文件和共享打印机的服务,使得跨平台的文件共享更容易。

实验要求:

1.安装装samba软件包,开启samba服务。

2.设置可匿名访问共享:将/var/share/public/目录共享为public,所有用户都可以访问,但只有只读权限。

3.设置需用户验证的共享:将/var/share/training/目录共享为peixun,允许root和技术部所有员工访问,但只有root用户可以写入,并要求root用户可以用adm账户访问,禁止其他人访问。

4.在linux客户机访问共享,并使用mount命令把public共享目录挂载到/media/smbdir目录下,从/media/smbdir目录下使用共享文件。

1.安装samba软件包

Samba文件共享服务

可以先查看linux系统中samba相关软件的安装情况

Samba文件共享服务

挂载系统镜像光盘(centos6.5),安装samba服务器核心软件包。

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

开启smb服务和nmb服务

samba服务器提供两种服务程序:smbd 负责提供服务器中的共享资源

 nmbd 负责提供基于netbios协议的主机名称解析,以便为windows网络中的主机进行 查询服务。

Samba文件共享服务

验证服务进程状态,查看相关端口是否处于监听状态。

smdb服务程序负责监听tcp协议的139端口(smb协议)、445端口(cifs协议)

nmbd服务程序负责监听udp协议的137-138端口(netbios协议)

注意:开启samba相关服务之前,需要现将网卡配置完成。

2.主配置文件/etc/samba/smb.cof各部分含义

Samba文件共享服务

全局配置:这部分配置项内容对整个samba服务器都有效,主要的配置项如下

workgroup       设置服务器所在的工作组名称

server string   设置服务器的说明文字

security        设置服务器的安全级别即验证登陆方式,共有四种:

                    share(可匿名访问)

    user(需要本服务器验证用户名及密码)

    server(需要指定另一台服务器来验证用户名及密码)

    domain(由windows域控制器验证用户名及密码)

log file        设置samba服务器的日志文件,默认设置为“/var/log/samba/log.%m”,按每客户机建立一个日志文件,其中“%m”变量表示客户端主机名或ip地址。

passwd backend  设置共享账户文件类型,默认使用tdbsam(tdb数据库文件)。

Samba文件共享服务

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

Samba文件共享服务

打印机共享设置:可以在这里配置共享打印机设备

comment      设置对应共享目录的注释、说明信息

path         设置对应共享目录在服务器中的文件夹路径

browseable   设置共享目录在“网上邻居”中是否可见,设置为no时相当于隐藏共享目录。

guest ok     与“public”配置项作用相同,设置是否所有人都可以访问共享目录。

writable     与“read only”配置项作用相反,设置该共享目录是否可写。

3.配置可匿名访问的共享

Samba文件共享服务

在修改配置文件smb.conf之前,先将其备份。

Samba文件共享服务

修改smb.conf配置文件

Samba文件共享服务

在[global]全局配置下,将安全级别设置为share。

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

添加共享目录public

选项:public   是否所有人都可以访问此目录,等同于”guest ok”

Samba文件共享服务

重新载入smb.conf文件,更新服务。

Samba文件共享服务

设置目录/var/share/public/的访问权限,因为在配置文件中已经将共享目录设置为了只读,所以这里给权限为777。

4.配置用户验证的共享

Samba文件共享服务

先创建jishubu组和fjc系统用户,并将fjc的基本组改为jishubu

(注意:共享用户必须对应系统中存在的用户)

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

命令:”pdbedit”  对共享用户进行管理

选项:”-a” 添加

      “-u” 指定用户名称

      “-l” 列出所有的samba共享用户

      “-v” 输出详细内容

      “-x” 删除指定的samba共享用户

(注意:共享需要授权一个组时,需要为组内每个系统用户都创建对应的samba共享用户)

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

修改配置文件/etc/samba/smbusers,给root设置一个别名adm

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

启用别名配置文件

Samba文件共享服务

使用用户验证访问samba共享,需要将安全级别提升为user

Samba文件共享服务

添加peixun的共享目录配置段

选项:valid users   能够使用该共享资源的用户和组

      write list    能够读取和写入该共享资源的用户和组

Samba文件共享服务

重新载入配置文件smb.conf

Samba文件共享服务

对共享目录/var/share/training/设置访问权限

补充:

Samba文件共享服务

hosts allow   指定仅允许访问共享的客户机地址段(白名单)

host deny    指定仅拒绝访问共享的客户机地址段(黑名单)

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

testparm程序可以对smb.conf配置文件的正确性进行检查

5.访问共享文件夹

windows系统访问共享的方法比较简单,这里说一下linux访问samba共享的方法。

Samba文件共享服务

命令:”smbclient  -l” 查询目标主机的共享资源列表(在工作组环境,不需要用户验证,在提示输入密码时直接按eenter键。)

Samba文件共享服务

登录并访问共享文件夹(允许匿名访问的不需要指定密码,直接回车。)

在”smb:\>”环境中,使用”?”或”help”命令查看各种交互命令的在线帮助

Samba文件共享服务

选项:”-u”  指定用户访问需要验证的共享文件,这里的用户adm便是root的别名。

Samba文件共享服务

将共享文件夹挂载到本地,即可通过挂载点目录直接使用共享文件夹的内容。

注意:当samba服务器的默认安全级别为”user”时,对于那些允许匿名访问的共享文件夹,在客户机中通过smbclient工具任然可以正常连接访问,但使用mount工具时将被拒绝挂载。

samba常见的配置项:

comment: 对共享目录的备注

path:共享的路径。

allow hosts和deny hosts:允许或者拒绝的主机

writeable:目录缺省是否可写,也可以用readonly = no来设置可写

valid users:能够使用该共享资源的用户和组

invalid users:不能够使用该共享资源的用户和组

read list:只能读取该共享资源的用户和组

write list:能读取和写该共享资源的用户和组

admin list:能管理该共享资源(包括读写和权限赋予等)的用户和组

public:该共享资源是否能给游客帐号访问,等同于”guest ok”

hide dot files:是否隐藏以“.”号开头的文件

create mode:新建立的文件的属性,一般是0644

directory mode:新建立的目录的属性,一般是0755

sync always:对该共享资源进行写操作后是否进行同步操作

short preserve case:不管文件名大小写

preserve case:保持大小写

case sensitive:是否对大小写敏感,一般选no,不然可能引起错误

mangle case:指明混合大小写

default case:缺省的文件名是全部大写还是小写(lower/upper)

force user:强制制定新建立文件的属主

wide links:是否允许共享链接文件

max connections = n:设定最大并发连接数

delete readonly:能否删除共享资源里面已经被定义为只读的文件