細かなアクセス制御の方法(ACLの使い方) → English


初めに

皆さんは、持っている全てのデータを全てのユーザーに見せていいという訳ではない、事は理解していると思います。 そのために殆どの計算機ではアクセス制御の機能を持っています。 unix(linux)では、パーミッションコードを使う方法が広く知られています。 この方法では、本人、グループ、全体の3つのカテゴリに対して、読み、書き、実行の3つの許可属性を定義できます。 自分以外の全体に対して許可や禁止をしたいときや、RCNPのようにグループ分けがきちんと管理されている グループに対しては、よい方法であり、設定も簡単です。 しかし、この法では特定の個人や、数人の仲間に許可をしたい時には実現できません。 そのため、許可する必要がない人たちにまで不要なアクセスを許可している場合もあるかと思います。 この状況はセキュリティ管理上、大きな問題になる場合もあります。

そこで、より細かなアクセス制御を行う方法として、ACLというものがあります。 これは、アクセスコントロールリストというもので、とても高度な使い方もできる機能ですが、 この文書では、アクセスを許可する数名~10数名 (*1) のユーザー名を列挙して定義する方法を説明します。

*1 実は数に上限がある訳ではありませんが、列挙する方法で何百人も管理するのは大変なので、実用上はそれくらいという意味です。

尚、この文書では、RCNPの計算機室が運用している原子核物理学物理学計算機上とwebサーバー上での 動作を確認しています。ともにRedHatなので、他のRedHat計算機でも同様に動作する筈です。

また、原子核物理学計算機がマウントしているスパコンのディスクに関しても動作する事を確認しています (スパコン側もRedHatです)。 スパコン側でACLを設定し、原子核物理学計算機側でもその通りに制御できること、およびその逆でも動作する事を確認しています。 但し、両システムではユーザー名が異なるので同一のACLに対してユーザー名部分はそれぞれのシステムでは、 それぞれのシステムのユーザー名で表示されることに注意して下さい。lsのユーザー名部分と同じ動作です。

ケーススタディ

ACLを皆さんに使って頂きたいのは、以下のような場合です。

ACLの機能

ACLでは、設定するアクセス権は、chmodコマンドと同様に、rwxの3種類です。

アクセスを許可する人を個別に複数、設定できます。chmodでは、自分、グループ、全体の3種類しかありませんでしたが、 「あるユーザー」というのを複数設定できます。実は、「自分」もこれの1つの場合になります。

ACLはchmodで設定するのと両立はできないと考えて下さい。 ACLを設定している状態で、chmodの設定を行うと、多くの場合は、上書きされて、ACLの機能が失われます。

ACLのコマンド


If you have a question, request or comment, feel free to consult us :
consult@rcnp.osaka-u.ac.jp