インストールの際、システムに対してユーザを作成するよう求められていたかと思います。YaST のモジュール
を利用することで、インストール後でもユーザを追加したり既存のユーザを編集したりすることができます。ここでは、ネットワークサーバ側でユーザ認証を行うようにシステムを設定することもできます。ユーザやグループを管理するには、 YaST を起動して sudo yast2 users &
を直接実行しても、 ダイアログを直接表示させることができます。
それぞれのユーザには、システム全体で使用されるユーザ ID (UID) が割り当てられています。また、お使いのマシンにログインできるユーザとは別に、システム内部で使用されるいくつかの システムユーザ も存在しています。それぞれのユーザには 1 つまたは複数のグループが設定されます。 システムユーザ と同様に、システム内部で使用される システムグループ も存在しています。
メインウインドウには複数のタブが用意されています。それぞれのタブには異なる機能が用意され、ここからローカルユーザやネットワークユーザ、システムユーザを表示させたり編集したりすることができるようになっています。具体的には、下記の作業を行うことができます:
5.2項 「ユーザアカウントの管理」 で説明しているとおり、ユーザアカウントの作成や変更、削除や一時的な無効化を行うことができます。パスワードポリシーの強制やホームディレクトリの暗号化、ディスククォータの管理などについては、 5.3項 「ユーザアカウントに対する追加オプション」 をお読みください。
タブでは、ローカルユーザアカウントを作成する際、 5.4項 「ローカルユーザに対する既定値の変更」 をお読みください。
の設定に従って作成が行われます。既定で割り当てるグループやパス、ホームディレクトリのアクセス許可などを設定することができます。詳しくは個別のユーザに対するグループの割り当てを変更する方法については、 5.5項 「グループへのユーザ割り当て」 をお読みください。
5.6項 「グループの管理」 をお読みください。
タブでは、グループの追加や変更、削除を行うことができます。それぞれの手順について、詳しくはお使いのマシンか NIS や LDAP などのユーザ認証機能を提供するネットワークに接続されている場合、 5.7項 「ユーザの認証方法の変更」 をお読みください。
タブからそれぞれの認証を設定することができます。詳しくはユーザの管理とグループの管理は、それぞれ同じようなダイアログ構成になっています。ダイアログの上部にあるタブをお使いのうえ、ユーザとグループの表示を切り替えてください。
フィルタを設定することで、表示されるユーザやグループを選ぶことができます:
もしくは のタブ内にある を押して、 や など、表示させたいものを選んでください。なお、 › を選択すると、独自のフィルタを作成して適用することができます。選択したフィルタによっては、ダイアログ内の下記の機能が利用できないものがありますのでご注意ください。
YaST ではユーザアカウントの作成のほか、編集や削除、一時的な無効化を行うことができます。知識のあるユーザや管理者である場合を除いて、ユーザアカウントを不用意に変更してはなりません。
ファイルの所有権に関する情報は、ユーザ名ではなくユーザ ID に紐付いています。そのため、ユーザ ID を変更した場合は、ユーザのホームディレクトリの設定が自動的に更新され、適切なユーザ ID となるようになります。ただし、ホームディレクトリ以外で作成したファイルについては、変更されないことに注意してください。これらのファイルについては、手作業で所有権を修正する必要があります。
下記の手順では、既定の方法でユーザを設定することができます。詳しいオプションについては、 5.3項 「ユーザアカウントに対する追加オプション」 をお読みください。
YaST を開いて
を選び、ダイアログを表示させて タブに切り替えます。でフィルタを選択することで、表示するユーザを選ぶことができます。ダイアログ内では、システム内に存在するユーザと、そのユーザが所属するグループが表示されます。
既存のユーザに対するオプションを変更するには、変更したいユーザを選んで
を押します。新しいユーザアカウントを作成するには、
を押します。最初のタブでは、
(ログイン時に使用する名前) や など、必要なユーザデータを入力します。この 2 つのデータさえ入力すれば、ユーザを作成することができます。ここで を押すと、システムは自動的にユーザ ID を割り当て、その他の設定値については既定値が適用され、ユーザが作成されます。root
に対するメールの別名定義が作成されますので、 root
で認証することなくシステム関連のメールを読むことができるようになります。
システムサービスが送信するメールは、 /var/spool/mail/
ユーザ名 で表されるローカルのメールボックスに配送されます。ここで、 ユーザ名 にはユーザのユーザ名が入ります。メールを読むには、 mail
コマンドをお使いください。
ユーザ ID やユーザのホームディレクトリなど、詳しい設定を行いたい場合は、
タブを選択します。既存のユーザに対するホームディレクトリを移動したい場合は、新しいホームディレクトリの場所を入力したあと、
を選択して、既存のホームディレクトリの内容を移動させることができます。これを選択しないと、新しいホームディレクトリが作成されるだけで、既存のデータはそのままの場所に残ったままになります。ユーザに対して定期的にパスワードを変更させたい場合や、その他のパスワードオプションを設定したい場合は、 5.3.2項 「パスワードポリシーの強制」 をお読みください。
に切り替えて必要な設定を行います。詳しくはすべての設定が完了したら、
を押してください。を押すと管理ダイアログを閉じて、設定内容を保存することができます。新しくユーザを作成した場合は、これでログインできるようになります。
ダイアログを終了せずにすべての変更点を保存したい場合は、 › を選択します。
root
のアカウントの名前を変更しないでください技術的な観点では root
のアカウント名の変更は可能ですが、アプリケーションやスクリプト、サードパーティ製の製品によっては、 root
という名前で管理者ユーザが存在していることを前提にしているものもあります。これらの設定を変更するなどして root
のアカウント名変更に対応できる場合もありますが、場合によってはパッケージ更新のたびに毎回対応を行わなければならないこともあります。特に複数のサードパーティ製アプリケーションが存在する複雑な環境の場合、それぞれのアプリケーションに対して対応の可否を確認しなければならなくなります。
このように root
のアカウント名変更による影響が予測できない範囲に及ぶことから、 SUSE では root
のアカウント名変更をサポート対象外としております。
また root
のアカウント名変更は一般に、アカウントの隠蔽や攻撃回避の目的で行われますが、 /etc/passwd
には 644
のパーミッションを設定して一般ユーザからも読めるように設定しなければならないことから、たとえアカウント名を変更したとしても、ユーザ ID 0 のアカウント名が何であるのかは容易に判別ができてしまう問題もあります。root
アカウントの保護に関する詳細は、 14.5項 「root
ログインの制限」 および 14.5.3項 「SSH ログインの制限」 をお読みください。
ローカル側のユーザ ID と、ネットワーク内でのユーザ ID は、同じ値にしておくと便利です。たとえばラップトップマシンでユーザを作成した場合、同じ ID でネットワーク側のユーザも作成しておくと、そのユーザがネットワーク内で直接作成したファイルを 「オフライン」 環境でも利用できるようになるためです。
YaST を開いて
を選び、ダイアログを表示させて タブに切り替えます。削除せずに一時的にユーザアカウントを無効化したい場合は、一覧からユーザを選んで
を押します。あとは を選択してください。これにより、チェックを外して保存するまでの間、ユーザはログインができなくなります。ユーザアカウントを削除するには、一覧からユーザを選んで
を押します。削除するユーザのホームディレクトリも削除するか、もしくは残しておくかを選択することができます。既定のユーザアカウントに対する設定のほかにも、 openSUSE® Leap では様々な追加オプションが用意されています。たとえばパスワードポリシーの強制やホームディレクトリの暗号化、ユーザやグループに対するディスククォータなどがあります。
GNOME デスクトップ環境をお使いの場合は、特定のユーザに対して 自動ログイン を設定することができるほか、すべてのユーザに対して パスワード無しログイン を設定することができます。自動ログインを設定すると、起動時に特定のユーザで自動的にログインするようになります。この機能は複数のユーザに対して同時に設定することはできません。また、パスワード無しログインをすべてのユーザに対して有効化すると、ログインマネージャでユーザ名を入力するだけで、ログインできるようになります。
複数の人間がアクセスできるマシンに対して、 自動ログイン や パスワード無しログイン を設定するのはセキュリティ上のリスクとなります。これらの設定では、いずれも認証を必要としない仕組みになりますので、お使いのシステムやデータに誰でもアクセスできることになってしまいます。特に、お使いのマシン内に機密データが含まれるような場合は、この機能を設定してはなりません。
自動ログインやパスワード無しログインを設定するには、 YaST
から › を選んでください。複数のユーザが存在するシステムの場合、少なくとも基本的なパスワードポリシーを強制しておくことで、安全性を高めることができるようになります。パスワードポリシーにはたとえば、定期的なパスワード変更や容易に推測することのできるパスワードを禁止するなどの方策が考えられます。ローカルユーザに対するパスワードポリシーを設定するには、下記の手順で実施します:
YaST
ダイアログを開いて、 タブを選択します。ユーザを選んで
を押します。タブに切り替えます。ユーザの最終パスワード変更日が表示されます。
次回ログイン時にパスワードの変更を求めるようにするには、
を選択します。パスワードの定期変更を強制するには、
と を設定します。パスワードの有効期限が切れる前にユーザへの通知を行いたい場合は、
で日数を指定します。パスワードの有効期限が切れたあと、一定期間経過後にユーザのログインを制限したい場合は、
を指定します。また、アカウントそのものの有効期限を設定することもできます。有効期限を設定するには、
の欄に YYYY-MM-DD の形式で日を入力してください。なお、ここでの設定はパスワード関連というよりは、アカウントそのものの設定になります。オプションに関する説明や既定値に関する説明を表示するには、
を押してください。変更が終わったら
を押して閉じます。何も気づくことのないままシステム内のストレージを使い尽くしてしまうことの無いよう、システム管理者はユーザやグループに対してクォータと呼ばれる仕組みを設定することができます。クォータは 1 つまたは複数のファイルシステムに対して設定するもので、使用できるディスク容量を制限したり、 inode (インデックス (索引) ノード) の数を制限したりすることのできるものです。 inode はファイルシステム内のデータ構造で、ファイルやディレクトリ、その他のファイルシステムオブジェクトに対して、基本的な情報を保持するための仕組みです。 inode はファイル名とその内容を除き、すべての情報 (ユーザやグループの所有権、読み込み/書き込み/実行の各アクセス権など) を保持しています。
openSUSE Leap では ソフトクォータ
と ハードクォータ
を設定することができます。これに加えて、特定の容量範囲で一時的な超過を許可することのできる、猶予期間の設定も行うことができます。
ユーザに対して、制限が近いことを通知する警告レベルを意味します。管理者は、ユーザがパーティション内に置いているデータを整理して、使用量を削減するように促すことができます。ソフトクォータは通常、ハードクォータよりも少ない値に設定します。
書き込み要求が拒否される制限値を意味します。ハードクォータに到達すると、データを書き込むことができなくなりますので、アプリケーションによってはクラッシュしてしまうことがあります。
ソフトクォータを超過してから、警告が発信されるまでの時間を意味します。通常は 1 時間から数時間程度の短い時間を設定します。
特定のユーザやグループに対してクォータを設定できるようにするには、 YaST の熟練者向けパーティション設定で、関連するパーティションに対するクォータのサポートを有効化する必要があります。
YaST を起動して
› を選択して、 を選択します。では、クォータを設定したいパーティションを選んで、 を押します。
quota
パッケージがインストールされていない場合は、パッケージのインストールを求められますので、 を押してインストールしてください。
設定が終わったら
を終了します。下記のコマンドを入力して、 quotaon
サービスが動作していることを確認します:
>
sudo
systemctl status quotaon.service
Active: active
と表示されていれば問題ありません。それ以外の場合は、 systemctl start quotaon.service
を実行して開始してください。
これで、ユーザやグループに対してソフトクォータやハードクォータのほか、猶予期間の設定などを行うことができます。
YaST を開いて
を選び、クォータを設定したいユーザもしくはグループを選択して、 を押します。タブに移動して を選択し、 を押して ダイアログを開きます。
まずは
内で、クォータを適用したいパーティションを選択します。の枠内では、ディスク領域の容量に対する制限を設定します。このパーティションに対して利用可能なサイズを、 1KB を単位としたブロックサイズで指定してください。それぞれ と を設定することができます。
このほか、ユーザやグループに対して inode の数を制限することもできます。inode の数を制限するには、
で と を設定してください。猶予期間の設定は、ユーザやグループがサイズや inode 数の制限を超過している場合にのみ設定することができます。超過していない場合は、関連するテキストボックスが無効化され、設定できなくなります。設定できる場合は、それぞれ猶予期間を指定してください。
設定した内容を確認して
を押します。管理ダイアログに戻ったら再度
を押すと、変更点を保存してダイアログを終了することができます。ダイアログを終了せずにすべての変更点を保存したい場合は、 › を選択します。
openSUSE Leap には、 repquota
や warnquota
といったコマンドラインツールも用意されています。システム管理者はこれらのツールを利用することで、ディスクの使用量を制御したり、クォータの超過を電子メールで通知したりすることができるようになります。また、 quota_nld
を使用すると、管理者はクォータ超過を示すカーネルのメッセージを、 D-BUS に転送することもできます。詳しくは repquota
, warnquota
, quota_nld
の各マニュアルページをお読みください。
新しいローカルユーザを作成する際、 YaST ではいくつかの既定値を使用します。この既定値にはたとえば、所属するグループの設定やユーザのホームディレクトリに対して設定するアクセス権などが含まれます。これらの既定値は、下記の手順で変更することができます:
YaST
ダイアログを開いて、 タブに切り替えます。新しく作成するユーザが所属すべきグループを設定するには、
で選択を行います。ホームディレクトリを /home/ユーザ名
以外のディレクトリに設定するには、 を変更します。
新しく作成するホームディレクトリに対して、既定のアクセス許可を変更するには、 第19章 「Linux でのアクセス制御リスト」 と umask
のマニュアルページをお読みください。
それぞれのオプションに関する情報を表示するには、
を押してください。変更が終わったら
を押して閉じます。ローカルのユーザを新規作成する際、 5.4項 「ローカルユーザに対する既定値の変更」 をお読みください。
内にある にある既定値に従って、複数のグループに所属することができます。下記では、個別のユーザに対するグループの割り当てを変更する方法を説明しています。新しく作成するユーザに対するグループの割り当てについては、YaST を開いて
を選び、ダイアログを表示させて タブに切り替えます。ユーザの一覧と、各ユーザに対する所属グループが表示されます。を押して タブに切り替えます。
所属するグループを変更するには、
で一覧からグループを選択します。ユーザに対して追加の (セカンダリ) グループを割り当てるには、
で必要なチェックボックスにチェックを入れます。を押して変更点を適用します。
管理ダイアログに戻ったら再度
を押すと、変更点を保存してダイアログを終了することができます。ダイアログを終了せずにすべての変更点を保存したい場合は、 › を選択します。
YaST を利用することで、グループの追加や変更、削除を簡単に行うことができます。
YaST を開いて
を選び、ダイアログを表示させて タブに切り替えます。を利用して、管理したいグループを表示させます。
新しいグループを作成するには、
を押します。既存のグループを編集するには、グループを選んで
を押します。表示されたダイアログで、必要なデータを入力もしくは変更します。右側には、メンバーとして追加可能な一般ユーザとシステムユーザが一覧表示されます。
既存のユーザを追加するには、
内の一覧で対象となるユーザを探し、チェックボックスにチェックを入れます。チェックを外すと、グループのメンバーから外すことができます。を押して変更点を適用します。
管理ダイアログに戻ったら再度
を押すと、変更点を保存してダイアログを終了することができます。ダイアログを終了せずにすべての変更点を保存したい場合は、 › を選択します。
グループを削除する場合は、グループのメンバーが 1 人でも残っていてはなりません。グループを削除するには、一覧からグループを選んで
を押します。管理ダイアログで を押すと、変更点を保存してダイアログを終了することができます。 ダイアログを終了せずにすべての変更点を保存したい場合は、 › を選択します。お使いのマシンがネットワークに接続されている場合は、認証方法を変更することができます。下記のオプションが用意されています:
ネットワーク内のすべてのサーバに対して、 NIS サーバでユーザを集中管理している場合に利用します。詳しくは 第3章 「NIS の使用」 をお読みください。
SSSD は System Security Services Daemon (システムセキュリティサービスデーモン) と呼ばれるもので、実際のディレクトリサービスとの接続が (一時的に) 切れたような場合でも、データを一時的に記憶させてユーザへの使用を許可することのできるサービスです。
SMB 認証は Linux と Windows が混在するネットワークで使用されるものです。詳しくは 第21章 「Samba」 と 第7章 「Active Directory サポート」 をお読みください。
認証方法を変更するには、下記の手順で行います:
YaST を開いて
を選びます。のタブを選択して、利用可能な認証方法の概要と、現在の設定を表示させます。
認証方法を変更するには、
を押して認証方法を選択します。選択を行うと、 YaST 内のクライアント設定モジュールが表示されます。それぞれのクライアントに対する設定方法については、下記をお読みください:NIS: 3.2項 「NIS クライアントの設定」
LDAP: 4.1項 「YaST を利用した認証クライアントの設定」
SSSD: 4.2項 「SSSD」
設定が完了すると、
ダイアログに戻ってきます。最後に
を押して管理ダイアログを終了します。既定では、 openSUSE Leap は削除することのできないユーザを作成しています。これらのユーザの多くは Linux Standard Base (詳しくは https://refspecs.linuxfoundation.org/lsb.shtml を参照) で規定されているユーザです。下記の一覧では、一般的なユーザ名とその用途を示しています:
bin
, daemon
古いアプリケーションとの互換性を保つために用意されているユーザです。新しいアプリケーションの場合、このユーザは使用していません。
gdm
GNOME ディスプレイマネージャ (GDM) が使用しているユーザで、グラフィカルなログインとローカルおよびリモートのディスプレイを管理するために使用しています。
lp
汎用 Unix 印刷システム (Common Unix Printing System (CUPS)) 向けのプリンタデーモンが使用しています。
mail
sendmail
や postfix
などのメールプログラム向けの予約ユーザです。
man
man がマニュアルページにアクセスする際に使用します。
messagebus
D-Bus (デスクトップバス) と呼ばれる、プロセス間通信のためのソフトウエアバスが使用しているユーザです。デーモンは dbus-daemon
です。
nobody
何もファイルを所有しておらず、何の権限グループにも属していないユーザです。現在は Linux Standard Base の推奨によって使用しているユーザで、各デーモンのユーザアカウントを分離して使用するために用意されているものです。
nscd
ネームサービスキャッシュデーモン (NSCD) が使用しているユーザです。このデーモンは、 NIS や LDAP などの性能を改善するための検索サービスです。デーモンは nscd
です。
polkitd
PolicyKit 認可フレームワークと呼ばれる、非特権処理からの認可要求を定義し、処理することのできるフレームワークが使用しているユーザです。デーモンは polkitd
です。
postfix
postfix メールシステムが使用しているユーザです。
pulse
Pulseaudio サウンドサーバが使用しているユーザです。
root
システム管理者が使用するユーザで、すべての権限を持つユーザです。
rpc
rpcbind
コマンド (RPC ポートマッパ) が使用するユーザです。
rtkit
rtkit と呼ばれる、リアルタイムスケジューリングモードのための D-Bus システムを提供するパッケージが使用するユーザです。
salt
Salt が提供する並行リモート実行機能向けのユーザです。デーモンは salt-master
です。
scard
スマートカードとリーダとの間の通信用のユーザです。デーモンは pcscd
です。
srvGeoClue
位置情報を提供する GeoClue D-Bus サービスが使用するユーザです。
sshd
Secure Shell daemon (SSH) と呼ばれる、安全性の保たれないネットワーク環境で機密を保持した暗号化通信の機能を提供するデーモンが使用するユーザです。
statd
Network Status Monitor protocol (NSM) と呼ばれる、 rpc.statd
デーモン内で実装されている再起動通知を受け取るために使用しているユーザです。
systemd-coredump
コアダンプを取得し、保存して処理するための /usr/lib/systemd/systemd-coredump
が使用するユーザです。
systemd-network
ネットワークを管理するための /usr/lib/systemd/systemd-networkd
コマンドが使用するユーザです。
systemd-timesync
/usr/lib/systemd/systemd-timesyncd
コマンドと呼ばれる、リモートの Network Time Protocol (NTP) サーバとローカルのシステムクロックとの間で同期を行うためのユーザです。
既定では、 SLE はシステムサービス内で使用されるいくつかのユーザグループを作成します。具体的には下記のような必須および任意のグループがあります。
root
全ての権限を持つ管理者用グループです。
bin
古いアプリケーションとの互換性を保つために用意されているグループです。新しいアプリケーションの場合、このグループは使用していません。
daemon
デーモンがシステムにアクセスする際の制限を設定するために用いられていたグループです。現在はそれぞれのデーモンで別々の UID/GID を利用するのが通常です。
audio
オーディオデバイス向けの権限グループです。
gdm
GNOME ディスプレイマネージャ向けの権限グループです。
chrony
時刻同期サービス向けの権限グループです。
kvm
QEMU マシンエミュレータツールキット向けの権限グループです。
libvirt
仮想化スタックのための権限グループです。
lp
プリンタ操作向けの権限グループです。
mail
メールサービス向けの権限グルーブです。
man
マニュアルページおよび man
コマンド固有の権限グループです。
sshd
SSH 通信プロトコルデーモン向けの権限グループです。