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拡張権限はどうですか?
答え1
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