tarユーティリティを使用してバックアップにファイルを保存すると、拡張ACLが失われます。
ACLを保存するための一般的でハッキングされていないソリューション(ACLを最初から再生成するスクリプト生成)はありますか?
答え1
実際、問題は(標準)ファイル権限ビットにはありません。拡大するACL情報(setfacl(1)またはacl(5)を参照)
私が知る限り、変更されていないGNU tarはACL情報を無視します。 (RHEL 5.2に付属のGNU tar 1.15.1のマニュアルページには、--aclsと--no-aclsスイッチが記載されていますが、まだ機能していません。)
しかし、星選択した場合、プログラムはACLをバックアップおよび復元できます。エクサスターフォーマット:
star -c -p -acl artype=exustar -f archive.tar files...
star -x -acl -f archive.tar
スターホームページ:http://cdrecord.berlios.de/new/private/star.html Starは少なくともUbuntuで利用可能です。
答え2
私も解決策を探しており、これまでこれを見つけました。
まず、私のフォルダからgetfactlを実行します。
getfacl -R /a_folder > folder.acl
その後、通常のタールを作成します。
tar -czvf folder.tar.gz /a_folder
私がそれを抽出するとき
tar -xvf folder.tar.gz
権限に対して setfacl 操作を実行します。
setfacl --restore=folder.acl
これは私にとって効果的です。
答え3
タールを使う
作る:
tar --acls -cpf backup.tar some-dir-or-file
解凍:
tar --acls -xpf backup.tar
答え4
私はあなたが使用することをお勧めしますbsdtar
。
bsdtar
デフォルトのバックアップ拡張ACL、これ同じ構文asGNU tar
で作成されたアーカイブを読み取ることができますGNU tar
。
パッケージとコマンド名(Debianベースのディストリビューションで)はbsdtar
。
bsdtar cf archive.tar /my/folder/using/extd_acl
bsdtar xf archive.tar
2番目(抽出)コマンドはACLを復元します。