Permissions

linux / unix上的subinacl.exe等價物?

  • July 6, 2016

在 Windows 上修改權限時,我首先使用以下命令將 ACL 備份到文件:

subinacl /noverbose /output=C:\temp\foldername_redir_permissions_backup_star_star.txt /subdirectories "W:\foldername\*.*"

和…

subinacl /noverbose /output=C:\temp\foldername_redir_permissions_backup.txt /subdirectories "W:\foldername\"

…支持他們。

然後如果他們需要恢復,一個命令就像……

subinacl /playfile C:\temp\foldername_redir_permissions_backup_star_star.txt

…可以用來恢復它們。


那麼對於 Linux / Unix 上的 POSIX 權限可以做同樣的事情嗎?那麼 ACL 擴展權限呢?

setfacl旨在接受getfacl輸出作為輸入。這意味著您可以執行getfacl,將輸出保存到文件,執行您的操作,然後恢復 ACL。確切的過程可能因您的平台而異。但在 Linux 上:

 # Take a peek at the current ACL
[root@vlp-fuger ~]# getfacl newFile
# file: newFile
# owner: root
# group: root
user::rw-
group::r--
group:provisor:rwx
mask::rwx
other::r--

 # Backup ACL
[root@vlp-fuger ~]# getfacl newFile > newFile.acl

 # Remove the group permission, add another that we'll later want to get rid of
[root@vlp-fuger ~]# setfacl -x g:provisor newFile
[root@vlp-fuger ~]# setfacl -m g:ihtxadm:r-x newFile
[root@vlp-fuger ~]# getfacl newFile
# file: newFile
# owner: root
# group: root
user::rw-
group::r--
group:ihtxadm:r-x
mask::r-x
other::r--

 # Restore ACL to where it was
[root@vlp-fuger ~]# setfacl --restore=newFile.acl

 # Resulting ACL
[root@vlp-fuger ~]# getfacl newFile
# file: newFile
# owner: root
# group: root
user::rw-
group::r--
group:provisor:rwx
mask::rwx
other::r--

如果您想通過管道將舊 ACL 導入,您還可以使用用於還原並將其設置為的。您還可以用於--set-file備份setfacl整個目錄樹的 ACL。-``getfacl -R

引用自:https://unix.stackexchange.com/questions/294274