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

博观而约取,厚积而薄发。这篇文章主要讲述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。
文件夹之间的关系见下图:

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

[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 ~]#


d. 新建目录

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




[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




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登录系统

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

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

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

其他测试自行完成。
配置完毕。
【Samba在Centos6.5中的安装和应用】


    推荐阅读