Samba服务的配置

一、  Samba服务的配置

配置文件简介

文件用#;进行注释,并且有大部分说明,方便用户配置,有一些配置模版参考。

Global settings          #全局设定

[global]        

       Network Related Options       #网络相关配置

Logging Options                     #登陆日志文件大小配置

Standalone Server Options    #配置共享模式和密码认证模式

Domain Members Options    #域成员认证相关配置

Domain Controller Options   #域控制器相关选项

Browser Control Options        #浏览控制,多个samba服务时可能会用到

Name Resolution      #wins解析和DNS代理相关选项

Printing Options              #打印相关选项

Filesystem Options   #扩展的文件属性配置 

Share Definitions             #共享设置

[homes]                     #家目录共享

[printers]             #打印共享

 

 

 

 

这里主要学习常用的配置选项

 

 

#======================= Global Settings============

 

[global]

 

# ----------------------- Network Related Options------------

        workgroup = MYGROUP           #工作组名称

        server string = Samba Server Version %v         #服务器描述

#netbios名称

;       netbios name = MYSERVER      

#设置允许侦听的本地网络接口

;       interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24   

                   #指定允许连接samba服务器的网段和IP

;       hosts allow = 127. 192.168.12. 192.168.13.

                   #禁止对应网段的访问,这些也可以单独设置在共享中  

                   hosts deny = 192.168.0.

# --------------------------- Logging Options ---------------

 

        #日志存放路径

        log file = /var/log/samba/log.%m

        #每个日志文件的最大容量

        max log size = 50

 

# ----------------------- Standalone ServerOptions-----------------

#安全级别分五种:

#share: 共享级别,服务器不对客户机进行身份验证,不推荐使用。

#user: 用户级别,服务器对客户机进行身份验证,默认使用这个。

#server: 服务器级别,Samba服务器必须通过另一台服务器对客户机进行身份验证。如果设置为此值,需另加一行:password Server = IP才行。

#domain: 域级别,Samba服务器要通过windows server的域控制器对客户机进行身份验证,需另加一行:password Server = IP才行。

        security = user 

#指定Samba服务器对用户帐户和密码的管理方式。一般默认即可,不推荐使用smbpasswd文件保存密码。

        passdb backend = tdbsam

 

#============================ Share Definitions===================

#这里定义的是家目录的共享,共享是的文件夹名称为用户名

[homes]

                   #注释信息

        comment = Home Directories

                   #文件夹是否可以被其它用户浏览

        browseable = no

                   #用户是否可以写入

        writable = yes

                   #设置允许访问的用户

;       valid users = %S

                   #允许访问的域用户,%S是一个samba变量,代表当前服务器名

                   #%u代表当前服务器的用户

;       valid users = MYDOMAIN\%S

 

#打印共享

[printers]

        comment = All Printers

        path = /var/spool/samba

        browseable = no

        guest ok = no

        writable = no

        printable = yes

#常用选项

                   comment = 备注信息

                   path = 绝对路径

                   public = yes/on 是否允许匿名访问

                   valid users = 用户名/@用户组      设置允许访问的用户或用户组,默认为yes。

                   readonly = yes/on 是否为只读

                   writable = yes/on 是否允许读写

                   write list = 用户/@用户组 允许读写的用户名单

                   guest ok = yes/on 是否允许匿名访问

                   guest only = 只允许匿名访问

                   creat mask = 权限掩码

                   directory mask = 目录掩码

常见通配符

                   %S = 当前服务名(如果有的话)

%P = 当前服务的根目录(如果有的话)

%u = 当前服务的用户名(如果有的话)

%g = 当前用户说在的主工作组

%U = 当前对话的用户名

%G = 当前对话的用户的主工作组

%H = 当前服务的用户的Home目录

%v = Samba服务的版本号。

%h = 运行Samba服务机器的主机名

%m = 客户机的NETBIOS名称

%L = 服务器的NETBIOS名称

%M = 客户机的主机名

%N = NIS服务器名

%p = NIS服务的Home目录

%R = 说采用的协议等级(值可以是CORE, COREPLUS, LANMAN1, LANMAN2,NT1)

%d = 当前服务进程的ID

%a = 客户机的结构(只能识别几项:Samba,WfWg,WinNT,Win95)

%I = 客户机的IP

%T = 当前日期和时间

 

 

二、  Samba服务实验

      实验一

某公司需要添加samba服务器作为文件服务器,工作组为workgroup,发布共享目录/share,共享名为public,这个目录允许所有员工访问。

 

 

 

#在根目录下建立date目录,共享文件尽量不要直接放在再根目录下

[root@RHEL1 /]# mkdir /date

[root@RHEL1 /]# cd /date/

[root@RHEL1 date]# mkdir share

[root@RHEL1 date]# ll

total 4

drwxr-xr-x. 2 root root 4096 Sep 23 16:28 share    

#因为所有人可以访问,将文件夹所属用户改为匿名用户nobody,

[root@RHEL1 date]# chown nobody:nobody share/

[root@RHEL1 date]# ll

total 4

drwxr-xr-x. 2 nobody nobody 4096 Sep 23 16:28 share

【global】

改为share模式

security = share

workgroup = Workgroup

 

#============================ Share Definitions ==============================

#在这里定义一个要求的共享

[public]

        comment = share date

        public = yes

        path = /date/share

        guest only = yes

        printers = no

#注释掉这些默认配置先

;[homes]

;       comment = Home Directories

;       browseable = no

;       writable = yes

;       valid users = %S

;       valid users = MYDOMAIN\%S

 

;[printers]

;       comment = All Printers

;       path = /var/spool/samba

;       browseable = no

;       guest ok = no

;       writable = no

;       printable = yes

#然后保存退出,重启服务,让配置生效。

[root@RHEL1 date]# service smb restart

Shutting down SMB services:                                [  OK  ]

Starting SMB services:                                     [  OK  ]

#检查一下配置文件

[root@RHEL1 date]# testparm /etc/samba/smb.conf           

Load smb config files from /etc/samba/smb.conf

rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)

Processing section "[public]"

Unknown parameter encountered: "printers"

Ignoring unknown parameter "printers"

Loaded services file OK.

Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

 

[global]

        server string = Samba Server Version %v

        log file = /var/log/samba/log.%m

        max log size = 50

        idmap config * : backend = tdb

 

[public]

        comment = share date

        path = /date/share

        guest only = Yes

        guest ok = Yes

#关于selinux,如果你关闭了selinux可以忽略这里,或者你使用setenforce 0将selinux暂时设置为Permissive。

#在配置文件的说明中也有关于SELINUX NOTES:的说明,可以参考一下

[root@RHEL1 date]# ll -dZ share/

drwxr-xr-x. nobody nobody unconfined_u:object_r:default_t:s0 share/

[root@RHEL1 date]# chcon -t samba_share_t share/

[root@RHEL1 date]# ll -dZ share/             

drwxr-xr-x. nobody nobody unconfined_u:object_r:samba_share_t:s0 share/

#建立两个测试文件

[root@RHEL1 share]# mkdir test

[root@RHEL1 share]# vim test.txt

[root@RHEL1 share]# ls

test  test.txt

[root@RHEL1 share]# cat test.txt 

This is a samba server

security = share

#然后再server2003上进行测试

image

 

image

 

 

 

 

实验二

1.       公共目录/data/share,销售部目录/data/sales,技术部/data/tech

2.       企业需求

总经理:master,销售部:经理mike,员工skyjane,技术部:经理:tom,员工:sunnybill,使用samba搭建一个公共目录,允许所有的人访问,权限为只读,为各部门搭建自己独立的目录,且本部门可见,总经理具有浏览、修改所有文件的权限(公共目录除外)。所用的用户都不可登陆系统,只允许公司内部网络访问samba服务器(内网段为192.168.10.0/24)。

 

创建对立的文件夹

[root@RHEL1 ~]# mkdir /data/

[root@RHEL1 ~]# cd /data/

[root@RHEL1 data]# mkdir share

[root@RHEL1 data]# mkdir sales

[root@RHEL1 data]# mkdir tech

一、添加对应的用户和组及密码,密码均为123456(仅供实验中使用)

 

[root@RHEL1 data]# groupadd sales

[root@RHEL1 data]# groupadd tech

[root@RHEL1 data]# useradd master

[root@RHEL1 data]# useradd -s /sbin/nologin -g sales mike

[root@RHEL1 data]# useradd -s /sbin/nologin -g sales sky

[root@RHEL1 data]# useradd -s /sbin/nologin -g sales jane

[root@RHEL1 data]# useradd -s /sbin/nologin -g tech tom

[root@RHEL1 data]# useradd -s /sbin/nologin -g tech sunny

[root@RHEL1 data]# useradd -s /sbin/nologin -g tech bill      

 

[root@RHEL1 samba]# smbpasswd -a master

New SMB password:

Retype new SMB password:

Added user master.

.

.

.

.

[root@RHEL1 samba]# smbpasswd -a bill

New SMB password:

Retype new SMB password:

Added user bill.

二、修改主配置文件和复制配置文件

#【global】主要修改部分

        hosts deny = all

        hosts allow = 127. 192.168.10. 

        config file = /etc/samba/smb.conf.%U    
	#调用当用户的配置文件,这里的配置语句,只需要主配置文件有即可

        config file = /etc/samba/smb.conf.%G   
	#调用当前用户的主用户组配置文件

                   security = user
 #【share】主配置文件中

[public]

        comment = share data

        path = /data/share

        read only = yes

        public = yes

[sales]

        comment = sales data

        path = /data/sales

        browseable = no

        read only = yes 

        valid users = @sales,master

[tech]

        comment = tech data

        path = /data/tech

        browseable = no

        valid users = @tech,master

        read only = yes

        三、修改复制对应组和用户的配置文件复制文件

[root@RHEL1 samba]# cp smb.conf smb.conf.master

[root@RHEL1 samba]#cp smb.conf smb.conf.sales

[root@RHEL1 samba]#cp smb.conf smb.conf.tech

         主要修改选项

#Smb.conf.sales

         [sales]

        comment = sales data

        path = /data/sales

        browseable = yes              #自己的组内成员可以浏览

        read only = yes

        valid users = @sales,master

 

#smb.conf.tech

        [tech]

        comment = tech data

        path = /data/tech

        browseable = yes              #同上

        valid users = @tech,master

        read only = yes

 

#smb.conf.master

         [sales]

        comment = sales data

        path = /data/sales

        browseable = yes              

        read only = yes

        valid users = @sales,master

         [tech]

        comment = tech data

        path = /data/tech

        browseable = yes              

        valid users = @tech,master

        read only = yes

 

        四、保存配置重启samba服务

[root@RHEL1 samba]# service smb restart

Shutting down SMB services:                                [  OK  ]

Starting SMB services:                                     [  OK  ]

       

 

image

 

 

 

image

 

 

 

 

 

 

Mikesales组用户

image

 

公共目录和本组目录可见

image

 

可读不可写

image

image

 

image

 

 

 

Tomtech用户组成员

image

 

公共目录和本组目录可见

image

 

 

可读不可写

image

 

image

 

 

image

 

 

 

Master用户

 

image

 

所有目录可见

image

 

具有读写权限

image

image

 

 

 

公共目录不可写

 

image

 

三、      Samba服务排错

samba

     

四、      总结

           这里只涉及一些初级的东西,没有很复杂的配置,都是简单的一些应用,还有一些关于域配置的一些高级配置,还没有涉及,有待

以后深入学习。还有一些问题没有解决,例如include = 为什么不起作用,如何让映射账户也有浏览权限等。

转载于:https://www.cnblogs.com/sharecast/p/3427602.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值