samba3.0 详细配置实例

2023-10-30

现在做了部分改动,并添加了mysql虚拟用户,还有补充了samba中批量增加用户的脚本.
Samba3.0服务器实战调试
Centos5预装的samba已经是Samba版本3.0.23c,功能已经非常强大了,今天我们调试的重点不是samba3.0的新功能,我们还是先来实现他的基本功能,文件共享服务,至于域控制器功能我会在以后的调试手记中阐述。
我们今天要实现的环境是,公司有:采购,营运,人资,企化,工程,财务,电脑,总经理室,8个部门,我们分别为8个部门建立8个用户组为 Purchase, Transport business, Manpower, Business, Project, Computer, General manager room
8个部门里各有3个用户,我们建用户分别为:部门领导(Leadership),文件夹管理者(Superintendent),使用者(User)
然后我们分别就公司的具体情况建立相应的目录及访问权限,通过以下的例子,希望大家能在平时的工作中灵活的应用samba的安全权限来设置你们的samba文件服务器。
1。首先服务器采用用户验证的方式,每个用户可以访问自己的宿主目录,并且只有该用户能访问宿主目录,并具有完全的权限,而其他人不能看到你的宿主目录。
2。建立一个电脑部的共享文件夹,希望Computer组和部门领导能看到,使用者也可以访问,但只有文件夹管理者有写的权限,还有一个部门文档交换目录public,所有部门员工都可读可写,但是每个用户只能删除自己创建的文件和目录,其他部门不可读写。
3。其他部门类似.全公司有一个全部门共享的资料库公共文档,所有部门只读,只有管理者可读可写.建议一个文件交换目录共享可写,所有人都能读写,包括guest用户,但每个人不能删除别人的文件。
前期的工作:
#groupadd ?g 1100  purchase;groupadd ?g 1200 transport;groupadd ?g 1300 manpower; groupadd ?g 1400 business; groupadd  -g 1500 project; groupadd  -g 1600 computer; groupadd ?g 1700 manager;
#cd /var/samba;  mkdir ‘采购部’ ‘营运部’ ‘人资部’ ‘企化部’ ‘工程部’ ‘财务部’ ‘电脑部’ ‘总经理室’ ‘公共文档’ ‘共享可写’ ‘共享软件’
添加用户,使得普通用户不能登陆系统.
useradd -u 1602 -d  /var/samba/电脑部/nick nick -c “nick” -g computer
useradd -u 1100 -d /var/samba/采购部/purchase purchase -c “采购管理者” -g purchase -s /sbin/nologin;
useradd -u 1101 -d /var/samba/采购部/purone purone -c “采购员一” -g purchase -s /sbin/nologin;
useradd -u 1102 -d  /var/samba/采购部/purtwo purtwo -c “采购员二” -g purchase -s /sbin/nologin;
useradd -u 1103 -d /var/samba/采购部/purthree purthree -c “采购员三” -g purchase -s /sbin/nologin;
useradd -u 1104 -d /var/samba/采购部/purfour purfour -c “采购员四” -g purchase -s /sbin/nologin;
用户的管理:
#smbpasswd -a  purchase; smbpasswd -a  purone; smbpasswd -a  purtwo; smbpasswd -a  purthree; smbpasswd -a  purfour;
权限的分配:
# chown  -R nick:computer 公共文档 共享可写 共享软件
# chmod 1777 共享可写
#chmod 775 共享软件;chmod 775 公共文档
#chown nick:computer 电脑部/
#chown -R nick:computer电脑部/public/
#chmod -R 1770电脑部/public/
# chown purchase: purchase 采购部
# chown -R nick:computer采购部/public/
#chmod -R 1770采购部/public/
我们为了避免麻烦可以在这里把上面所有的文件夹的权限都设置成777,我们通过samba灵活的权限管理来设置上面的5点要求。
以下是我的smb.conf的配置文件
[global]
workgroup = domain
#我的网络工作组
server string = Frank’s Samba File Server
#我的服务器名描述
security = user
os level = 33
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
#使用加密密码机制,在winArray5和winnt使用的是明文其他的基本上可以按照默认的来。
#支持中文环境
netbios name = fileserver
   display charset = cpArray36
   unix charset = cpArray36
   dos charset = cpArray36
[homes]
comment = Home Directories
browseable = no
writable = yes
valid users = %S
create mode = 0664
directory mode = 0775
Veto files = /*.exe/*.com/*.dll/*.bat/
[cdrom]
comment = %L’s DVDROM
path = /mnt/cdrom
public = yes
browseable = yes
root preexec = /bin/mount -t isoArray660 -0 iocharset=cpArray36 /dev/cdrom /mnt/cdrom
root postexec = /bin/umount /mnt/cdrom
[电脑部]
        comment = 电脑部内部共享
        path = /var/samba/电脑部/public
        public = no
        valid users = nick,@computer
        write list = @computer
        printable = no
        #browseable = no
        create mode = 0660
        directory mode = 0770
        Veto files = /*.exe/*.com/*.dll/*.bat/
[共享软件]
        comment = 公司共享软件
        path = /var/samba/共享软件
        public = yes
        writable =no
        write list = nick
        printable = no
        Veto files = /*.exe/*.com/*.dll/*.bat/
[公共文档]
        comment = 公司公共文档
        path = /var/samba/公共文档
        public = yes
        writable = no
        read only = yes
        Veto files = /*.exe/*.com/*.dll/*.bat/
[共享可写]
       comment = 公司内部文档交换目录
       path = /var/samba/共享可写
       public = yes
       writable = yes
       Veto files = /*.exe/*.com/*.dll/*.bat/
[采购部]
        comment = 采购部内部共享      
        browseable = yes
        printable = no
        write list = @purchase
        path = /var/samba/采购部/public
        valid users = nick,@purchase
        create mode = 0660
        directory mode = 0770
        Veto files = /*.exe/*.com/*.dll/*.bat/
#共享可写段基本能满足我们的第4要求,但不能满足每个人不能删除别人的文件这个条件,即使里设置了mask也是没用,其实这个条件只要unix设置一个粘着位就行
chmod -R 1777 /var/samba/共享可写
注意这里权限是1777,类似的系统目录/tmp也具有相同的权限,这个权限能实现每个人能自由写文件,但不能删除别人的文件这个要求
到此为止我们的设置已经能实现我们的共享文件要求,记得重启服务哦
#service smb restart
如果大家没有winodws,不妨先用samba的cilent端命令来测试一下命令的用法我在这里只举几个例子,具体的大家去试验 :smbclient -L 1Array2.168.8.250 -N
guest帐户查询你的服务器的samba共享情况,你可以检验一下是否carl目录时候能被guest帐户看到,应该是看不到的,当然你也可以以某个用户的名义查看
smbclient -L 1Array2.168.8.250  -U nick
系统会提示密码,只要输入smb密码就行。
smbclient //1Array2.168.8.250/nick-U nick
#以nick用户的名义登录nick目录
smbmount //1Array2.168.8.250/nick/mnt/nick-o username=nick
#把服务器的财务目录映射到本地的/mnt/nick目录
简单的病毒防护: 如果想拒绝EXE文件,COM文件,或DLL文件,你可以象这样设置Veto files的属性:Veto files = /*.exe/*.com/*.dll/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

samba3.0 详细配置实例 的相关文章

  • NodeJS 中的密码重置

    我已经设置使用 NodeJS Passport 更新用户的密码 我遵循了这个很棒的指南 http sahatyalkabov com how to implement password reset in nodejs http sahaty
  • 这种 bash 文件名提取技术有何用途?

    我有一部分 bash 脚本正在获取不带扩展名的文件名 但我试图了解这里到底发生了什么 是做什么用的 有人可以详细说明 bash 在幕后做了什么吗 如何在一般基础上使用该技术 bin bash for src in tif do txt sr
  • 码头无故停止

    我需要经验丰富的码头用户的建议 我在负载均衡器 亚马逊云 后面维护着 2 台 Linux 机器 使用 Jetty 9 0 3 有时我的 Jetty 容器会被 Thread 2 无故关闭 同时地 显示以下日志并且容器无故停止 没有错误 没有例
  • 找出 Linux 上的默认语言

    有没有办法从C语言中找出Linux系统的默认语言 有 POSIX API 可以实现这个功能吗 例如 我想要一个人类可读格式的字符串 即德语系统上的 German 或 Deutsch 法语系统上的 French 或 Francais 等 有类
  • Fortran 中的共享库,最小示例不起作用

    我试图了解如何在 Linux 下的 Fortran 中动态创建和链接共享库 我有两个文件 第一个 liblol f90 看起来像这样 subroutine func print lol end subroutine func 我用它编译gf
  • 如何确定代码是否在信号处理程序上下文中运行?

    我刚刚发现有人正在从信号处理程序调用我编写的绝对不是异步信号安全的函数 所以 现在我很好奇 如何避免这种情况再次发生 我希望能够轻松确定我的代码是否在信号处理程序上下文中运行 语言是 C 但该解决方案不适用于任何语言吗 int myfunc
  • 错误:命令“c++”失败,退出状态为 1

    所以我尝试按照以下说明安装 Pyv8https andrewwilkinson wordpress com 2012 01 23 integrating python and javascript with pyv8 https andre
  • 如何设置Java线程的CPU核心亲和力?

    我搜索了以前关于类似主题的帖子 但找不到合适的答案 因此提出这个问题 非常感谢您帮助回答 我知道在 Linux 中通过任务集命令设置进程与特定 CPU 核心的关联性 但我想设置 Java 线程与特定 cpu 核心的亲和力 以便属于同一进程的
  • 如何在 Linux 中重新添加 unicode 字节顺序标记?

    我有一个相当大的 SQL 文件 它以 FFFE 的字节顺序标记开头 我使用 unicode 感知的 linux 分割工具将此文件分割成 100 000 行块 但是当将这些传递回窗口时 它确实not与第一个部分以外的任何部分一样 只是它具有
  • Magento 路由器 URL - 需要连字符的路径名称

    假设我使用自定义控制器 其 url 路径 前端名称为 customcategory 好吧 显然如果我有一个名为 TestController php 和indexAction的控制器文件 url 路径将是 customcategory te
  • 如何重命名 .tar.gz 文件而不提取内容并在 UBUNTU 中创建新的 .tar.gz 文件?

    我有一个命令将创建一个新的 tar gz现有文件中的文件 sudo tar zcvf Existing tar gz New tar gz 该命令将创建一个新的New tar gz从现有的文件Existing tar gz file 谁能告
  • XAMPP Windows 上的 Php Cron 作业

    嗯 我是这个词的新手CRON 据我所知 这是一个Unix安排特定操作在定义的时间间隔后执行的概念 我需要运行一个php文件 每小时更新一次数据库 但我的困惑在于安排执行 我在用XAMPP用于 Windows 7 上的本地开发测试 我发现了什
  • 用于读取文件的 Bash 脚本

    不知道为什么最后一行没有从脚本中删除 bin bash FILENAME 1 while read line do cut d f2 echo line done lt FILENAME cat file 1 test 2 test 3 t
  • 在 Linux 控制台中返回一行?

    我知道我可以返回该行并用以下内容覆盖其内容 r 现在我怎样才能进入上一行来改变它呢 或者有没有办法打印到控制台窗口中的特定光标位置 我的目标是使用 PHP 创建一些自刷新的多行控制台应用程序 Use ANSI 转义码 http en wik
  • 为什么docker容器提示“权限被拒绝”?

    我使用以下命令来运行 docker 容器 并从主机映射目录 root database 到容器 tmp install database docker run it name oracle install v root database t
  • Process.Start() 可以考虑系统路径吗?

    我已经对此进行了一段时间的搜索和实验 但我没有运气 我正在尝试制作一个控制台程序来自动执行一些我无法使用 BAT 文件完成的任务 我想从 Windows SDK 调用 signcode exe 该 bin 文件夹包含我的系统路径中的所有工具
  • 在 MySQL 5.6 中重置 ROOT 密码

    我一直在关注这些说明 http dev mysql com doc refman 5 6 en resetting permissions html用于重置root本地安装的密码MySQL 5 6在 Windows 7 笔记本电脑上 我停止
  • 提高mysql导入速度[关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 我有一个很大的数据库22GB 我曾经用过进行备份mysqldumpgzip 格式的命令 当我提取 gz 文件时 它会生成 sql文件的
  • 如何将 elf 解释器(ld-linux.so.2/ld-2.17.so)构建为静态库?

    如果我的问题不准确 我深表歉意 因为我没有太多 Linux 相关经验 我目前正在构建一个 Linux 从头开始 主要遵循 linuxfromscratch org 版本的指南 7 3 我遇到了以下问题 当我构建可执行文件时 获取一个称为 E
  • 如何指定配置脚本的包含目录

    我的工作场所有一个 Linux 系统 其中包含相当旧的软件包 并且没有 root 访问权限 我正在从源代码编译我需要的包 prefix somewhere in homedir 我的问题是我只是不知道如何说服配置在特定目录中查找头文件 源码

随机推荐

  • 思科路由器配置

    1 路由表 show IP route 用户模式 特权模式 enable 全局配置模式 configure terminal config 配置主机名称 enable configure terminal config hostname t
  • RuntimeError: cuDNN error: CUDNN_STATUS_INTERNAL_ERROR

    torch backends cudnn benchmark True 加在开头
  • MySQL基础学习(四)——SQL语句之DML语句

    前言 上一篇博客介绍了一下SQL语句中的DDL和DCL语句 主要涉及通过SQL赋予或者撤回相关的用户权限 创建数据表 创建索引等内容 这一篇博客开始总结DML语句 就是我们开发中常用的一些select insert update delet
  • C#常见编程

    1 编写一段程序 运行时向用户提问 你考了多少分 0 100 接受输入后判断其等级并显示出来 判断依据如下 等级 优 90 100分 良 80 89分 中 60 69分 差 0 59分 static void Main string arg
  • 合并两个有序链表(easy)

    将两个升序链表合并为一个新的 升序 链表并返回 新链表是通过拼接给定的两个链表的所有节点组成的 示例 1 输入 l1 1 2 4 l2 1 3 4 输出 1 1 2 3 4 4 示例 2 输入 l1 l2 输出 示例 3 输入 l1 l2
  • 【Golang源码学习】chromedp篇

    GitHub https github com chromedp chromedp chromedp go RunResponse 官方注释 func RunResponse ctx context Context actions Acti
  • WKWebView之离线加载以及遇到的问题

    目录 前言 一 离线包是什么 二 方案调研 NSURLProtocol WKURLSchemeHandler 三 具体实施 1 离线包的分发 2 服务器对请求接口处理 3 客户端下载离线包 4 webview设置拦截 5 WKURLSche
  • Typcho反序列化漏洞分析

    Typcho反序列化漏洞分析 文章首发 https xz aliyun com t 9428 影响范围 2017年10月24日之前的所有版本 环境搭建 下载地址 http typecho org 这里主要是说下 在intall之前 需要我们
  • Linux Ubuntu搭建Git服务器

    之前介绍过如何在Windows上搭建Git仓库服务器 不过服务器用的比较多的还是Linux 因为便宜 同一个VPS商一般来说Linux比Windows便宜 没有图形界面 低配置VPS的也可以跑动Linux 开源免费 我感觉比较灵活 下载源也
  • 创建对象的五种方式

    1 使用new关键字 gt 调用构造函数 2 使用Class的newInstance方法 gt 调用构造函数 3 使用Constructor的newInstance方法 gt 调用构造函数 4 使用clone方法 gt 没有调用构造函数 5
  • Oracle中的触发器(trigger)

    1 触发器的定义 数据库触发器是一个与表相关联 存储PL SQL语句的 东西 每当一个特定的数据操作语句 insert update delete 在指定的表上发出时 Oracle自动执行触发器中定义的语句序列 例如 当员工信息插入后 自动
  • java基于winbox 工具下使用 api获取映射表api数据

    Winbox 是基于 windows下远程管理 ROS的软件 提供直观方便的图形界面 用它能登陆路由器 这个路由器是软路由ROUTEOS制作的 用Winbox登陆后 就可以配置路由器了 用这个软件便于配置路由器 Winbox控制台使用TCP
  • 如何利用今日头条极速版挣点小钱

    红包 1元现金速撸 红包 下载 今日头条极速版 进入 任务 填邀请码 1386552161 即可立即提现1元到支付宝 每天阅读 睡觉 签到 走路都有钱领
  • C++类和对象——(对象的赋值拷贝构造函数)

    目录 对象的赋值 目录 对象的赋值 1 提出问题 2 解决办法 拷贝构造函数 1 拷贝构造函数的原型 2 调用机制 3 使用例程代码 总代码工程 对象的赋值 1 提出问题 能否使用一个已经构造好的对象去初始化另一个对象 C 编译器又是如何处
  • 明日方舟服务器不稳定,《明日方舟》服务器恢复正常 补偿玩家400玉+40理智

    原标题 明日方舟 服务器恢复正常 补偿玩家400玉 40理智 此前我们曾报道 明日方舟 进不去 登微博热搜 官方表示正在紧急修复 现在 明日方舟 官方表示之前出现的问题已于18 00完成相关修复并已逐步恢复正常 将为受波及的玩家发放400合
  • Java 创建文件,文件夹不存在时,如何创建

    创建文件 String url C Users yz Desktop test new File String format s s s url test txt createNewFile 如果文件夹路径不存在则会报如下错误 正确代码 S
  • C++学习(四八三)无法从“std::pair<const _Kty,_Ty>”转换为“_Objty”

    使用vs2017编译osgEarth2 9的FeatureSourceIndexNode cpp遇到的 使用VS2017编译osgEarth2 7过程中遇到问题总结 justslowdown going的博客 CSDN博客 gt gt xm
  • 去除快捷方式箭头_桌面快捷方式小箭头去除与恢复方法

    电脑桌面的快捷方式图标默认都带有小箭头 不知道是不是自己心情不好 总之越看越不爽 今天我将出一期教程专门对付这个小箭头 去除或者保留 由我做主 去除小箭头方法 方法一 1 在键盘上按 win R 输入 regedit 点击 确定 2 鼠标右
  • WPF 样式 Style 封装

    从上面截图可以看出有三个圆形的 Button 他们的大小和鼠标悬停的效果一样 只是颜色各有不同 所以在实际的开发过程中最好是能够将样式模板封装起来 这样做减少了代码冗余 在开发过程中 如有相同的按钮样式实现直接应用就可以了 后期也利于阅读和
  • samba3.0 详细配置实例

    现在做了部分改动 并添加了mysql虚拟用户 还有补充了samba中批量增加用户的脚本 Samba3 0服务器实战调试 Centos5预装的samba已经是Samba版本3 0 23c 功能已经非常强大了 今天我们调试的重点不是samba3