有没有像drwxr-x---+中那样,在扩展ACL中处理额外用户权限的python模块



我有一个目录,其中包含额外的用户位(第11位(。但是,Python的osstat模块没有检查任何其他用户权限的方法。

我有一个文件/home/work/file_name.txt:

drwxr-xr-x+  2 POUG  NEWYORK       8192 Oct 23 12:16 file_name.txt

我使用os.stat()得到了file_name.txt的状态,并得到了模式stat.filemode()

该模式仅作为drwxr-x-rx出现,没有+位。

getfacl file_name.txt/
#file:  file_name.txt//
#owner: POUG
#group: NEWYORK
user::rwx
group::r-x
other::r-x
user:NYC:rwx

这是一个由两部分组成的问题:

  1. 是否有检索+位的方法?

  2. 是否有处理getfacl权限位的python模块?

    import os
    import stat
    status = os.stat('/home/work/file_name.txt')
    # retrieves permission bits in rwx form
    mode = stat.filemode(status.st_mode)      # however, this only retrieves drwxr-x-r-x
    # test dir/file, read/write/execute for owner/group/others
    stat.S_ISDIR(mode)
    bool(status.st_mode & stat.S_IREAD)
    bool(mode & stat.S_ISVTX) 
    

    等等。。。

有哪些方法可以测试其他用户权限?

没有单独的+位。

ls代码知道如何检索ACL集。如果存在并且需要显示,ls将使用+字符来标记ACL的存在。请参阅本文ServerFault。

有多个Python ACL访问器库。在谷歌上快速搜索后,第二个结果是"使用Posix 1e检索Python中的默认ACL",它指的是一个posix1e模块,在PyPI中似乎是pylibacl。

最新更新