CentOS部署Samba企业文件共享服务(3)

如果samba服务器加入windows域环境中,验证工作服将由windows域控制器负责,domain级别的samba服务器只是成为域的成员客户端,并不具备服务器的特性,samba早期的版本就是使用此级别登录windows域滴。

(5)ads安全级别模式

当samba服务器使用ads安全级别加入到windows域环境中,其就具备了domain安全级别模式中所有的功能并可以具备域控制器的功能。

 

4.3、Share Definitions共享服务的定义

Share Definitions设置对象为共享目录和打印机,如果我们想发布共享资源,需要对Share Definitions部分进行配置。Share Definitions字段非常丰富,设置灵活。

我们先来讲下几个最常用的字段哈~

1)设置共享名

共享资源发布后,必须为每个共享目录或打印机设置不同的共享名,给网络用户访问时使用,并且共享名可以与原目录名不同。

共享名设置非常简单:[共享名]

我们来看个例子,Samba服务器中有个目录为/share,需要发布该目录成为共享目录,定义共享名为public

2)共享资源描述

网络中存在各种共享资源,为了方便用户识别,可以为其添加备注信息,以方便用户查看时知道共享资源的内容是什么哈。

格式:comment = 备注信息

举个例子哈,samba服务器上有个/sales目录存放公司销售部的数据,为了对公司部门员工进行区分,可以添加备注信息。

3)共享路径

共享资源的原始完整路径,可以使用path字段进行发布,务必正确指定。

格式:path =  绝对地址路径

samba服务器上/share/tools目录存放常用工具软件,需要发布该目录为共享,我们可以这样做。

4)设置匿名访问

共享资源如果对匿名访问进行设置,可以更改public字段。

格式:

1

2

 

public = yes     #允许匿名访问

public = no      #禁止匿名访问

 

samba服务器/share共享目录允许匿名用户访问,可以这样设置。

5)设置访问用户

如果共享资源存在重要数据的话,需要对访问用户审核,我们可以使用valid users字段进行设置哈~

格式:

1

2

 

valid users = 用户名

valid users = @组名

 

我们来看下面一个例子哈,samba服务器/share/tech目录存放了公司技术部数据,只允许技术部员工和经理访问,技术部组为tech,经理帐号为gm

6)设置目录只读

共享目录如果限制用户的读写操作,我们可以通过readonly实现哈~

格式:

1

2

 

readonly = yes    #只读

readonly = no     #读写

 

samba服务器公共目录/public存放大量共享数据,为保证目录安全我们只允许读取,禁止写入哈~

7)设置目录可写

如果共享目录允许用户写操作,可以使用writable或write list两个字段进行设置哈~

1

2

3

4

5

6

 

writable格式:

writable = yes      #读写

writable = no       #只读

write list格式:

write list = 用户名

write list = @组名

 

注意:

[homes]为特殊共享目录,表示用户主目录。

[printers]表示共享打印机。

5、配置一个共享资源

1

2

3

4

5

6

 

[share] #设置共享名

comment = Home Directories #描述

browseable = yes #是否允许查看此共享内容 。如果是否,后期通过绝对路径,可以查看到。

path = /share #共享路径,写绝对路径

public = yes #允许匿名查看

readonly = yes

 

6、samba的命令与客户端访问

6.1、testparm:测试有效的exports内的属性

6.2、pdbedit:管理smb的用户数据库。

1

2

3

4

5

 

pdbedit -L [-vm] 列出数据库中的用户等信息,-v详细信息,-w使用smbpasswd格式。

pdbedit -a -u [user] 新增一个用户,但必须存在实体用户。

pdbedit -r -u [user] 修改一个用户的信息,需搭配其他参数,可参考man文档。

pdbedit -x -u [user] 删除一个用户。

pdbedit -a -m -u [machine account计算机账号] 添加一个计算机账号,域相关。

 

6.3、smbpasswd:改变samba账户的密码。

1

2

3

4

5

 

smbpasswd -a [user] 新增用户以及密码。

smbpasswd -r [user] 修改用户密码。

smbpasswd -x [user] 删除用户。

smbpasswd -d [user] 禁止登陆。

smbpasswd -e [user] 启用用户。

 

6.4、smbclient:unix客户端访问工具。

1

2

3

4

5

6

7

8

9

 

smbclient -L //IPADDR [-U smbuser] 测试查看目标服务器所开放的共享文件夹

smbclient //IPADDR/dir -U smbuser 连接共享服务器文件夹。

[root@host2 ~]# smbclient //192.168.25.132/test -U zhanghe 命令行形式访问。

Enter zhanghe's password:

Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.6.23-30.el6_7]

smb: \\> help

? allinfo altname archive blo

cksize

cancel case_sensitive cd chmod chown....

 

6.5、挂载访问。

1

 

mount -t cifs -o username=zhanghe,password=123456 -l //192.168.25.132/test /tmp

 

7、samba搭建实例

7.1、smb服务端搭建:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

 

host1(192.168.1.1):

[root@host1 ~]# yum install samba

[root@host1 ~]# vim /etc/samba/smb.conf

[test]

comment = test on 192.168.25.132 server!

path = /tmp/samba

writable = yes

guest ok = yes

write list = zhanghe

[root@host1 ~]# testparm

[root@host1 ~]# useradd zhanghe

[root@host1 ~]# pdbedit -a -u zhanghe

[root@host1 ~]# pdbedit -L

[root@host1 ~]# mkdir -pv /tmp/samba

[root@host1 ~]# setfacl -m u:zhanghe:rwx /tmp/samba

[root@host1 ~]# service nmb start

[root@host1 ~]# service smb start

 

ps.配置iptables并设置selinux

8、修改配置文件,实战举例

8.1、例1:匿名共享:

公司现在用一个工作组Software, 需要添加samba 服务器作为文件服务器,并发布共享目

录/share,共享名为public,这个共享目录允许所有公司员工访问。

1

2

3

4

5

6

7

8

9

10

11

12

 

[root@host1 ~]# mkdir /share

[root@host1 ~]# cp /etc/passwd !$ #复制一个测试文件cp /etc/passwd /share

[root@host1 ~]# vim /etc/samba/smb.conf

[global]

workgroup = Software #工作组

server string = Software Samba Server #samba服务器描述

security = share # 允许匿名访问

============================ Share Definitions ====

[share] #设置共享名

comment = Home Directories #描述

path = /share #共享路径,写绝对路径

public = yes #允许匿名查看

 

2)重新加载配置

1

 

[root@host1 ~]#

 

8.2、例2:通过用户名和密码共享文件。把/sales 共享出去,只有知道用户名和密码的同事可以看这个共享。

我们需要将全局配置中security 设置为user 安全级别,然后在共享目录设置权限

注意:一定要先指定存放密码的文件位置:

2)修改samba 主配置文件smb.conf

改:

1

2

3

4

 

passdb backend = tdbsam

为:

passdb backend = smbpasswd

smb passwd file = /etc/samba/smbpasswd

 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/b15fa445702a9cb6cfadac4858163248.html