OSX: 使用ACL控制访问SMB/AFP共享目录的补充

在以前介绍ACL的“Unix File Permissions and ACLs in OS X”一文中,后面举例中说到的,使用ACL方便设置类似沙盒的方法,现在予以补正。

该文基于10.6以及以前的OS X系统,这个版本是在10.8.5和Windows 7系统上测试通过,建立沙盒的方法应该是使用下面的步骤。

注:如果使用OS X Server,那么用户以及访问权限可以在Server.app或者Server Admin.app中进行可视化的管理,本文针对使用普通客户版OS X系统。


沙盒(SandBox)的用意是, 在沙盒里面:

  • 任何人都可以创建(create)文件/目录
  • 任何人都可以打开(open)/删除(delete)/执行(execute)其他人创建的文件/目录
  • 任何人都可以添加(append)/修改(modify)其他人创建的文件/目录
  • 任何人都可以修改其他人创建的文件/目录的属性(attribut/properties)
  • 任何人,通过其它系统(Win/Unix/OSX)通过AFP/SMB访问,也可以完成上面各项的操作

**为了方便,下面以/Users/Shared/SandBox目录举例。**

要达到这些目的,首先要规划好作为服务提供的OS X系统的用户和用户组:

  • 一个本地管理员用户, 比如叫Emperor
  • 一个或者多个用于本地/网络访问的用户-根据你的实际情况而定,比如其中一个用户叫Apple,密码可以为空。
  • OS X默认地所有的本地用户都属于本地staff组,普通用户的默认组也是staff,后面我们会用户staff组。
  • 如果使用一个网络用户(例如AD)访问,那么这个管理员至少应该属于everyone用户组, 对应在AD中这个用户组的SID是S-1-1-0,而staff用户组在AD中的SID是S-1-5-32-545,也就是Windows中的Users用户组(注,所有的常用SID列表可以在这里找到)。
  • 如果使用一个网络用户(例如AD)作为管理员,那么这个管理员至少应该属于admin用户组,对应的AD的SID是S-1-5-32-544,也就是Administrators组。

建立SandBox目录并共享,开通SMB并准许每个用户及设置密码,然后设置共享目录属性,执行下面的命令:

sudo mkdir -p /Users/Shared/SandBox
sudo chown root:staff /Users/Shared/SandBox
sudo chmod -R 777 /Users/Shared/SandBox
sudo chmod -R +a "everyone allow list,add_file,search,delete,add_subdirectory,delete_child,chown,writesecurity,writeattr,readextattr,readattr,file_inherit,directory_inherit,only_inherit"  /Users/Shared/SandBox
sudo chmod -R +a "staff allow list,add_file,search,delete,add_subdirectory,delete_child,chown,writesecurity,writeattr,readextattr,readattr,file_inherit,directory_inherit,only_inherit"  /Users/Shared/SandBox
如果需要输入当前管理员用户的密码.

好,大功告成。


另注:对于使用FTP协议,可以参考Apple KB HT4704。其中主要的是生成FTP的ACL用户组com.apple.access_ftp,然后把需要的用户和用户组加入到其中(dseditgroup),如果需要可以是staff,最后启用FTP服务(sudo launchctl load -w /System/Library/LaunchDaemons/ftp.plist)。


补充:命令行开启SMB服务,添加一个用户使用SMB访问共享:

# Enable SMB service
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smbd.plist

# Enable user "apple" SMB sharing access with empty password.
pwpolicy -u apple -sethashtypes SMB-NT on
sudo dscl . -passwd /Users/apple "" 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值