Menu Close

Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

4.10.5. star のあるファイルのアーカイブ

star ユーティリティーは、デフォルトで拡張属性を保持しません。SELinux コンテキストは拡張属性に格納されるため、ファイルのアーカイブ時にコンテキストが失われる可能性があります。star -xattr -H=exustar コマンドを使用して、コンテキストを保持するアーカイブを作成します。star パッケージはデフォルトでインストールされません。 をインストールするには、root ユーザーとして yum install star コマンドを実行します。
以下の例は、SELinux コンテキストを保持する アーカイブの作成を示しています。

手順4.18 のアーカイブの作成

  1. root として、/var/www/html/ に 3 つのファイル(file1、file2、および file3)を作成します。これらのファイルは、/var/www/html/ から httpd_sys_content_t タイプを継承します。
    ~]# touch /var/www/html/file{1,2,3}
    ~]# ls -Z /var/www/html/
    -rw-r--r--  root root unconfined_u:object_r:httpd_sys_content_t:s0 file1
    -rw-r--r--  root root unconfined_u:object_r:httpd_sys_content_t:s0 file2
    -rw-r--r--  root root unconfined_u:object_r:httpd_sys_content_t:s0 file3
    
  2. /var/www/html/ ディレクトリーに移動します。このディレクトリーに移動したら、root で以下のコマンドを実行して test.star という名前の のアーカイブを作成します。
    ~]$ cd /var/www/html
    html]# star -xattr -H=exustar -c -f=test.star file{1,2,3}
    star: 1 blocks + 0 bytes (total of 10240 bytes = 10.00k).
    
  3. root で test/ という名前の新規 ディレクトリーを作成し、すべてのユーザーがそのディレクトリーにフルアクセスできるようにします。
    ~]# mkdir /test
    ~]# chmod 777 /test/
  4. 以下のコマンドを入力して、test.star ファイルを test / にコピーします。
    ~]$ cp /var/www/html/test.star /test/
  5. test/ に変更します。このディレクトリーに移動したら、以下のコマンドを実行して アーカイブを展開します。
    ~]$ cd /test/
    test]$ star -x -f=test.star 
    star: 1 blocks + 0 bytes (total of 10240 bytes = 10.00k).
    
  6. SELinux コンテキストを表示します。httpd_sys_content_t タイプは、default_t に変更されずに保持されました。これは、- xattr -H=exustar オプションが使用されていました。
    ~]$ ls -lZ /test/
    -rw-r--r--  user1 group1 unconfined_u:object_r:httpd_sys_content_t:s0 file1
    -rw-r--r--  user1 group1 unconfined_u:object_r:httpd_sys_content_t:s0 file2
    -rw-r--r--  user1 group1 unconfined_u:object_r:httpd_sys_content_t:s0 file3
    -rw-r--r--  user1 group1 unconfined_u:object_r:default_t:s0 test.star
    
  7. root として test/ ディレクトリーが必要なくなった場合は、以下のコマンドを実行してそのディレクトリーとそのファイルをすべて削除します。
    ~]# rm -ri /test/
  8. star がなくなった場合は、root でパッケージを削除します。
    ~]# yum remove star
star の詳細は、star(1) man ページを参照してください。