Samba在Centos6.5中的安装和应用

Posted qinjinhua

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Samba在Centos6.5中的安装和应用相关的知识,希望对你有一定的参考价值。

转载自​​http://blog.sina.com.cn/s/blog_4fa20e8c0102vd5q.html​

Samba的版本:Samba version 3.6.23-12.el6

(一)基于系统用户认证的samba


1,安装samba

 (1)yum -y install samba

2,创建www用户和组

(1)groupadd cehua (2)useradd cehua -g cehua (3)mkdir -p /data/ (4)chown -R cehua:cehua /data/ (5)chmod 777 /data/ (6)cat /etc/passwd | mksmbpasswd.sh> /etc/samba/smbpasswd 3,修改samba配置文件 (1) cp /etc/samba/smb.conf /etc/samba/smb.conf.bak           vi /etc/samba/smb.conf   (我把更改的配置文件粘出来,希望能帮到大家)

#======================= Global Settings ===================================== [global]   workgroup = WORKGROUP

        server string = Samba Server Version %v ;       netbios name = MYSERVER ;       interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24

        hosts allow = 127. 192.168.20. # --------------------------- Logging Options -----------------------------

#

# Log File let you specify where to put logs and how to split them up.

#

# Max Log Size let you specify the max size log files should reach         # logs split per machine

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

        # max 50KB per log file, then rotate

        max log size = 50 # ----------------------- Standalone Server Options ------------------------

#

# Scurity can be set to user, share(deprecated) or server(deprecated)

#

# Backend to store user information in. New installations should

# use either tdbsam or ldapsam. smbpasswd is available for backwards

# compatibility. tdbsam requires no further configuration.         security = user (备注//如果需要匿名访问这个修改成share,并把smb passwd行注释掉,下文的data目录就可以匿名访问,另外在data中把cehua相关的行删掉,加上guest ok = yes)

        smb passwd file = /etc/samba/smbpasswd

#       passdb backend = tdbsam

#============================ Share Definitions ============================== [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

[data]

path = /data

public = yes

writable = yes

valid user = cehua

force user = cehua

force group = cehua

available = yes

browseable = yes

create mode = 0775

directory mode = 0775 (2)关闭防火墙和Selinux:service iptables stop ,setenforce 0; chkconfig off iptables (永久关闭) vi /etc/selinux/config 把enforcing更改为disabled(永久关闭) 4,为samba用户cehua添加mima smbpasswd -a cehua 5,测试阶段 (1)启动samba:service smb start (2)找一台windows电脑在文件夹搜索栏输入//IP地址/ 输入用户名cehua和samba中cehua的密码,就能看到cehua的home文件以及/data 6,加入系统启动 chkconfig smb on   (二)基于虚拟用户认证的samba 目的:实现cehua对/data下的Test1、Test2有控制权限,test1和test2用户分别拥有的目录Test1、Test2之间相互只有只读权限。  和系统用户的配置基本一致,改变的地方为 1,新加用户和组cehua: useradd cehua -s /sbin/nologin 2,新加用户test1、test2到cehua组,并设置其samba密码 useradd -g cehua -s /sbin/nologin test1 smbpasswd -a test1(设置密码) useradd -g cehua -s /sbin/nologin test2 smbpasswd -a test2 3,在/data下新建两个个文件夹分别为Test1、Test2 mkdir Test1 && chown test1.cehua Test1 && chmod 750 Test1 mkdir Test2 && chown test2.cehua Test2 && chmod 750 Test2 4,smb.conf配置不同之处: [data]

path = /data/

writable = yes

admin users = cehua

valid users = @cehua

force group = cehua

force user = cehua

available = yes

browseable = yes

create mask = 0750

directory mask = 0750   [Test1]

path = /data/Test1

writable = yes

admin users = cehua

valid user = test1

#force group = cehua

#force user = test1

available = yes

browseable = yes

create mask = 0750

directory mask = 0750   [Test2]

path = /data/Test2

writable = yes

admin users = cehua

valid user = test2

#force group = cehua

#force user = test2

available = yes

browseable = yes

create mask = 0750

directory mask = 0750 4,重启samba service smb restart   亲测可用!

  下面是企业用来做文件服务器的案例,来自网络。 实现不同的用户访问同一个共享目录具有不同的权限,便于管理和维护。基本上能满足一些企业用户的需求。(整理自网络)

a. 需求

1. 某公司有5个大部门,分别为:人事行政部(HR & Admin Dept)、财务部(Financial Management Dept)、技术支持部(Technical Support Dept)、项目部(Project Dept)、客服部(Customer Service Dept)。

2. 各部门的文件夹只允许本部门员工有权访问;各部门之间交流性质的文件放到公用文件夹中。

3. 每个部门都有一个管理本部门文件夹的管理员账号和一个只能新建和查看文件的普通用户权限的账号。

4. 公用文件夹中分为存放工具的文件夹和存放各部门共享文件的文件夹。

5. 对于各部门自己的文件夹,各部门管理员具有完全控制权限,而各部门普通用户可以在该部门文件夹下新建文件及文件夹,并且对于自己新建的文件及文件夹有完全控制权限,对于管理员新建及上传的文件和文件夹只能访问,不能更改和删除。不是本部门用户不能访问本部门文件夹。

6. 对于公用文件夹中的各部门共享文件夹,各部门管理员具有完全控制权限,而各部门普通用户可以在该部门文件夹下新建文件及文件夹,并且对于自己新建的文件及文件夹有完全控制权限,对于管理员新建及上传的文件和文件夹只能访问,不能更改和删除。本部门用户(包括管理员和普通用户)在访问其他部门共享文件夹时,只能查看不能修改删除新建。对于存放工具的文件夹,只有管理员有权限,其他用户只能访问。

b. 规划

根据公司需求情况,现做出如下规划:

1. 在系统分区时单独分一个Company的区,在该区下有以下几个文件夹:HR、 FM、TS、PRO、CS和Share。在Share下又有以下几个文件夹:HR、FM、TS、PRO、CS和Tools。

2. 各部门对应的文件夹由各部门自己管理,Tools文件夹由管理员维护。

3. HR管理员账号:hradmin;普通用户账号:hruser。

   FM管理员账号:fmadmin;普通用户账号:fmuser。

   TS管理员账号:tsadmin;普通用户账号:tsuser。

   PRO管理员账号:proadmin;普通用户账号:prouser。

   CS管理员账号:csadmin;普通用户账号:csuser。

   Tools管理员账号:admin。

文件夹之间的关系见下图:

Samba在Centos6.5中的安装和应用_6.5

c. 新建用户

使用useradd命令新建系统账户,然后再使用smbpasswd –a建立SMB账户。

Samba在Centos6.5中的安装和应用_Centos_02

[root@TS-DEV ~]# useradd -s /sbin/nologin hradmin          
[root@TS-DEV ~]# useradd -g hradmin -s /sbin/nologin hruser
[root@TS-DEV ~]# useradd -s /sbin/nologin fmadmin
[root@TS-DEV ~]# useradd -g fmadmin -s /sbin/nologin fmuser
[root@TS-DEV ~]# useradd -s /sbin/nologin tsadmin
[root@TS-DEV ~]# useradd -g tsadmin -s /sbin/nologin tsuser
[root@TS-DEV ~]# useradd -s /sbin/nologin proadmin
[root@TS-DEV ~]# useradd -g proadmin -s /sbin/nologin prouser
[root@TS-DEV ~]# useradd -s /sbin/nologin csadmin
[root@TS-DEV ~]# useradd -g csadmin -s /sbin/nologin csuser
[root@TS-DEV ~]# useradd -s /sbin/nologin admin
[root@TS-DEV ~]#

[root@TS-DEV ~]# smbpasswd -a hradmin
New SMB password:
Retype new SMB password:
Added user fmuser.
[root@TS-DEV ~]# smbpasswd -a hruser
[root@TS-DEV ~]# smbpasswd -a fmadmin
[root@TS-DEV ~]# smbpasswd -a fmuser
[root@TS-DEV ~]# smbpasswd -a tsadmin
[root@TS-DEV ~]# smbpasswd -a tsuser
[root@TS-DEV ~]# smbpasswd -a proadmin
[root@TS-DEV ~]# smbpasswd -a prouser
[root@TS-DEV ~]# smbpasswd -a csadmin
[root@TS-DEV ~]# smbpasswd -a csuser
[root@TS-DEV ~]# smbpasswd -a admin
[root@TS-DEV ~]#

Samba在Centos6.5中的安装和应用_文件共享_03

d. 新建目录

Samba在Centos6.5中的安装和应用_6.5_04

e. 更改目录属性

[root@TS-DEV Company]# chown hradmin.hradmin HR
[root@TS-DEV Company]# chown fmadmin.fmadmin FM
[root@TS-DEV Company]# chown tsadmin.tsadmin TS
[root@TS-DEV Company]# chown proadmin.proadmin PRO
[root@TS-DEV Company]# chown csadmin.csadmin CS
[root@TS-DEV Company]# chown admin.admin Share


Samba在Centos6.5中的安装和应用_Samba_05

[root@TS-DEV
Company]# cd Share/
[root@TS-DEV Share]# chown hradmin.hradmin HR && chown
fmadmin.fmadmin FM && chown tsadmin.tsadmin TS && chown
proadmin.proadmin PRO && chown csadmin.csadmin CS &&
chown admin.admin Tools
[root@TS-DEV Share]# chmod 1775 HR FM TS PRO CS


Samba在Centos6.5中的安装和应用_6.5_06

f. 配置samba如下:

#======================= Global Settings ===================================== [global] # ----------------------- Network Related Options -------------------------

#

# workgroup = NT-Domain-Name or Workgroup-Name, eg: MIDEARTH

#

# server string is the equivalent of the NT Description field

#

# netbios name can be used to specify a server name not tied to the hostname         workgroup = WORKGROUP

        server string = David Samba Server Version %v

#       netbios name = DavidSamba # --------------------------- Logging Options -----------------------------

#

# Log File let you specify where to put logs and how to split them up.         log file = /var/log/samba/log.%m

        max log size = 50 # ----------------------- Standalone Server Options ------------------------

#

# Scurity can be set to user, share(deprecated) or server(deprecated)         security = user

smb passwd file = /etc/samba/smbpasswd #       passdb backend = tdbsam #============================ Share Definitions ============================== [HR]

comment = This is a directory of HR.

path = /Company/HR/

public = no

admin users = hradmin

valid users = @hradmin

writable = yes

create mask = 0750

directory mask = 0750


[FM]

comment = This is a directory of FM.

path = /Company/FM/

public = no

admin users = fmadmin

valid users = @fmadmin

writable = yes

create mask = 0750

directory mask = 0750


[TS]

comment = This is a directory of TS.

path = /Company/TS/

public = no

admin users = tsadmin

valid users = @tsadmin

writable = yes

create mask = 0750

directory mask = 0750


[PRO]

comment = This is a PRO directory.

path = /Company/PRO/

public = no

admin users = proadmin

valid users = @proadmin

writable = yes

create mask = 0750

directory mask = 0750


[CS]

comment = This is a directory of CS.

path = /Company/CS/

public = no

admin users = csadmin

valid users = @csadmin

writable = yes

create mask = 0750

directory mask = 0750


[Share]

comment = This is a share directory.

path = /Company/Share/

public = no

valid users = admin,@hradmin,@fmadmin,@tsadmin,@proadmin,@csadmin

writable = yes

create mask = 0755

directory mask = 0755  

g. 测试

以 hradmin登录系统

Samba在Centos6.5中的安装和应用_Samba_07

试图访问ts部门文件夹,要求输入用户名及密码

Samba在Centos6.5中的安装和应用_6.5_08

试图在\\\\10.0.0.163\\Share\\TS下新建文件

Samba在Centos6.5中的安装和应用_Samba_09

在自己部门所属文件夹下新建成功

Samba在Centos6.5中的安装和应用_Samba_10

其他测试自行完成。

配置完毕。


以上是关于Samba在Centos6.5中的安装和应用的主要内容,如果未能解决你的问题,请参考以下文章

Centos6.5下Samba服务器的安装和配置

虚拟机CentOS6.5搭建samba服务器实现文件共享

virtualbox中centos6.5安装samba实现win10中访问共享文件夹

CentOs6.5 下源码安装samba

在Centos6.5下Samba的简单配置

centos6.5怎么配置samba