All Rights Reserved, Copyright (C) 2003, m@fjts.org
Last modified: Sun Mar 7 00:25:39 JST 2004

|前のページ |メニューに戻る| 次のページ|

ACL

ACLとは、仮想ファイルシステムアクセス制御リストで、 ユーザやグループ毎にファイルやディレクトリの permission を 細かく設定することができる機能です。

例えば、Aさん、Bさん、Cさん、というユーザがいて、 Aさん、Bさんは、書き込めるが、Cさんは書き込めない というディレクトリを作ることも可能です。

OSの設定

ここでは、UFS2のファイルシステム の場合のみの設定方法を書いていきたいと思います。

ACLを有効にするためには、以下のようにtunefsコマンドを実行し、 mountする際にaclsオプションをつけてください。 例えば、/dev/ad1s2fでACLを有効にしたい場合は、

% tunefs -a enable /dev/ad1s2f
% mount -s acls /dev/ad1s2f /mnt
の様にします。自動的にmountされるパーティーションでaclを使いたい場合は、 /etc/fstabで
/dev/ad1s2f             /mnt            ufs     rw,acls         2       2
の様にオプションの所にaclsを追加すれば有効にできます。

実際にACLが有効になっているかどうかは、 mountコマンドを実行することによって確認できます。 有効になっている場合は、

/dev/ad1s2f on /mnt (ufs, local, soft-updates, acls)
の様に表示されます。

主な使い方

では、実際にいじってみましょう。ここで紹介するコマンドは、 getfaclとsetfaclです。

ACL情報取得

ACLの情報を取得するには、
% getfacl [ファイル名]
を実行します。 これで、そのファイルのACLの設定が、どのようになっているのか、 がわかります。

設定方法

ACLを設定するためには、setfaclを以下のように使います。
% setfacl -m [ACLタグ]:[ACL修飾子]:[アクセス権],[ACLタグ]:[ACL修飾子]:[アクセス権],.... [ファイル名]
例えば、 というディレクトリの設定をしたい場合は、
% setfacl -m u:A:rwx,u:B:rwx,u:C:rx [ディレクトリ名]
の様に実行してください。

また、ACLタグ, ACL修飾子, アクセス権は、それぞれ、以下のような 文字列を設定できます。

ユーザの解除方法

% setfacl -b [ファイル名]
とすると必須の 3 エントリを除き、全 ACL エントリが削除されます。

まとめ

本当に個人的なメモページになってしまいました…。 目新しそうな情報も書けませんでしたし、 わかり易いとも言いがたいですし…。

より詳しく知りたい方は、acl(9),getfacl(1),setfacl(1)を御覧ください。 5.1-RELEASEのja-man-docにも含まれているようですので、英語が苦手な方でも 大丈夫だと思います。:-)


|前のページ |メニューに戻る| 次のページ|