zoukankan      html  css  js  c++  java
  • Samba共享权限分配

    案例推荐:http://www.cnblogs.com/mchina/archive/2012/12/18/2816717.html

     本文不详细介绍全部参数,只介绍完成需求的一些参数。

    需求:

    1,账号建立:产研部门所有人员,产品、前端、后端、测试;

    2,目录建立:各二级部门分别建立以部门名称为文件夹的目录;

    3,初步权限管理:各部门成员对本部门目录有读写权限,对其他部门目录有读权限;

    4,建立共享目录,所有人有增删权限

    5,部门目录结构自行定义

    一、Samba的安装

     yum install samba.x86_64 samba-client.x86_64  samba-common.x86_64 samba-swat.x86_64 

    二、 账户创建,用户组创建,相关目录创建,目录的属主,属组更改

    a.创建每个部门的用户组

    [root@web2 ~]# groupadd ceshi
    [root@web2 ~]# groupadd chanpin
    [root@web2 ~]# groupadd PHP
    [root@web2 ~]# groupadd Android

    b.先创建系统用户,并加入自己的用户组

    [root@web2 ~]# useradd -g chanpin -s /sbin/nologin chanpinadmin
    [root@web2 ~]# useradd -g chanpin -s /sbin/nologin chanpinuser
    [root@web2 ~]# useradd -g ceshi -s /sbin/nologin ceshiadmin
    [root@web2 ~]# useradd -g ceshi -s /sbin/nologin ceshiuser
    [root@web2 ~]# useradd -g PHP -s /sbin/nologin phpadmin
    [root@web2 ~]# useradd -g PHP -s /sbin/nologin phpuser
    [root@web2 ~]# useradd -g Android -s /sbin/nologin androidadmin
    [root@web2 ~]# useradd -g Android -s /sbin/nologin androiduser

    c.创建samba用户并给每个用户设置密码,要在系统创建完后才可以创建samba用户 (smbpasswd -a $username命令是用于创建用户和更改密码的命令)

    [root@web2 ~]# smbpasswd  -a chanpiadmin
    New SMB password:
    Retype new SMB password:
    Added user chanpinuser.
    [root@web2 ~]# 
    

    >依次创建每个团队的用户

    [root@web2 ~]# smbpasswd  -a chanpinuser
    [root@web2 ~]# smbpasswd  -a phpadmin
    [root@web2 ~]# smbpasswd  -a phpuser
    [root@web2 ~]# smbpasswd  -a androidadmin
    [root@web2 ~]# smbpasswd  -a androiduser
    [root@web2 ~]# smbpasswd  -a ceshiadmin
    [root@web2 ~]# smbpasswd  -a ceshiuser
    

    d.创建目录,更改属主 

    [root@web2 Samba]# mkdir -p /letv/fet/Samba/ ceshi chanpin Android PHP
    [root@web2 Samba]# chown androidadmin.Android Android/ [root@web2 Samba]# chown phpadmin.PHP PHP/ [root@web2 Samba]# chown chanpinadmin.chanpin chanpin [root@web2 Samba]# chown ceshiadmin.ceshi ceshi/
    [root@web2 Samba]# ll
    total 36
    drwxr-xr-x 5 androidadmin Android 4096 Jul  6 11:10 Android
    drwxr-xr-x 3 ceshiadmin   ceshi   4096 Jul  5 17:59 ceshi
    drwxr-xr-x 5 chanpinadmin chanpin 4096 Jul  5 17:47 chanpin
    drwxr-xr-x 4 phpadmin     PHP     4096 Jul  5 18:27 PHP
    

    三、更改配置文件,实现权限的分配

    [root@web2 fet]# cp /etc/samba/smb.conf /etc/samba/bck_smb.conf
    [root@web2 fet]# cd /etc/samba/
    [root@web2 samba]# vi smb.conf

    里面的全局配置可以保持默认就行,如果自己对性能或者其他的要求可以参考更全面的文章,我这边没有需求没有全局的更改。

    #======================= 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
            passdb backend = tdbsam
    
    
    #============================ Share Definitions ==============================
    
    #[homes]                                                   
    #        comment = Home Directories
    #        browseable = no
    #        writable = yes
    ;       valid users = %S
    ;       valid users = MYDOMAIN\%S
    [共享目录]
            comment = this is share
            path = /letv/fet/Samba/share
            writable = yes
            admin users = @Android,@PHP,@chanpin,@ceshi
            valid users = @Android,@PHP,@chanpin,@ceshi
            create mask = 0777
            directory mask = 0777
    
    
    [PHP研发部门]
            comment = This is  php samba
            path = /letv/fet/Samba/PHP
            writable = yes
            admin users = phpadmin,@PHP
            valid users = @PHP,@Android,@chanpin,@ceshi
            create mask = 0774
            directory mask = 0775
    [Android研发部门]
            comment = This is Android samba
            path = /letv/fet/Samba/Android
            writable = yes
            admin users = androidadmin,@Android
            valid users = @PHP,@Android,@chanpin,@ceshi
            create mask = 0774
            directory mask = 0775
    [产品部门]
            comment = This is chanpin samba
            path = /letv/fet/Samba/chanpin
            writable = yes
            admin users = chanpinadmin,@chanpin
            valid users = @PHP,@Android,@chanpin,@ceshi
            create mask = 0774
            directory mask = 0775
    [测试部门]
            comment = This is ceshi samba
            path = /letv/fet/Samba/ceshi
            writable = yes
            admin users = ceshiadmin,@ceshi
            valid users = @PHP,@Android,@chanpin,@ceshi
            create mask = 0774
            directory mask = 0775
            directory mask = 0775
    

      

    comment 对这个共享目录的介绍,可以自定义
    path   共享目录路径
    writable 是否允许写入,yes/no
    admin users 共享目录的管理员用户直接填写,多个用户或者组需要用","号分隔开,@开头的表示是分组,”admin users = ceshiadmin,@ceshi“表示管理员包含 ceshiadmin用户和ceshi组里面的成员.
    valid users 允许访问的用户
    create mask = 0774  Samba用户在所在目录创建文件的权限 0774权限算是比较大的了,因为我这边需要给所有人可以查看打开,所以是-rwxrw-r--
    directory mask = 0775 Samba用户在所在目录创建文件夹的权限 0775 因为我这边需要给所有人可以查看打开,文件夹需要有执行的权限,所以是drwxrwxr-x

    然后就测试

    \192.169.1.100

     本部门文件可以随意操作,其他部门如下:

    切换账户测试的时候,Windows会有samba缓存自动登录原来的账户,需要清理一下

    清除方法:

    右击计算机--管理--服务和应用程序--服务--Workstation 重启服务清除缓存。

    频繁切换账户可能会出现短时间内无法访问的情况,会提示网络问题导致无法访问,此时可以换台PC测试或者多等待一下。

    (使用 SMB 协议创建并维护客户端网络与远程服务器之间的连接。如果此服务已停止,这些连接将无法使用。如果此服务已禁用,任何明确依赖它的服务将无法启动。)

    windows10 访问需要开启SMB1x协议,默认是关闭的,在控制面板--程序--服务里面配置

     ok完成~

    好记性不如烂笔头-_-
  • 相关阅读:
    Python pandas检查数据中是否有NaN的几种方法
    实现one hot encode独热编码的两种方法
    深度学习框架-caffe安装-环境[Mac OSX 10.12]
    Git使用记录
    求解大于某数的下一个素数
    caffe cifar10试跑问题总结
    深度学习框架-caffe安装-Mac OSX 10.12
    常用bash命令
    vim文本编辑器
    第十八周助教总结
  • 原文地址:https://www.cnblogs.com/liuquan/p/5644760.html
Copyright © 2011-2022 走看看