Solaris のシステム管理 (第 2 巻)

拡張ユーザー属性データベース (user_attr)

/etc/user_attr データベースは passwd データベースと shadow データベースを補足します。このデータベースには、承認プロファイルや実行プロファイルなど、拡張ユーザー属性が含まれます。このデータベースではユーザーに役割を割り当てることもできます。

role は、一連の管理作業を行うための特殊なユーザーアカウントです。ほとんどの点で通常のユーザーアカウントと同じですが、このアカウントには su コマンドからしかアクセスできません。たとえば CDE のログインウィンドウから、通常のログインを行う場合にこのアカウントにアクセスすることはできません。role アカウントでは、通常のアカウントでは使用できない特殊な属性 (一般には root ユーザー ID) を使用してコマンドにアクセスできます。

user_attr データベースの各フィールドは次のようにコロンで区切ります。


user:qualifier:res1:res2:attr

フィールドの意味は次のとおりです。

ファイル名 

説明 

user

passwd(4) データベースに指定されているユーザー名

qualifier

将来、使用される 

res1

将来、使用される 

res2

将来、使用される 

attr

セミコロン (;) で区切られた、キーと値のペアからなるリスト (省略可能)。これは、ユーザーがコマンドを実行したときに使用されるセキュリティ属性を表す。有効なキーは authsprofilesrolestype

  • auths には、auth_attr.4 データベースに定義されている名前から選択した承認名をコンマで区切って指定する。承認名には、ワイルドカードとしてアスタリスク (*) を使用できる。たとえば、solaris.device.* はすべての Solaris デバイスの承認を意味する

  • profiles には、prof_attr(4) から選択したプロファイル名をコンマで区切り特定の順序で指定する。ユーザーがどのコマンドをどのコマンド属性で実行できるかはプロファイルで決まる。user_attr の各ユーザーには少なくとも All プロファイルが指定されていなければならない。このプロファイルでは、ユーザーはすべてのコマンドを属性なしで実行できる。プロファイルの順序は重要である。この順序は UNIX の検索パスと同じように働く。実行するコマンドにどの属性 (属性を使用する場合) が適用されるかは、そのコマンドが含まれている、リストの最初のプロファイルによって決まる

  • roles には、ユーザーに割り当てる役割名をコンマで区切って指定する。役割も同じ user_attr データベースに定義されることに注意する。役割の場合は、type 値に role が設定される。役割を他の役割に割り当てることはできない

  • type には、アカウントが通常ユーザーの場合は normal、役割の場合は role を設定する。役割は、通常ユーザーがログインしたあとそのユーザーに与えられる

一般的な値を使用した user_attr データベースの例を次に示します。

Graphic

一般的な役割の割り当てを次の user_attr データベースを使用して説明します。この例では、sysadmin の役割がユーザー johndoe に割り当てられます。johndoe は、sysadmin の役割を与えられると、Device Management、Filesystem Management などのプロファイルや All プロファイルにアクセスできます。

Graphic