ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris の管理: 一般的なタスク Oracle Solaris 11 Information Library (日本語) |
1. Oracle Solaris のコマンドに関する情報の検索
4. Oracle Solarisシステムのブートとシャットダウン
5. Oracle Configuration Manager の操作
16. システムコンソール、端末デバイス、および電源サービスの管理 (手順)
19. システムおよびソフトウェアのトラブルシューティング (手順)
Oracle Solaris 11 では、ユーザーアカウントは Oracle Solaris ZFS ファイルシステムとして作成されます。管理者がユーザーアカウントを作成するとき、ホームディレクトリ以上のものが作成されます。独自のファイルシステムと独自の ZFS データセットをユーザーに付与することになります。useradd および roleadd コマンドを使用して作成されるすべてのホームディレクトリは、ユーザーのホームディレクトリを個別の ZFS ファイルシステムとして /export/home ファイルシステム上に配置します。その結果、ユーザーは自分のホームディレクトリをバックアップしたり、自分のホームディレクトリの ZFS スナップショットを作成したり、自分の現在のホームディレクトリ内のファイルを、自分が作成した ZFS スナップショットから置き換えたりできるようになります。
useradd コマンドは、自動マウントサービスの svc:/system/filesystem/autofs を利用してユーザーのホームディレクトリをマウントするため、このサービスを無効にしないでください。passwd データベース内で、ユーザーの各ホームディレクトリエントリは /home/ username の形式です。これは、オートマウンタによって auto_home マップを通して解決される autofs トリガーです。
useradd コマンドは、-d オプションを使用して指定されるパス名に対応するエントリを、auto_home マップに自動的に作成します。foobar:/export/home/jdoe のようにパス名にリモートホストの指定が含まれる場合、jdoe のホームディレクトリはシステム foobar 上に作成される必要があります。デフォルトのパス名は localhost:/export/home/ user です。
このファイルシステムは ZFS データセットであるため、ユーザーのホームディレクトリは子の ZFS データセットとして作成され、スナップショットを作成するための ZFS アクセス許可がユーザーに委任されます。ZFS データセットに対応しないパス名が指定された場合、通常のディレクトリが作成されます。-S ldap オプションが指定された場合、ローカルの auto_home マップの代わりに LDAP サーバー上の auto_home マップエントリが更新されます。
ユーザーアカウントを設定するときは、アカウントを追加する前にユーザーについての情報を収集する目的で、次のようなフォームを作成することができます。
|
$ su - Password: #
注 - この方法は、root がユーザーアカウントと役割のどちらであっても有効です。
# mkdir /shared-dir/skel/user-type
ユーザーのタイプに応じて初期設定ファイルを格納するディレクトリの名前。
ユーザー初期設定ファイルをカスタマイズする方法については、「ユーザーの作業環境のカスタマイズ」を参照してください。
# chmod 744 /shared-dir/skel/user-type/.*
# ls -la /shared-dir/skel/*
次の手順では、管理者が roles ディレクトリをカスタマイズ済みです。管理者はすべての役割についてデフォルトのホームディレクトリとスケルトンディレクトリを変更します。
# 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 ディレクトリから取り込まれます。
Oracle Solaris 11 では、ユーザーアカウントは Oracle Solaris ZFS ファイルシステムとして作成されます。useradd および roleadd コマンドを使用して作成されるすべてのホームディレクトリは、ユーザーのホームディレクトリを個別の ZFS ファイルシステムとして /export/home ファイルシステム上に配置します。
デフォルトでは、ユーザーはローカルに作成されます。-S ldap オプションを指定すると、ユーザーは既存の LDAP リポジトリに作成されます。
# useradd -m username
指定されたユーザーのアカウントを作成します。
指定されたユーザーのローカルホームディレクトリをシステム上に作成します。
注 - ユーザーにパスワードを割り当てるまで、アカウントはロックされます。
$ passwd username New password: Type user password Re-enter new password: Retype password
その他のコマンドオプションについては、useradd(1M) および passwd(1) のマニュアルページを参照してください。
参照
ユーザーを作成したあとに役割を追加する方法、または役割をユーザーアカウントに割り当てる方法については、『Oracle Solaris の管理: セキュリティーサービス』の「役割を作成する方法」を参照してください。
$ su - Password: #
注 - この方法は、root がユーザーアカウントと役割のどちらであっても有効です。
# userdel -r username
指定されたユーザーのアカウントを削除します。
システムからアカウントを削除します。
ユーザーのホームディレクトリは現在は ZFS データセットであるため、削除するユーザーのローカルホームディレクトリを削除する場合は、userdel コマンドの -r オプションを指定する方法を推奨します。
# userdel username
リモートサーバー上にあるユーザーのホームディレクトリは手動で削除する必要があります。
すべてのコマンドオプションの一覧は、userdel(1M) のマニュアルページを参照してください。
次の手順
削除したユーザーが cron ジョブの作成などの管理権限を持っていた場合や、そのユーザーが非大域ゾーンに追加のアカウントを持っていた場合、追加のクリーンアップが必要な場合があります。
# cat /etc/group
$ groupadd -g 18 exadata
/etc/group ファイルに適切なエントリを追加して、新しいグループ定義をシステム上に作成します。
新しいグループのグループ ID を割り当てます。
詳細は、groupadd(1M) のマニュアルページを参照してください。
例 3-1 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) のマニュアルページを参照してください。
ZFS ファイルシステムの NFS またはサーバーメッセージブロック (SMB) 共有が作成されてから、共有が公開されます。
2 段階のプロセスは次のとおりです:
zfs set share コマンドを使用して、ファイルシステム共有を作成します。この時点で、共有の特定のプロパティーを定義できます。共有のプロパティーを定義しない場合、その共有ではデフォルトのプロパティー値が使用されます。
sharenfs または sharesmb プロパティーを設定して、NFS または SMB 共有を公開します。プロパティーを off に設定するまで、共有は常時公開されます。
次の手順は root ユーザーで実行する必要があります。
始める前に
ユーザーのホームディレクトリ用に独立したプールを作成します。例:
# zpool create users mirror c1t1d0 c1t2d0 mirror c2t1d0 c2t2d0
次に、ホームディレクトリのコンテナを作成します:
# zfs create /users/home
# zfs set share=name=users,path=/users/home,prot=nfs users/home name=users,path=/users/home,prot=nfs # zfs set sharenfs=on users/home
# zfs create users/home/username1 # zfs create users/home/username2 # zfs create users/home/username3
例:
# zfs create users/home/alice # zfs create users/home/bob # zfs create users/home/carl
# zfs get -r sharenfs users/home
-r オプションは、すべての下位ファイルシステムを表示します。
参照
共有の作成と公開の詳細は、『Oracle Solaris の管理: ZFS ファイルシステム』の「ZFS ファイルシステムをマウントする」を参照してください。
ZFS ファイルシステムとして作成されるユーザーアカウントは通常、手動でマウントする必要がありません。ZFS では、ファイルシステムは作成時に自動マウントされ、それ以降は、SMF ローカルファイルシステムサービスからのブート時にマウントされます。
ユーザーアカウントを作成するときは必ず、ネームサービスと同じように、ホームディレクトリを /home/username に設定してください。次に、auto_home マップがユーザーのホームディレクトリの NFS パスを指していることを確認してください。作業関連の情報については、『Oracle Solaris のシステム管理 (ネットワークサービス)』の「autofs 管理作業の概要」を参照してください。
ユーザーのホームディレクトリを手動でマウントする必要がある場合は、zfs mount コマンドを使用します。例:
# zfs mount users/home/alice