LinuxバックアップおよびリカバリおよびLinuxファイル権限の詳細

2432 ワード

LinuxバックアップおよびリカバリおよびLinuxファイル権限の詳細
概要
システム管理者の菜鳥が「chmod-R 777/」を誤って入力し、大きな悲劇を招き、システム全体が深刻な破壊を受けた.日常的な管理では、cp、rsync、etckeeperなどのファイル権限をバックアップするためのツールがたくさんあります.このバックアップツールを使用している場合は、ファイル権限の変更を心配する必要はありません.
ただし、ファイル自体ではなくファイル権限を一時的にバックアップしたい場合は、たとえば、ディレクトリの内容が上書きされないように、ディレクトリの下のすべてのファイルの書き込み権限を一時的に削除します.または、ファイル権限の問題を排除する過程で、ファイルに対してchmodコマンド操作を行う必要があります.これらの場合、元のファイル権限が変更される前にバックアップし、必要に応じて元の権限を復元できます.多くの場合、ファイルをバックアップする権限だけが必要な場合は、完全なファイルバックアップは必要ありません.
Linuxでは、実際にファイルのバックアップとリカバリ権限にアクセス制御リスト(ACL)を使用するのは簡単です.ACLは、posix対応のファイルシステム上で、異なる所有者およびグループに基づいて、単一のファイルの権限を定義します.
ACLツールのインストール
Debian,Ubuntu,Linux Mintで

$ sudo apt-get install acl

CentOS,Fedora,RHELで

$ sudo yum install acl

現在のディレクトリ(サブディレクトリを含む)のすべてのファイルをバックアップする権限

[xgj@entel2 shells]$ getfacl -R . > permissions.txt
[xgj@entel2 shells]$ 
[xgj@entel2 shells]$ ll
total 8
-rw-rw-r-- 1 xgj xgj 231 Jan 16 12:32 permissions.txt
-rwxrwxr-x 1 xgj xgj 420 Jan 16 12:14 sys_info.sh

このコマンドは、すべてのファイルのACL情報をpermissionsという名前ですべて書き込む.txtファイル.
以下は生成されたpermissionsである.txtファイル内のディレクトリ情報の一部

[xgj@entel2 shells]$ cat permissions.txt 
# file: .
# owner: xgj
# group: xgj
user::rwx
group::rwx
other::r-x

# file: sys_info.sh
# owner: xgj
# group: xgj
user::rwx
group::rwx
other::r-x

# file: permissions.txt
# owner: xgj
# group: xgj
user::rw-
group::rw-
other::r--


ファイル権限の変更

[xgj@entel2 shells]$ ll
total 8
-rw-rw-r-- 1 xgj xgj 231 Jan 16 12:32 permissions.txt
-rwxrwxr-x 1 xgj xgj 420 Jan 16 12:14 sys_info.sh
[xgj@entel2 shells]$ chmod 777 sys_info.sh 
[xgj@entel2 shells]$ ll
total 8
-rw-rw-r-- 1 xgj xgj 231 Jan 16 12:32 permissions.txt
-rwxrwxrwx 1 xgj xgj 420 Jan 16 12:14 sys_info.sh

既存の権限の復元
  • cdからsysの作成へinfo.sh時のディレクトリ
  • 次のコマンドを実行します:
  • 
    [xgj@entel2 shells]$ setfacl --restore=permissions.txt
    [xgj@entel2 shells]$ ll
    total 8
    -rw-rw-r-- 1 xgj xgj 231 Jan 16 12:32 permissions.txt
    -rwxrwxr-x 1 xgj xgj 420 Jan 16 12:14 sys_info.sh
    [xgj@entel2 shells]$ 
    

    読書に感謝して、みんなを助けることができることを望んで、みんなの当駅に対する支持に感謝します!