• MAC OS X的ACL扩展权限设置


    在WEB开发时,网站是以_www的用户运行的,而我在本地是以liuwencan的用户编辑的。这就带来一个问题:如果所有文件属于liuwencan,那么网站运行需要写文件时就因无权限而失败;如果所有文件属于_www,那么liuwencan则需要sudo获取权限才能写进去。最郁闷的是使用git合并的时候,如果忘了加sudo,就会因权限不足提示大量的合并失败,需要先回滚,再重合并下,甚是不爽。

    这个问题,在标准LINUX下,是可以用setfacl/getfacl做ACL控制解决此问题,但是MAC OS X上并没有这两个命令。百度了OS X ACL半天得到的不是打不开就是跟问题不搭边,最后去查看这些打不开的页面的快照(快照啊,找得是多蛋疼),找到了答案。

    MAC OS X上使用chmod +a增加ACL权限, chmod -a删除ACL权限,ls -le查看ACL权限。

    要解决上面提到的问题,执行以下两条命令修改网站根目录的扩展权限即可(www是我网站根目录名称,注意-R参数必须有,将www下面的所有文件也一并设置):

    $sudo chmod  -R +a 'liuwencan allow write,delete,file_inherit,directory_inherit,add_subdirectory' www
    $sudo chmod  -R +a '_www allow write,delete,file_inherit,directory_inherit,add_subdirectory' www
    

    执行以下命令确认权限设置有成功:

    $ls -le #以下为命令输出,对比可确认权限设置符合预期
    total 0
    drwxr-xr-x+ 37 liuwencan  staff  1258  8  5 10:04 www
     0: user:liuwencan allow add_file,delete,file_inherit,directory_inherit,add_subdirectory
     1: user:_www allow add_file,delete,file_inherit,directory_inherit,add_subdirectory
    

    该命令的其他用法,请参考原文:OS X ACL usage

  • 相关阅读:
    Python之pexpect详解
    Python之NMAP详解
    Python之正则表达式
    Python之面向对象-反射
    Python之元类详解
    Python之Django基本命令
    Python之Django的Model详解
    使用request+Beautiful爬取妹子图
    Django中settings设计模式(单例模式)
    六、Django之表单和类视图-Part 4
  • 原文地址:https://www.cnblogs.com/pheye/p/5740815.html
Copyright © 2020-2023  润新知