コース一覧
LinuC レベル1 102試験対策(LPIC-1対応)
ユーザー管理コマンド

LinuC レベル1 102試験対策(LPIC-1対応)

LinuC レベル1/LPIC-1の102範囲を、シェル、ユーザーとセキュリティ、ネットワーク、システム管理の実機演習と章末問題で固めます。Linuxを安全に運用するための知識とコマンド操作を体系的に身につける25レッスンのコースです。

1
102 シェルとスクリプト
01. シェル環境18分
02. testと条件式18分
03. スクリプトの制御18分
04. cronとat15分
05. systemdタイマー18分
06. 過去問 シェル15分
2
102 ユーザーとセキュリティ
01. passwdとshadow18分
02. ユーザー管理コマンド18分
03. suとsudo18分
04. 特殊パーミッション18分
05. ホストのセキュリティ18分
06. SSHとGPG18分
07. 過去問 ユーザーとセキュリティ15分
3
102 ネットワーク
01. TCP/IPとウェルノウンポート18分
02. アドレス設定18分
03. ルーティング18分
04. 名前解決の設定18分
05. 疎通トラブルシュート18分
06. 過去問 ネットワーク15分
4
102 システム管理
01. 時刻とNTP15分
02. ロケールと文字コード18分
03. ログ管理18分
04. サービス管理の試験形式18分
05. メールと印刷のきほん15分
06. 過去問 システム管理15分

ユーザー管理コマンド

ユーザーは作れたのにログインできない、という詰まり方があります。Debian 系の useradd は既定でホームディレクトリを作らないからです。もう1つの定番が、usermod -G で既存の所属を吹き飛ばす事故です。出題の中心はこの2つです。

useradd は -m を付けないとホームが無い

オプション意味
-mホームディレクトリを作成する
-d <path>ホームディレクトリのパスを指定する。-M なら作らない
-s <shell>ログインシェルを指定する
-u <UID>UID を指定する
-g <group>プライマリグループを指定する
-G <g1,g2>補助グループをカンマ区切りで指定する
-c <text>コメント (GECOS) を設定する
-e <YYYY-MM-DD>アカウントの失効日を設定する
-rシステムアカウントとして作成する

-m を付けると /etc/skel の中身がホームディレクトリにコピーされます。.bashrc や .profile の雛形がここに置かれているので、新規ユーザーは最初からまともなシェル環境で始められます。雛形をまとめて変えたいときは /etc/skel を編集します。-r で作るシステムアカウントも、既定ではホームディレクトリを作りません。

Debian 系には adduser もあります。useradd を内部で呼ぶ対話的なスクリプトで、ホームの作成や /etc/skel の展開も既定でやります。人が手で1人作るときは便利ですが、試験で問われるのは useradd のほうです。

usermod -G は上書き、-aG は追加

オプション意味
-aG <group>補助グループに追加する
-G <g1,g2>補助グループを指定した内容で置き換える
-L / -Uパスワードをロックする / 解除する
-s <shell>ログインシェルを変更する
-d <path> -mホームディレクトリを変更し、中身を移動する
-l <newname>ログイン名を変更する

-G だけを打つと、今まで所属していた補助グループがすべて消えて指定したものだけになります。sudo グループに入っていた管理者にこれをやると、その人は sudo を失います。既存を保ったまま足すなら必ず -a を併せます。-a は単独では使えず、-G とセットでのみ意味を持ちます。-L はハッシュの先頭に ! を付けてロックを実現し、-U はその ! を外します。

userdel は -r を付けないとホームが残る

userdel はアカウントだけを消します。-r を付けるとホームディレクトリとメールスプールも一緒に消えるので、消す前にそのホームに残すべきデータが無いかを確かめてください。付けなければホームは所有者不明のまま残ります。

グループ側は groupadd <名前> で作成、groupmod -n <新名> <旧名> で改名、groupmod -g <GID> <名前> で GID 変更、groupdel <名前> で削除です。あるユーザーのプライマリグループになっているグループは削除できません。

パスワードの期限は passwd と chage

コマンド意味
passwd -l <user>パスワードをロックする
passwd -u <user>ロックを解除する
passwd -d <user>パスワードを削除する。パスワード無しになる
passwd -e <user>即座に期限切れにし、次回ログイン時に変更を強制する
passwd -S <user>パスワードの状態を1行で表示する

chage は /etc/shadow の日付フィールドを扱う専用コマンドです。chage -l で現在の設定を一覧表示し、-M で最長日数、-m で最短日数、-W で警告日数、-E で失効日を設定します。

確認するときは id が UID と GID と所属グループをまとめて出します。id -u なら UID だけ、groups でも所属グループを見られます。

試験で狙われるところ

Debian 系の useradd は -m 無しでホームディレクトリを作りません。usermod -G は上書き、-aG は追加です。-a は -G と一緒でないと使えません。そして userdel は -r を付けないとホームディレクトリが残ります。

ヒント

useradd の -m はホームディレクトリを作る、-s はログインシェルを指定するオプションです。この2つを同時に渡せます

グループを作るのは groupadd です。作ったあと getent group linucteam で確認できます

所属を足すのは usermod -aG linucteam linucstudent です。-G だけだと既存の補助グループが全部消えます

  • 1. useradd に -m と -s を付けて linucstudent を作る
  • 2. ls -ld /home/linucstudent でホームディレクトリができたか確かめる
  • 3. getent passwd linucstudent で7つのフィールドを確認し、ログインシェルが /bin/bash になっているか見る
  • 4. groupadd linucteam でグループを作る
  • 5. usermod で linucstudent を linucteam に追加する。既存の所属を消さないオプションを選ぶこと
  • 6. id linucstudent と id -nG linucstudent で結果を確かめる

Linux は使うときに起動します(初回は約102MB通信します)

5 項目で採点します