linux下samba服务器的搭建(案列模拟)

模拟案列:

ABC公司有4个部门:sales+design+develop+ops

现在要分别给这四个部门设立各自独立的共享文件夹和一个都能读写的share文件夹

考虑到误删或者恶意删除同部门其他员工的文件,需要用到sticky属性,sticky一般作用在目录上,一旦作用了,那么这么目录下的文件只能由文件创始人或者root删除。

开干!

Step1 创建目录结构

mkdir -p /ABC/{design,sales,develop,ops,share{design,sales,develop,ops}}
[[email protected] ABC]# tree /ABC/
/ABC/
|-- design
|-- develop
|-- ops
|-- sales
`-- share
    |-- design
    |-- develop
    |-- ops
    `-- sales

Step2 添加账户

我们为每个部门创建2个用户,编写脚本user.sh

#/bin/bash
#
DEPART=(sales design develop ops)
for g in ${DEPART[@]};do
    groupadd $g
    for i in $(seq 1 2);do
        useradd -M -s /sbin/nologin -g ${g} ${g}$i
    done
done

Step3 配置smb.conf

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

[global]
        workgroup = SAMBA
        server string = Samba Server
        netbios name = SAMBA
# --------------------------- Logging Options -----------------------------
        # 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 ------------------------
        security = user
        passdb backend = tdbsam
        load printers = yes
        cups options = raw
#============================ Share Definitions ==============================
;[homes]
;       comment = Home Directory
;        browseable = no
;        writeable = no
[sales]
        comment = sales share
        path = /ABC/sales
        browsable = yes
        guest ok = no
        writable = no
        write list = @sales
[design]
        comment = design share
        path = /ABC/design
        browsable = yes
        guest ok = no
        writable = no
        write list = @design
[develop]
        comment = develop share
        path = /ABC/develop
        browsable = yes
        guest ok = no
        writable = no
        write list = @sales
[ops]
        comment = ops share
        path = /ABC/ops
        browsable = yes
        guest ok = no
        writable = no
        write list = @sales
[share]
        comment = public share
        path = /ABC/share
        browsable = yes
        guest ok = no
        writable = yes

Step4.设定权限

chown :design /ABC/design

chown :sales /ABC/sales

chown :develop /ABC/develop

chown :ops /ABC/ops

chown :design /ABC/share/design

chown :sales /ABC/share/sales

chown :develop /ABC/share/develop

chown :ops /ABC/share/ops

chmod 1770 /ABC/{design,sales,ops,develop}

chmod 775 /ABC/share

chmod 1775 /ABC/share/{design,sales,ops,develop}

最后阶段:测试效果

以sales1用户为例,

相对根目录:sales1无法进入除了sales和share文件夹以外的其他目录。

相对sales目录:sales1可以新建,删除自己的文件。但无法删除sales2建立的文件(sticky起作用了)

相对share目录:sales1可以访问所有目录但只在sales目录内有写权限,同样由于设置了sticky权限,sales1无法删除sales2建立的文件。

至此,完成

时间: 2024-08-06 21:17:48

linux下samba服务器的搭建(案列模拟)的相关文章

Linux下samba服务器的搭建和配置

一.安装软件包. samba-client    客户端工具包 samba-common    通用工具&库文件 samba           服务器 安装命令 rpm-ivh 包名     启动服务service smb start   /etc/init.d/smb start 二.配置samba服务器 smb.conf中常用的参数配置. 1.全局模式下的参数配置 [global]全局 workgroup:    指定samba所要加入的工作组 server string:服务器名称 ne

linux下svn服务器的搭建

网上的教程实在是太恶心了,不是太老,就是有问题,刚参考的一篇文章也有问题.自己记录下来,以后用就方便了,现在一边重新安装一遍,一边记录.笔者亲测,今天是5月29号深夜. linux用的是centos6.2,yum install subversion,安装svn服务端.本篇操作均为root用户权限. 1.建立svn库目录. mkdir -p /opt/svndata/repos1 2.建立版本库 svnadmin create /opt/svndata/repos1 3.修改配置文件 (1)服务

Linux下DHCP服务器的搭建

1.关闭防火墙和SELinux [[email protected] /]# service iptables stop [[email protected] /]# vim /etc/selinux/config SELINUX=permissive(将 enforcing改为permissive)保存退出 2.准备两台虚拟机,一台作为服务器,一台作为客户机,配置两个主机的IP地址,使服务器和客户机能够通信 服务器: [[email protected] /]# vim /etc/syscon

Linux 下 Samba 服务器搭建

初学,分享 环境和条件--- 虚拟机:VMware虚拟机 系统:Linux ubuntu 4.4.0-31-generic #50~14.04.1-Ubuntu SMP Wed Jul 13 01:07:32 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux 1:开机进入系统终端,快捷键 "Ctrl"+"Alt"+"T" , 在终端输入 "sudo apt-get install samba samba-c

Linux中samba服务器的搭建

使用的vmware12虚拟机安装的centos6.8和物理机上的windows10,实现在windows10 上访问CentOs上的samba服务. 一.先查看系统中是否安装有samba服务相关的软件包. 查看到我的linux中没有安装samba相关的软件包,接下来进行安装几个相关的软件包: samba-3.6.9-151.el6.x86_64                            //服务器端软件,主要提供samba服务器的守护程序,共享文档,日志的轮替 samba-commo

Linux之samba服务器的搭建及详解

SAMBA简介 SAMBA是什么 Samba,是种用来让UNIX系列的操作系统与微软Windows操作系统的SMB/CIFS(Server Message Block/Common Internet File System)网络协议做链接的自由软件.第三版不仅可访问及分享SMB的文件夹及打印机,本身还可以集成入Windows Server的网域,扮演为网域控制站(Domain Controller)以及加入Active Directory成员.简而言之,此软件在Windows与UNIX系列OS之

Linux下Samba服务器的安装和配置

第一步:sudo apt-get install samba smbclient 安装samba服务器. 第二步:打开/etc/samba/smb.conf文件,在末尾添加下面的字段: [用户名] comment = 用户名 path = /home/用户名 writable = yes 第三步:为samba服务器添加用户:smbpasswd -a 用户名 第四步:重启samba服务器:sudo /etc/init.d/samba restart 第五步:在windows电脑上连接samba服务

linux下mysql函数的详细案列

1 MYSQL * STDCALL mysql_real_connect(MYSQL *mysql, const char *host, 2 const char *user, 3 const char *passwd, 4 unsigned int port, 5 const char *unix_socket, 6 unsigned int clientflag); 1.  如何连接数据mysql数据库.... [[email protected] Mysql]$ cat demo.c 1

linux系统Samba服务器的搭建与配置

一.Samba概述 1.概述 Samba是在Linux和Unix系统上实现SMB协议的一个免费软件,有服务器及客户端程序构成.SMB是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务.SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统.打印机及其他资源.通过设置"NETBIOS over TCP/IP"使得Samba不但能与局域网主机分享资源,还能与全世界的电脑分享资源. 2.协议 SMB(Serv