ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris 11.1 のユーザーアカウントとユーザー環境の管理 Oracle Solaris 11.1 Information Library (日本語) |
2. コマンド行インタフェースを使用したユーザーアカウントの管理 (タスク)
次のタスクでは、CLI を使用して、ユーザーアカウントを設定し、管理する方法について説明します。
|
ユーザーアカウントを設定するときは、アカウントを設定する前にユーザーについての情報を収集するために、次のようなフォームを作成することができます。
|
$ su - Password: #
『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。
# mkdir /shared-dir/skel/user-type
ユーザーのタイプに応じて初期設定ファイルを格納するディレクトリの名前。
ユーザー初期設定ファイルをカスタマイズする方法については、「ユーザーの作業環境のカスタマイズ」を参照してください。
# chmod 744 /shared-dir/skel/user-type/.*
# ls -la /shared-dir/skel/*
次の手順では、管理者が roles ディレクトリをカスタマイズ済みです。管理者はすべての役割についてデフォルトのホームディレクトリとスケルトンディレクトリを変更します。
『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。
# roleadd -D group=other,1 project=default,3 basedir=/home skel=/etc/skel shell=/bin/pfsh inactive=0 expire= auths= profiles=All limitpriv= defaultpriv= lock_after_retries=
# roleadd -D -b /export/home -k /etc/skel/roles # roleadd -D group=staff,10 project=default,3 basedir=/export/home skel=/etc/skel/roles shell=/bin/sh inactive=0 expire= auths= profiles= roles= limitpriv= defaultpriv= lock_after_retries=
以後、roleadd コマンドを使用すると、ホームディレクトリが /export/home に作成され、役割の環境が /etc/skel/roles ディレクトリから取り込まれます。
CLI を使用してユーザーアカウントを設定する場合に、次のガイドラインに注意してください。
このリリースでは、ユーザーアカウントは Oracle Solaris ZFS ファイルシステムとして作成されます。管理者として、ユーザーアカウントを作成すると、ユーザーに固有のファイルシステムと固有の ZFS データセットを付与することになります。useradd および roleadd コマンドを使用して作成されるすべてのホームディレクトリは、ユーザーのホームディレクトリを個別の ZFS ファイルシステムとして /export/home ファイルシステム上に配置します。その結果、ユーザーは自分のホームディレクトリをバックアップしたり、自分のホームディレクトリの ZFS スナップショットを作成したり、自分の現在のホームディレクトリ内のファイルを、自分が作成した ZFS スナップショットから置き換えたりできるようになります。
ユーザーアカウントを設定するには、root 役割または適切な権利プロファイル (ユーザー管理権利プロファイルなど) を持つ役割になる必要があります。『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。
useradd コマンドでユーザーアカウントを作成する場合、コマンド構文に、-m オプションを指定する必要があります。そうしないと、ユーザーのホームディレクトリが作成されません。
たとえば、次のコマンドはユーザー jdoe のホームディレクトリを作成します。
# useradd -m jdoe
ただし、次の構文はユーザーのホームディレクトリを作成しません:
# useradd jdoe
注 - このルールの唯一の例外は、pam_zfs_key モジュールでユーザーの暗号化ホームディレクトリを作成する場合です。この場合、useradd コマンドで -m オプションを指定しません。pam_zfs_key(5) および zfs_encrypt(1M) のマニュアルページを参照してください。
useradd コマンドは、-d オプションが hostname:/pathname とともに指定された場合にのみ、auto_home マップにエントリを作成します。それ以外の場合、指定されたパス名が passwd データベース内のユーザーのホームディレクトリとして更新され、auto_home マップエントリが作成されません。auto_home オートマウンタマップに指定されたホームディレクトリは、autofs サービスが有効な場合にのみマウントされます。
たとえば、-d オプションを指定して、次のようにユーザーを作成すると、auto_home エントリなしでユーザーが作成され、passwd エントリでユーザーのホームディレクトリとして /export/home/user1 が指定されます。
# useradd -d /export/home/user1 user1
ただし、-d オプションを使用して、次のようにユーザーを作成すると、ユーザーは auto_home エントリを持ち、passwd データベースに /home/user1 が含まれ、autofs サービスへの依存関係が示されます。
# useradd -d localhost:/export/home/user1 user1
ホームディレクトリのパス名に foobar:/export/home/jdoe などのリモートホスト指定が含まれている場合は、jdoe のホームディレクトリをシステム foobar 上に作成する必要があります。デフォルトのパス名は localhost:/export/home/ username です。
Oracle Solaris 11 のすべての状況にあてはまる、ファイルシステムが ZFS データセットである場合、ユーザーのホームディレクトリは子の ZFS データセットとして作成され、スナップショットを作成するための ZFS アクセス許可がユーザーに委任されます。ZFS データセットに対応しないパス名が指定された場合、通常のディレクトリが作成されます。-S ldap オプションを指定した場合は、ローカルの auto_home マップではなく、LDAP サーバーで auto_home マップエントリが更新されます。
このリリースでは、ユーザーアカウントは Oracle Solaris ZFS ファイルシステムとして作成されます。useradd および roleadd コマンドを使用して作成されるすべてのホームディレクトリは、ユーザーのホームディレクトリを個別の ZFS ファイルシステムとして /export/home ファイルシステム上に配置します。
useradd コマンドは、-d オプションが hostname:/pathname とともに指定された場合にのみ、auto_home マップにエントリを作成します。それ以外の場合、指定されたパス名が passwd データベース内のユーザーのホームディレクトリとして更新され、auto_home マップエントリが作成されません。auto_home オートマウンタマップに指定されたホームディレクトリは、autofs サービスが有効な場合にのみマウントされます。
『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。
デフォルトでは、ユーザーはローカルに作成されます。-S ldap オプションを含めると、ユーザーは既存の LDAP リポジトリに作成されます。
# useradd -d dir -m username
指定されたユーザーのアカウントを作成します。
ユーザーのホームディレクトリの場所を指定します。
エントリが auto_home に強制的に書き込まれるようにするには、-d /export/home/ username の代わりに -d localhost:/export/home/ username を使用します。
ユーザーのローカルホームディレクトリをシステム上に作成します。
次のように -d dir オプションを指定した場合、auto_home エントリなしでユーザーが作成され、passwd エントリでユーザーのホームディレクトリとして /export/home/user1 が指定されます。
# useradd -d /export/home/user1 user1
次のように、-d dir オプションを指定した場合、ユーザーは auto_home エントリを持ち、passwd データベースに /home/user1 が含まれ、autofs サービスへの依存関係が示されます。
# useradd -d localhost:/export/home/user1 user1
注 - pam_zfs_key モジュールでユーザーの暗号化ホームディレクトリを作成する場合。この場合、useradd コマンドで -m オプションを指定しません。「ユーザーアカウントの設定のガイドライン」を参照してください。
useradd コマンドで指定できるすべてのオプションと引数の詳細な説明については、useradd(1M) のマニュアルページを参照してください。
注 - ユーザーにパスワードを割り当てるまで、アカウントはロックされます。
# passwd username New password: Type user password Re-enter new password: Retype password
その他のコマンドオプションについては、useradd(1M) および passwd(1) のマニュアルページを参照してください。
参照
ユーザーの作成後、ユーザーへの役割の追加と割り当て、ユーザーの権利プロファイルの表示と変更、ユーザーの RBAC プロパティーの変更などの追加のタスクを実行する必要がある場合があります。詳細は、次のマニュアルページを参照してください。
『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「役割を作成する方法」および『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「役割を割り当てる方法」
『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「定義済みのすべてのセキュリティー属性を表示する方法」
『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「ユーザーのセキュリティー属性を変更する方法」
usermod コマンドは、ユーザーのログインの定義を変更し、ユーザーの適切なログイン関連ファイルシステムの変更を行うために使用します。
『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。
usermod コマンドで指定できる引数とオプションの詳細については、usermod(1M) のマニュアルページを参照してください。
たとえば、ユーザーに役割を追加するには、次のように入力します。
# usermod -R role username
例 2-1 ユーザーのアカウントの変更によるユーザーごとの PAM ポリシーの設定
次の例に、PAM ポリシーを設定するためにユーザーを変更する方法を示します。この特定の変更では、ユーザー jdoe が、すべての PAM サービスについて、Kerberos V5 プロトコルによってのみ認証されることを指定します。詳細については、pam_user_policy(5) を参照してください。
# usermod -K pam_policy=krb5_only jdoe
参照
ユーザーの変更の追加の例については、次のリファレンスを参照してください。
$ su - Password: #
注 - この方法は、root がユーザーアカウントと役割のどちらであっても有効です。
# userdel -r username
指定されたユーザーのアカウントを削除します。
システムからアカウントを削除します。
ユーザーのホームディレクトリは現在は ZFS データセットであるため、削除するユーザーのローカルホームディレクトリを削除する場合は、userdel コマンドの -r オプションを指定する方法を推奨します。
# userdel username
リモートサーバー上にあるユーザーのホームディレクトリは手動で削除する必要があります。
すべてのコマンドオプションの一覧は、userdel(1M) のマニュアルページを参照してください。
次の手順
削除したユーザーが cron ジョブの作成などの管理権限を持っていた場合や、そのユーザーが非大域ゾーンに追加のアカウントを持っていた場合、追加のクリーンアップが必要な場合があります。
管理者がグループを作成すると、システムによって solaris.group.assign /groupname がその管理者に割り当てられ、管理者はそのグループを完全に制御できます。同じ承認を持つ別の管理者がグループを作成すると、その管理者はそのグループを制御できます。グループを制御する管理者は、他の管理者のグループを管理できません。詳細については、groupadd(1M) および groupmod (1M) のマニュアルページを参照してください。
『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。
# cat /etc/group
$ groupadd -g 18 exadata
/etc/group ファイルに適切なエントリを追加して、新しいグループ定義をシステム上に作成します。
新しいグループのグループ ID を割り当てます。
詳細は、groupadd(1M) のマニュアルページを参照してください。
例 2-2 groupadd および useradd コマンドを使用したグループとユーザーの設定
次の例では、groupadd および useradd の各コマンドを使って、グループ scutters やユーザー scutter1 をローカルシステムのファイルに追加します。
# groupadd -g 102 scutters # useradd -u 1003 -g 102 -d /export/home/scutter1 -s /bin/csh \ -c "Scutter 1" -m -k /etc/skel scutter1 64 blocks
詳細は、groupadd(1M) および useradd(1M) のマニュアルページを参照してください。
この Oracle Solaris リリースでは、share.nfs プロパティーまたは share.smb プロパティーを設定して、ZFS ファイルシステムを共有できます。または zfs share コマンドを使用して、ファイルシステム共有を作成できます。デフォルトでは、すべてのファイルシステムが共有されません。
デフォルトで、pool/export/home データセットが /export/home にすでにマウントされています。useradd コマンドは、このデータセットの子として、ユーザーごとのデータセットを自動的に作成します。管理者として、ユーザーのホームディレクトリの新しいプールを作成するように選択できます。次の手順で、これらの手順について説明します。
ファイルシステムの共有および共有解除の詳細については、『Oracle Solaris 11.1 の管理: ZFS ファイルシステム』の「ZFS ファイルシステムを共有および共有解除する」を参照してください。
『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。
# zpool create users mirror c1t1d0 c1t2d0 mirror c2t1d0 c2t2d0
# zfs create users/home
# zfs set share.nfs=on users/home
この新しい構文を使用すると、各ファイルシステムの share.nfs プロパティー (または share.smb プロパティー) が on に設定されるとただちに作成される「自動共有」が、そのファイルシステムに含まれます。前のコマンドは、users/home というファイルシステムとそのすべての子を共有します。
# zfs get -r share.nfs users/home
-r オプションは、すべての下位ファイルシステムを表示します。
ZFS ファイルシステムとして作成されるユーザーアカウントは通常、手動でマウントする必要がありません。ZFS では、ファイルシステムは作成時に自動マウントされ、それ以降は、SMF ローカルファイルシステムサービスからのブート時にマウントされます。
ユーザーアカウントを作成するときは必ず、ネームサービスと同じように、ホームディレクトリを /home/username に設定してください。次に、auto_home マップがユーザーのホームディレクトリの NFS パスを指していることを確認してください。タスク関連情報については、『Oracle Solaris 11.1 でのネットワークファイルシステムの管理』の「autofs 管理タスクの概要」を参照してください。
ユーザーのホームディレクトリを手動でマウントする必要がある場合は、zfs mount コマンドを使用します。例:
# zfs mount users/home/alice