LPIC102試験直前見直し用チートシート(管理タスク)

# はじめに
LPIC102(管理タスク分野)で問われやすいコマンドや要点などをまとめた記事です。
寝る前の10分でざっと読んで各単元の復習に活かすも良し、試験直前に読んで最後の詰め込みに使うも良しです。
このシートがLPIC102を受けられる方の支えになれば幸いです。

# チートシート

**コマンドとオプション**

| コマンド | 説明 |
|:-|:-|
|useradd|ユーザアカウントの作成<br>-c：コメントを付与<br>-d：ホームディレクトリを指定<br>-g：プライマリグループの指定<br>-G：プライマリグループ以外のグループを指定<br>-s：デフォルトシェルを指定<br>-D：デフォルトの設定値を表示<br>-p：暗号化済みのパスワードを設定<br>-m：ホームディレクトリを自動的に作成|
|usermod|ユーザアカウントの変更<br>オプションは概ねuseraddコマンドと同様<br>-L：パスワードをロックして一時的に無効化<br>-U：パスワードのロックを解除|
|userdel|ユーザアカウントの削除<br>-r：ホームディレクトリも同時に削除|
|groupadd|グループの作成|
|groupmod|グループの変更<br>-g：グループIDの変更<br>-n：グループ名の変更|
|passwd|パスワードの変更|
|gpasswd|グループのパスワードやメンバーの設定|
|id|ユーザの情報を表示する<br>-u：ユーザIDのみ表示<br>-g：プライマリグループのみ表示<br>-G：全てのグループを表示|
|groups|ユーザの所属しているグループを一覧表示|
|getent|/etc/nsswitch.confの設定に従って情報を取得|
|chsh|ログインシェルを変更|
|crontab|ジョブスケジュールを設定<br>書式：分　時　日　月　曜日　コマンド<br>曜日は日曜日を0 or 7と表す<br>-e：cronジョブを設定<br>-r：設定されているすべてのcronジョブを削除|
|at|1回限りのスケジュールを設定<br>-l：予約中のジョブを表示(atqコマンドと同義)<br>-d：ジョブ番号を指定して削除<br>-f：コマンドを記述したファイルを指定|
|batch|システム負荷の少ないタイミングで1回だけコマンドを自動実行|
|atq|1度きりのジョブのスケジュールを一覧表示(at -lと同じ)|
|atrm|1回限りのジョブスケジュールを削除(at -dと同義)|
|systemd-run|一時的なサービスまたはスコープユニットを作成してジョブを実行|
|locale|現在のロケール設定を確認<br>-a：設定可能なロケールを表示|
|tzselect|環境変数TZや/etc/timezoneファイルで使用できるタイムゾーンの値を表示|
|tzconfig|/etc/localtimeと/etc/timezoneの両ファイルをまとめて変更|
|iconv|文字コードの変換を行う<br>-f：入力文字コードを指定 (fromに由来)<br>-t：出力文字コードを指定 (toに由来)<br>-l：扱える文字コードを一覧表示|

:::note
パスワードのロックはusermodおよびpasswdコマンドで可能だが、オプションの大文字/小文字が異なるので注意。crontabコマンドでの設定方法も理解しておくこと。
:::

**ファイル**

| ファイル | 説明 |
|:-|:-|
|/etc/default/useradd|useraddコマンドでオプションを指定しなかった場合に使用されるデフォルト値が格納されている|
|/etc/shadow|ユーザアカウントの暗号化されたパスワード, パスワードの有効期限などの情報を含む|
|/etc/passwd|ユーザのアカウント情報(ユーザ名、プライマリグループ、ホームディレクトリ等)を含む|
|/etc/nologin|一般ユーザのログインを禁止したい場合に作成する|
|/etc/group|グループアカウントの情報を含む|
|/etc/skel|useraddコマンドで作成したホームディレクトリ内にコピーするひな型のファイルを格納するためのディレクトリ|
|/etc/cron.allow|cronの利用を許可するユーザを記述|
|/etc/cron.deny|cronの利用を拒否するユーザを記述|
|/etc/at.allow|at, batchの利用を許可するユーザを記述|
|/etc/at.deny|at, batchの利用を拒否するユーザを記述|
|/usr/share/zoneinfo|タイムゾーンの情報を格納したバイナリファイル|
|/etc/localtime|システムで利用するタイムゾーンを設定<br>/usr/share/zoneinfoからコピー or シンボリックリンクを作成することで設定|
|/etc/timezone|システムで利用するタイムゾーンを設定(テキストファイル)|
|/etc/locale.conf|systemdにおけるシステム全体のロケール設定ファイル|


**crontab関連のファイル・ディレクトリ**

|ファイル・ディレクトリ|説明|
|:-|:-|
|/etc/crontab|システムのcrontabファイル|
|/etc/cron.d/|各種cronジョブを記述したファイルを収めたディレクトリ|
|/etc/cron.monthly/|1か月に1度実行されるジョブを記述したファイルを収めたディレクトリ|
|/etc/cron.weekly/|1週間に1度実行されるジョブを記述したファイルを収めたディレクトリ|
|/etc/cron.daily/|1日に1度実行されるジョブを記述したファイルを収めたディレクトリ|
|/etc/cron.hourlyly/|1時間に1度実行されるジョブを記述したファイルを収めたディレクトリ|
|/var/spool/cron/|ユーザのcron設定ファイルを収めたディレクトリ|

**ロケールの主なカテゴリ**

|カテゴリ|説明|
|:-|:-|
|LC_ALL|全てのカテゴリをまとめて定義(個別の設定は出来ない)|
|LANG|全てのカテゴリのデフォルト値を定義(個別の設定も可能)|
|LC_CTYPE|文字の種類やその比較・分類の規定|
|LC_MESSAGES|メッセージ表示に使用する言語|
|LC_MONETARY|通貨に関する規定|
|LC_NUMERIC|数値の書式に関する規定|
|LC_NAME|名前の書式に関する規定|
|LC_TIME|日付や時刻の書式に関する規定|
|LC_ADDRESS|アドレスやロケーションの書式に関する規定|
|LC_TELEPHONE|電話番号の書式に関する規定|

**主な文字コード**

|文字コード|説明|
|:-|:-|
|ASCII|7ビットで表される基本的な128種類の文字|
|ISO-8859|ASCIIを拡張した8ビットの文字コードで256種類の文字|
|UTF-8|Unicodeを使った文字コードで1文字を1~6バイトで表す|
|シフトJIS|Windowsで利用される日本語の文字コード|

# 一問一答
<details>* もしくは !<summary>アカウントを一時的に使用不可にするため、/etc/shadowまたは/etc/passwdのパスワードフィールドの1文字目に追加する文字は？</summary></details>
<details>/bin/false または /sbin/nologin<summary>対話的ログインを禁止するために、ログインシェルとして設定するものは？</summary></details>
<details>644<summary>/etc/passwd のパーミッションは？</summary></details>
<details>600 または 400 または 000<summary>/etc/shadow のパーミッションは？</summary></details>

# LPIC102対策用チートシート リンク集
[シェルとシェルスクリプト](https://qiita.com/kjstudy_englife/items/778bf02ef6d16dfd120d)
[ユーザーインターフェースとデスクトップ](https://qiita.com/kjstudy_englife/items/44cc9d5585e1aff73e4d)
[必須システムサービス] (https://qiita.com/kjstudy_englife/items/e7c587744b486f0f90f7)