案例推荐: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完成~

Samba共享权限分配的更多相关文章

  1. Samba共享目录的多用户权限设置案例

    下面根据实际工作中遇到的一个共享目录的多用户权限需求案例来说明下Samba用户权限的设置. 一.需求场景领导:李一(liyi)正式员工(zhengshiyuangong):刘二二(liuerer).于 ...

  2. 【samba】samba 用户权限配置(转)

    首先要保证你的samba安装并配置好,关于安装和配置samba请参考此文章 http://blog.csdn.net/linglongwunv/archive/2010/01/19/5212875.a ...

  3. windows怎么访问linux的samba共享目录

    windows怎么访问linux的samba共享目录 听语音 原创 | 浏览:6976 | 更新:2018-07-31 13:20 | 标签:LINUX WINDOWS 1 2 3 4 5 6 7 分 ...

  4. Centos下samba共享打印机

    先说需求,公司有一台型号为HP LaserJet m1120 mfp的打印机,由于不是网络打印机使用起来十分不便,公司老大要求将这台打印机连在公司的内网linux服务器上(CentOS),然后配置sa ...

  5. samba共享修改匿名用户为非nobody

    samba共享修改匿名用户为非nobody 1)linux的samba用户,如果开启匿名用户登陆共享权限,security 设置为 share ,配置如下:[root@centos69:~]$grep ...

  6. ntfs安全权限和共享权限的区别

    win xp 最大分区32G,最大文件大小4G. 共享权限是为网络用户设置的,NTFS权限是对文件夹设置的. 用户对文件夹有什么权限就是看NTFS权限的设置. 如果一个文件夹设置成共享,其具体的权限还 ...

  7. 如何在Fedora或CentOS上使用Samba共享

    如今,无论在家里或者是办公场所,不同的电脑之间共享文件夹已不是什么新鲜事了.在这种趋势下,现代操作系统通过网络文件系统的方式使得电脑间数据的交换变得简单而透明.如果您工作的环境中既有微软的Window ...

  8. linux --> ubuntu和mac通过samba共享

    ubuntu和mac通过samba共享 如果想快速配置,直接跳到第五步. 一.安装smb 执行下列命令 sudo apt-get install samba sudo apt-get install ...

  9. Linux下安装部署Samba共享盘的操作手册

    简述 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的 ...

随机推荐

  1. redux和react-redux的使用详解

    我自己的理解redux就跟vue中的vuex差不多,都是数据管理器,话不多说,我们从经典的计数器案例开始讲解 使用redux实现计数器 创建如下的react项目,我习惯把每一个模块分块,才有这么多文件 ...

  2. Spring Boot 微信-验证服务器有效性【转】

    转:https://blog.csdn.net/jeikerxiao/article/details/68064145 概述 接入微信公众平台开发,开发者需要按照如下步骤完成: 在自己服务器上,开发验 ...

  3. shutil.rmtree()

    shutil.rmtree(path, ignore_errors=False, onerror=None)   #递归地删除文件 def rmtree(path, ignore_errors=Fal ...

  4. DataSet和泛型之间相互转换

    取数据的时候,存储过程返回了多个结果集,后台用DataSet去接收这几个结果集,然后接收之后,需要将结果集转换为不同的实体,于是下面的代码便出现了. /// <summary> /// 将 ...

  5. git 完善使用中

    GIT 版本库控制: 第一步:Git 的账号注册 url :https://github.com/ 这是git的官网如果第一次打开会这样 中间红色圈内是注册 内容, 第一项是用户名 第二项是邮箱 第三 ...

  6. python学习笔记:第12天 列表推导式和生成器

    目录 1. 迭代器 2. 推导式 1. 迭代器 什么是生成器呢,其实生成器的本质就是迭代器:在python中有3中方式来获取生成器(这里主要介绍前面2种) 通过生成器函数获取 通过各种推导式来实现生成 ...

  7. Java学习笔记二十一:Java面向对象的三大特性之继承

    Java面向对象的三大特性之继承 一:继承的概念: 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类. 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方 ...

  8. 解决 Node.js 错误 Error:listen EADDRINUSE

    第一次尝试 node.js 中的 express 框架,写了第一个 js 文件之后,在 WebStorm 运行,到游览器刷新,成功运行. 又创建一个 js 文件,写的是静态路由的访问,结果出现了 Er ...

  9. mybatis入门(三):mybatis的基础特性

    mybatis的知识点: 1.mybatis和hibernate本质区别和应用场景 hibernate:是一个标准的ORM框架(Ojbect relation mapper对象关系映射).入门门槛较高 ...

  10. Caliburn.Micro 杰的入门教程4,事件聚合器

    Caliburn.Micro 杰的入门教程1(原创翻译)Caliburn.Micro 杰的入门教程2 ,了解Data Binding 和 Events(原创翻译)Caliburn.Micro 杰的入门 ...