`
923723914
  • 浏览: 634435 次
文章分类
社区版块
存档分类
最新评论

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比较分散, 甚至有些凌乱.
分享到:
评论

相关推荐

    LINUX设备驱动第三版_588及代码.rar

    PC/104和PC/104+ 其他的PC总线 SBus NuBus 外部总线 快速参考 第十三章 USB驱动程序 USB设备基础 USB和Sysfs USB urb 编写USB驱动程序 不使用urb的USB传输 快速参考 第十四章 Linux设备模型 kobject、...

    Linux DeviceDrivers 3rd Edition

    PC/104和PC/104+ 319 其他的PC总线 319 SBus 320 NuBus 321 外部总线 321 快速参考 322 第十三章 USB驱动程序 324 USB设备基础 326 USB和Sysfs 329 USB urb 331 编写USB驱动程序 342 不使用urb的USB传输 ...

    计算机应用基础第三章《计算机的组成》.pptx

    操作系统种类—PC PC电脑操作系统 Unix和类Unix操作系统 MACOS(Mac OS X、OS X) 它们大量用于商业服务器,以及学术和工程环境中的工作站 Linux操作系统 Apple Inc.开发,1984年以来一直是苹果的主要操作系统 1991...

    windowsnt 技术内幕

    复制用户帐号 为简化多个帐号的创建工作而建立用户帐号模板 删除和重新命名用户帐号 理解保护缺省的Administrator帐号的重要性 重新命名管理员帐号 理解缺省的Guest帐户 Windows NT在哪里创建帐号 设置口令限制条件 ...

    匿名 ftp 下载

    Internet上早期实现传输文件,并不是一件容易的事,我们知道 Internet是一个非常复杂的计算机环境,有PC,有工作站,有MAC,有大型机,而连接在Internet上的计算机有上千万台,并且这些计算机可能运行不同的操作系统...

    Visual C++程序开发范例宝典(光盘) 第四部分

    实例001 在系统菜单中添加菜单项 实例002 带图标的程序菜单 实例003 根据表中数据动态生成菜单 实例004 浮动的菜单 1.2 弹出菜单应用实例 实例005 在控件上单击右键弹出菜单 实例006 个性化的弹出菜单 实例...

    Visual C++程序开发范例宝典(光盘) 第八部分

    实例001 在系统菜单中添加菜单项 实例002 带图标的程序菜单 实例003 根据表中数据动态生成菜单 实例004 浮动的菜单 1.2 弹出菜单应用实例 实例005 在控件上单击右键弹出菜单 实例006 个性化的弹出菜单 实例...

    Visual C++ 程序开发范例宝典 源码 光盘 part2

    132 产品宣传屏幕保护程序 4.5 DirectShow程序设计 cc实例133 音频捕捉 cc实例134 视频捕捉 第5章 文件系统 5.1 文件的基本操作 cc实例135 创建和删除文件夹 cc实例136 把文件删除到回收站中 ...

    Visual C++程序开发范例宝典(PDF扫描版).part3

     cc实例001 在系统菜单中添加菜单项   cc实例002 带图标的程序菜单   cc实例003 根据表中数据动态生成菜单   cc实例004 浮动的菜单   1.2 弹出菜单应用实例   cc实例005 在控件上单击右键弹出菜单...

    Visual C++程序开发范例宝典(PDF扫描版).part2

     cc实例001 在系统菜单中添加菜单项   cc实例002 带图标的程序菜单   cc实例003 根据表中数据动态生成菜单   cc实例004 浮动的菜单   1.2 弹出菜单应用实例   cc实例005 在控件上单击右键弹出菜单...

    【最新版】wechat_devtools_1.02.2004020.dmg【亲测可用】最好的微信开发者工具

    A 新增 Mac 和 Windows 微信的模拟器类型 U 优化 1.02.1912261 的安装包结构 U 优化 MacOS 版关闭项目窗口时,显示项目列表窗口 U 优化 插件开发模式下 miniprogramRoot 下 app.json 中插件 provider 与项目 ...

Global site tag (gtag.js) - Google Analytics