Mac和PC在工作中管理的对比(5)
ACLs, 企业应用必备
Windows:
ACLs是Access Control Lists的缩写, 存取控制列表/访问控制列表. 它已经在大多数的现代操作系统中得到支持.
系统安全就是通过ACLs来实现的. 广义说, 一个对象要访问另外一个, 那么就要提交自己的对象
Windows很早在NT时开始就支持ACLs, 而且稳定, 图形界面的操作直观, 可以说是支持ACLs最广的系统, 不仅仅是文件, 还可以控制打印机,注册表和服务等等, 可以说每个Windows的对象都可以用ACLs管理.
管理上, 除了图形界面每个对象的属性中的安全设置, 命令行也有如cacls.exe, 第三方的工具SetACL等, 脚本和API也都有.
在这方面, Windows可以说是最好的.
Mac:
OSX系统从老虎10.4才开始正式支持基于文件的ACLs. 因为OS X是符合UNIX标准的核心, 它同时支持POSIX和ACLs, 两者互相配合, 完成对安全的细致控制, 以满足各种应用环境的要求. 但是OS X目前只是实现了对文件系统的ACLs支持, 还没有推广到其他系统对象.
现实一个文件的ACLs列表, 可以使用ls命令的-e来查看, 使用chmod来对ACLs进行操作.比如
touch a.txt
chmod +a "admin allow write" a.txt
ls -le a.txt
应该显示:
-rw-r--r--+ 1 admin staff 4 22 Apr 13:12 a.txt
0: user:admin allow write
我的博文:"Unix File Permissions and ACLs in OS X", 详细介绍了ACLs.
http://blog.csdn.net/afatgoat/article/details/3462131
在Mac上, 目前有多重手段可以用来达到细化访问控制的目的. 一般来说, 有些情况依然可以使用文件的ACLs来达到访问控制的目的, 比如设置打印机的ppd文件的存取, 可以控制对打印机访问的用户和用户组. 另外一个手段就是使用MCX了, 另外一篇中有介绍. 有的情况是, 每个应用/服务本身支持在配置文件中对用户/组存取进行控制, 比如对打印机的控制, 下面是cupsd.conf文件中定义, 用户添加更改删除打印机的默认设置:
<Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default CUPS-Get-Devices>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>
如果把user, 换为admin用户组,那么普通用户就无法添加更改删除打印机了.
其实OS X系统本身也维护者一个叫做authorization的文件, 这个文件中记录着用户访问权限的系统默认设定, 特殊情况下可以改变, 不过要特别注意, 一旦该文件被毁坏, 可能致使系统无法启动.
OS X这样的*nix的一个特性是, root用户是这个系统的至高无上者, 他可以干任何想干的事情, 所以root用户不受任何POSIX或者ACLs的制约, 而系统服务等, 好多是以root用户身份执行的, 当然现在在Mac上, 有好多应用/服务级别的程序会以自己的管理者身份运行, 比如打印机的_lp是打印机服务的用户.
使用下面的命令可以看到,OS X有很多内置的用户, 这些以"_"开头, ID在500以下的都是系统内置用户, 特殊用户, root的ID永远是0, 第一个用户-一般是安装是创建的第一个管理员用户, 它的ID是501.
dscl . list /Users UniqueID
要看用户组, 使用命令
dscl . list /Groups
需要注意的是, 在混合环境中, OS X和Windows用户交叉访问对方的服务器, 在设置ACLs的时候, 他们之间有可能出现水土不服的现象.
小结:
从上面来看, Windows对ACLs的支持是全面的, 而OS X比较分散, 甚至有些凌乱.
Mac和PC在工作中管理的对比(5)的更多相关文章
- Linux 运维工作中的经典应用ansible(批量管理)Docker容器技术(环境的快速搭建)
一 Ansible自动化运维工具 Python 在运维工作中的经典应用 ansible(批量管理操作) .安装ansible(需要bese epel 2种源) wget -O /etc/yum.rep ...
- 写程序该选Mac 还是PC ?(转)
原文链接:http://gogojimmy.net/2012/04/07/why-programmer-should-use-mac/ 序 一个竞争的市场,就会有对立的产生,这世界存在着很多不同的领域 ...
- [工作中的设计模式]解释器模式模式Interpreter
一.模式解析 解释器模式是类的行为模式.给定一个语言之后,解释器模式可以定义出其文法的一种表示,并同时提供一个解释器.客户端可以使用这个解释器来解释这个语言中的句子. 以上是解释器模式的类图,事实上我 ...
- MWeb 1.4 新功能介绍一:引入文件夹到 MWeb 中管理,支持 Octpress、Jekyll 等静态博客拖拽插入图片和实时预览
之前在 MWeb 中打开非文档库中的 Markdown 文档,如果文档中有引用到本机图片,是没办法在 MWeb 中显示出来和预览的.这是因为 Apple 规定在 Mac App Store(MAS) ...
- 在Mac OS X 10.8中配置Apache + PHP + MySQL
在Mac OS X 10.8中配置Apache+PHP+MySQL的内容包括: 配置Apache 配置PHP 安装MySQL 配置PHPAdmin 设置数据库默认字符集 一. 配置Apache 1. ...
- 5 个在 Linux 中管理文件类型和系统时间的有用命令
对于想学习 Linux 的初学者来说要适应使用命令行或者终端可能非常困难.由于终端比图形用户界面程序更能帮助用户控制 Linux 系统,我们必须习惯在终端中运行命令.因此为了有效记忆 Linux 不同 ...
- 工作中常用的QTP操作Excel函数
前言 本文只是对工作中常用的EOM相关函数的整理,并不是要写个大而全的操作手册,如果想对EOM有更多的了解可以参考QTP的帮助文档或查看QTP安装目录\CodeSamplesPlus\UsingExc ...
- 在Mac OS X 10.8中配置Apache+PHP+MySQL
在Mac OS X 10.8中配置Apache+PHP+MySQL的内容包括: 配置Apache 配置PHP 安装MySQL 配置PHPAdmin 设置数据库默认字符集 一. 配置Apache 1. ...
- docker中管理数据
到目前我们介绍了一些Docker的基础概念, 知道了如何使用Docker的image, 也知道了如何在多个container间通过网络通讯. 在这章里我们将介绍如何在docker的container内 ...
随机推荐
- PHP实现文件下载的核心代码
PHP实现文件下载的核心代码:
- 2008 SCI 影响因子(Impact Factor)
2008 SCI 影响因子(Impact Factor) Excel download 期刊名缩写 影响因子 ISSN号 CA-CANCER J CLIN 74.575 0007-9235 NEW E ...
- JSPGen4 自学路线图
- MySQL数据库事务各隔离级别加锁情况--Repeatable Read && MVCC(转)
本文转自https://m.imooc.com/article/details?article_id=17289 感谢作者 上节回顾 上两篇记录了我对MySQL 事务 隔离级别read uncommi ...
- druid连接数据库加解密
<bean id="dataSource" class="cn.zsmy.palmdoctor.utils.DecryptDruidSource" ini ...
- python文本 判断对象里面是否是类字符串
python文本 判断对象里面是否是类字符串 场景: 判断对象里面是否是类字符串 一般立刻会想到使用type()来实现 >>> def isExactlyAString(obj): ...
- jsp数据库连接大全和数据库操作封装到Javabean
一.jsp连接Oracle8/8i/9i数据库(用thin模式) testOracle.jsp如下: <%@ page contentType="text/html;charset=g ...
- Spring+Quartz 集群
这几天给Spring+Quartz的集群折腾得死去活来,google了无数页总算搞定,记下一些要点备以后使用. 单独的Quartz集群在http://unmi.blogjava.net/有Unmi翻译 ...
- UITableView与UIScrollView的一些问题(持续更新)
UITableView的一些常用操作 --------------------------------------------------------------------------------- ...
- eclipse 设置打开java文件代码自动折叠
eclipse 设置打开java文件代码自动折叠 java: windows/preference/java/editor/folding->enable folding 可以在里面设置所要折叠 ...