機械翻訳について

ACLの設定および表示

警告:

このドキュメントはドラフトであり、本番での使用を目的としたものではありません。 ブランチ: OL10-FSADMIN

setfaclおよびgetfaclコマンドを使用して、ファイル・システムのACLを設定および表示します。

ファイルのACLルールを追加または変更するには、次の構文でsetfaclコマンドを使用します:

sudo setfacl -m rules file ...

ACLルールでは、次の形式を使用できます。

[ d: ] u: user [ : 権限 ]

名前またはユーザーIDで指定されたユーザーのアクセスACLを設定します。 これらの権限は、ユーザーが指定されていない場合は所有者に適用されます。

[ d: ] g: グループ [ : 権限 ]

名前またはグループIDで指定されたグループのアクセスACLを設定します。 これらの権限は、グループが指定されていない場合は所有グループに適用されます。

[ d: ] m [ : ][ : 権限 ]

所有グループの権限すべてとユーザーおよびグループのエントリすべてを結合した、有効な権限マスクを設定します。

[ d: ] o [ : ][ : 権限 ]

その他(他のいずれのルールも適用されない全員)のアクセスACLを設定します。

権限は次のとおりです。この権限はchmodコマンドで使用されます。

  • r: 読取り

  • w: 書込み

  • x: 実行

d:プレフィクスは、ディレクトリのデフォルトACLにルールを適用するために使用されます。

ファイルのACLを表示するには、getfaclコマンドを使用します。たとえば:

sudo getfacl foofile

このコマンドの出力は、次のようになります。

# file: foofile
# owner: bob
# group: bob
user::rw-
user::fiona:r--
user::jack:rw-
user::jill:rw-
group::r--
mask::r--
other::r--

拡張ACLがファイルでアクティブである場合、ls -lコマンドは、アクセス権の後にプラス記号(+)を表示します:

-rw-r--r--+ 1 bob bob  105322 Apr 11 11:02 foofile

次の例では、ディレクトリおよびファイルのACLを設定する方法と表示する方法を示します。

  • ユーザーにファイルまたはディレクトリへの読取りアクセス権を付与するには、次のようにします。

    sudo setfacl -m u:user:r file
  • ファイルまたはディレクトリの名前、所有者、グループおよびACLを表示するには、次のようにします。

    sudo getfacl file
  • ACLではなく有効な権限マスクを変更することで、すべてのグループおよびユーザーの、ファイルへの書込みアクセス権を削除します。

    sudo setfacl -m m::rx file

    -xオプションは、ユーザーまたはグループのルールを削除します。

  • ファイルのACLからユーザーのルールを削除するには、次のようにします。

    sudo setfacl -x u:user file
  • ファイルのACLからグループのルールを削除するには、次のようにします。

    sudo setfacl -x g:group file
  • ファイルまたはディレクトリからすべての拡張ACLエントリを削除するには、-bオプションを指定します:

    sudo setfacl -b file
  • ファイルf1のACLをファイルf2にコピーするには、次のようにします。

    sudo getfacl f1 | setfacl --set-file=- f2
  • ディレクトリ上のその他について読取りおよび実行アクセス権のデフォルトACLを設定するには、次のようにします。

    sudo setfacl -m d:o:rx directory
  • ディレクトリのACL設定を、継承可能なデフォルトACL設定に昇格させるには、次のようにします。

    sudo getfacl --access directory | setfacl -d -M- directory
  • ディレクトリからデフォルトのACLを削除するには、-kオプションを指定します:

    sudo setfacl -k directory

詳細は、acl(5)setfacl(1)およびgetfacl(1)の各マニュアル・ページを参照してください。