• 検索結果がありません。

Microsoft Word - ハンズオンセミナー_資料_ _公開用.doc

N/A
N/A
Protected

Academic year: 2021

シェア "Microsoft Word - ハンズオンセミナー_資料_ _公開用.doc"

Copied!
30
0
0

読み込み中.... (全文を見る)

全文

(1)

2007/3/16

2007 年 3 月 16 日開催

オープンソースカンファレンス 2007 Tokyo/Spring

Linux ハンズオンセミナー

『Linux における

ユーザ管理の仕組みを学習しよう!』

日本電子専門学校

杉松秀利

申 載雄

[email protected]

[email protected]

(2)

Linux ハンズオンセミナー 資 料

Sugimatsu Hidetoshi

16 Mar. 2007

Linux におけるユーザ管理の仕組み

• 本 日 のハンズオンセミナーでは、Linux システムではどのような仕 組 みを使 って、ユーザ管 理 を行 っているのかということについて学 習 します。

• なお、本 資 料 は、CentOS 4.4 と Debian GNU/Linux 3.1 を使 用 して検 証 した結 果 に基 づき作 成 し ました。

• 本 日 は、CD のみで起 動 する Linux である、knoppix を使 用 してハンズオンセミナーを行 いたいと 思 います。

準 備 : Linux の起 動

1)PC の電 源 を入 れて、CD をトレイに入 れ、リブートしてください。

2)左 下 に boot: と表 示 されたら、knoppix 3 Enter を入 力 してください。(30 秒 以 内 に入 力 しな い と デ フ ォ ル ト 起 動 動 作 に 移 行 さ れ ま す の で 、 最 初 の k の 文 字 だ け で も 、 ま ず 入 力 し て く だ さ い。) 3)ターミナルのプロンプトの最 後 の記 号 (# または $)によって、root 権 限 か一 般 ユーザか分 かり ます。root ユーザでログインされたか確 認 してください。X-Windows が起 動 された場 合 は、一 般 ユーザでログインされていると思 いますので再 起 動 しなおしてください。 [~]#:root 権 限 [~]$:一 般 ユーザ権 限

Ⅰユーザ管 理 用 のファイルとディレクトリ

資 料 の前 半 部 分 では、Linux システムにおいて、ユーザ管 理 用 に使 用 されている主 要 なファイルとデ ィレクトリについて学 習 します。前 半 部 分 のキーワードは、3 つのファイルと 1 個 のディレクトリです。

1. これがユーザ情 報 を管 理 するファイルとディレクトリです!

Linux システムにおいて、ユーザ情 報 がどのように管 理 されているのかを理 解 して頂 くために、本 日 のセミナーでは次 の 3 つのファイルと 1 個 のディレクトリについて学 習 することにします。 ◇ ユーザ管 理 に使 用 される主 要 なファイルとディレクトリ ファイル名 など 機 能 適 用 /etc/passwd 各 ユーザアカウントの様 々な情 報 が記 録 されているフ ァイル。1 行 に 1 エントリずつ定 義 されている。 パスワードファイル /etc/shadow ユ ー ザ の ア カ ウ ン ト に 対 す る 暗 号 化 さ れ た パ ス ワ ー ド 情 報 、およびオプションとしてパスワードの有 効 期 限 の 暗 号 化 さ れ た パ ス ワ ー ド ファイル

(3)

情 報 が記 されているファイル。1 行 に 1 エントリずつ定 義 されている。 /etc/group グループにどのユーザーが所 属 しているかが定 義 され ているファイル。1 行 に 1 エントリずつ定 義 されている。 ユーザグループファイル /etc/skel/ ホームディレクトリを作 成 する際 にコピーされるファイル やディレクトリが置 かれているディレクトリ。 フ ァ イ ル の 雛 形 が 置 か れ ているディレクトリ 注 : 上 記 のファイルのほかに、各 グループの暗 号 化 パスワードや、グループのメンバーシップなどの 情 報 が記 録 された/etc/gshadow ファイルがあります。

2. 新 しいユーザを作 成 するには

• それでは、実 際 に新 しいユーザを作 成 して、これらのファイルがどのような役 割 を果 たしているの かを調 べてみることにしましょう。 • 新 しいユーザは、useradd コマンドを使 って作 成 します。 (1) RedHat 系 Linux で新 しいユーザを作 成 する場 合 には、次 の構 文 を使 用 します。 # useradd 新 規 ユーザ名 (2) 新 しいユーザを作 成 する操 作 例 [root@ws101 ~]# useradd sugimatsu

(3) Debian GNU/Linux(以 下 Debian と言 います)の場 合 には、次 の構 文 を使 ってください。 # useradd -m 新 規 ユーザ名

注 : -m は、新 規 ユーザを作 成 する際 に、もしホームディレクトリが存 在 しない場 合 には、同 時 にホ ームディレクトリを作 成 することを指 定 するオプションです。

(4) RedHat 系 の Linux では、useradd コマンドの代 わりに、adduser コマンドを使 うこともできるように なっています。

[root@ws101 ~]# adduser 新 規 ユーザ名

注 : adduser コマンドは、useradd コマンドのシンボリックリンクなので、使 用 する際 のオプションなど はすべて同 じです。

◎ RedHat 系 Linux と Debian では新 規 ユーザを作 成 する構 文 が違 うのは何 故 ?

• RedHat 系 Linux では、/etc/login.defs ファイルの中 で、CREATE_HOME オプションが yes に設 定 されており、useradd コマンドの実 行 時 に、デフォルトの設 定 として、新 規 ユーザのホームディレ クトリが作 成 されるようになっています。

• これに対 して、Debina の/etc/login.defs ファイルでは、CREATE_HOME オプションの定 義 がない ため、新 規 ユーザを作 成 する際 に、同 時 にそのユーザのホームディレクトリを作 成 したい場 合 に は、-m オプションを指 定 して useradd コマンドを実 行 しなければなりません。

• つまり、2 種 類 のディストリビューションでは、/etc/login.defs ファイルにおける CREATE_HOME オ プションの取 り扱 いが異 なるために、新 規 ユーザを作 成 するための構 文 が違 っているのです。

(4)

3. /etc/passwd ファイルの内 容 はどうなっているの?

• 新 規 のユーザが作 成 されたところで、それぞれのファイルの内 容 を調 べていくことにしましょう。 • まずは、/etc/passwd ファイルです。 (1) /etc/passwd ファイルのパーミッション 実 際 にファイルを開 く前 に、/etc/passwd ファイルのパーミッションを確 認 しておきましょう。 ◇ /etc/passwd ファイルのパーミッションを確 認 する操 作 [root@ws101 ~]# ls -l /etc/passwd

-rw-r--r-- 1 root root 2269 3 月 9 13:13 /etc/passwd ← パーミッショ ンの表 示

◎ 全 ユーザに読 み取 り権 限 が与 えられているのは何 故 ? • 書 き込 み権 限 は所 有 ユーザのみに設 定 されていますが、すべてのユーザに読 み取 り権 限 が与 えられていることに注 意 しましょう。 • このようなパーミッションの設 定 になっているのは、/etc/passwd ファイルに記 録 されている情 報 を、さまざまなプログラムが利 用 できるようにするためなのです。 (2) /etc/passwd ファイルの内 容 を表 示 してみよう • それでは、今 作 成 したばかりの新 規 ユーザの情 報 が、/etc/passwd ファイルの中 に、どのように 記 録 されているのかを、確 認 してみることにしましょう。 • 今 回 は、-N オプションを指 定 した less コマンドを使 って、/etc/passwd ファイルの内 容 を表 示 し てください。 • なお、-N は各 行 の先 頭 に行 番 号 を表 示 するために指 定 するオプションです。 ① /etc/passwd ファイルを-N オプション付 きの less コマンドで表 示 する操 作 [root@ws101 ~]# less -N /etc/passwd

② /etc/passwd ファイルの表 示 例

42 dovecot:x:97:97:dovecot:/usr/libexec/dovecot:/sbin/nologin 43 postfix:x:89:89::/var/spool/postfix:/sbin/nologin

44 mailman:x:41:41:GNU Mailing List Manager:/usr/lib/mailm an:/sbin/nologin 45 mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash 46 radiusd:x:95:95:radiusd user:/:/bin/false 47 sugimatsu:x:500:500::/home/sugimatsu:/bin/bash (3) /etc/passwd ファイルの書 式 • /etc/passwd ファイルでは、1 行 に 1 エントリずつのユーザなどの情 報 が記 録 されており、各 行 は コロン(:)で区 切 られた 7 つのフィールドによって構 成 されています。 • 各 フィールドに格 納 されるユーザ情 報 は、次 のとおりです。

(5)

◇ /etc/passwd ファイルのエントリの記 述 例

sugimatsu:x:500:500::/home/sugimatsu:/bin/bash

① ② ③ ④ ⑤ ⑥ ⑦ ◇ 各 フィールドに格 納 される情 報 名 称 格 納 される情 報 ① 第 1 フィールド ログイン名 ② 第 2 フィールド パスワード ③ 第 3 フィールド ユーザ ID ④ 第 4 フィールド グループ ID (プライマリグループ) ⑤ 第 5 フィールド ユーザ名 もしくはコメント ⑥ 第 6 フィールド ユーザのホームディレクトリ ⑦ 第 7 フィールド ユーザのデフォルトシェルプログラム 注 : 各 フィールドに格 納 される情 報 から、/etc/passwd ファイルは「ユーザ情 報 のデータベース」であ る、と言 われています。 (4) 第 2 フィールドに格 納 される値 • 第 2 フィールドには、以 前 はユーザのパスワードが平 文 で格 納 されていましたが、現 在 ではパス ワードは暗 号 化 されるようになりました。 • そして、暗 号 化 されたパスワードは/etc/shadow ファイルへ格 納 されるようになっています。 • このため、現 在 、第 2 フィールドに格 納 される値 は、次 の 3 つです。 ◇ 第 2 フィールドに格 納 される値 値 説 明 x • パスワードが暗 号 化 され、/etc/shadow ファイルで管 理 されていることを表 します。 • x が格 納 された passwd ファイルのことを、shadow 化 された passwd ファイルと言 います。 * • ユーザアカウントを一 時 的 に無 効 にすることを表 します。 • *が設 定 されている間 、そのユーザはログインできなくなります。 ヌル • ヌル(null)とは、長 さ 0 の文 字 列 のことです。 • 何 も値 が設 定 されていないため、sugimatsu::500 というように、ダブルコロン(::)で表 示 さ れます。 • ヌルに設 定 した場 合 には、そのユーザはパスワードの入 力 なしでログインできます。 注 : shadow 化 された/etc/passwd ファイルでは、ユーザにパスワードが設 定 されている/いないに関 係 なく、第 2 フィールドには x という値 が格 納 されています。 • 以 前 は、各 ユーザのパスワード情 報 も、このファイルに格 納 されていました。 • しかし、たとえ暗 号 化 されているとしても、すべてのユーザが閲 覧 できるファイルに、パスワードを 格 納 しておくということは、セキュリティ対 策 上 、決 して好 ましいことではありません。 • そこで、ユーザのパスワードに関 する情 報 は、/etc/shadow ファイルで管 理 されるようになっった のです。

(6)

(5) 第 3 フィールドに格 納 される値 • 第 3 フィールドには、ユーザ ID(UID)を表 す値 が格 納 されます。 • また、第 1 フィールドに格 納 されるログイン名 は、root、システムアカウント名 、一 般 ユーザのアカ ウント名 に分 類 できます。 • この第 1 フィールドに格 納 されるログイン名 の種 類 と、それぞれの種 類 のログイン名 に割 り当 てら れるユーザ ID の値 の関 係 は、次 のように整 理 できます。 ◇ ログイン名 の種 類 と割 り当 てられるユーザ ID の関 係 ログイン名 の種 類 格 納 される値 root 0 システムアカウント 1 ~ 499 一 般 ユーザのアカウント 500 ~ 60000 ◎ 用 語 の説 明 アカウント(account) Linux システム上 で、ソフトウェアなどを扱 うことのできる権 限 のことを、アカウントと言 います。アカウ ントには、ユーザアカウントとシステムアカウントの 2 種 類 があります。なお、2 種 類 のアカウントとも、 ユーザ ID によって識 別 されるようになっています。 ユーザアカウント(user account) ユーザが Linux システムへログインして、システムを操 作 できる権 限 のことを、ユーザアカウントと言 います。ユーザアカウントには、パスワードが設 定 されるとともに、それぞれのユーザのログイン用 の ディレクトリとして、ホームディレクトリが作 成 されます。通 常 の場 合 、単 に「アカウント」と言 う場 合 に は、ユーザアカウントを指 します。 システムアカウント(system account) Linux システムが、特 定 のアプリケーションを実 行 するために利 用 する、具 体 的 なユーザの存 在 しな いアカウントのことを、システムアカウントと言 います。システムアカウントには、特 定 のユーザが存 在 しないため、パスワードを使 って Linux システムへログインする権 限 はなく、ホームディレクトリも作 成 されません。 ① 一 般 ユーザのユーザ ID に割 り当 てられる値 の範 囲 について • 一 般 ユ ー ザ に 割 り 当 て ら れ る ユ ー ザ ID の 開 始 値 と 終 了 値 は 、 /etc/login.defs フ ァ イ ル の UID_MIN パラメータと UID_MAX パラメータの設 定 値 によって決 定 します。

• RedHat 系 の Linux では、UID_MIN パラメータには 500、UID_MAX パラメータには 60000 という値 が設 定 されているため、一 般 ユーザに割 り当 てられるユーザ ID の値 の範 囲 が、500~60000 とい うことになっているのです。

② Debian の場 合 は 1000~60000 です

(7)

ータには 60000 という値 が設 定 されています。 • このため、一 般 ユーザに割 り当 てられるユーザ ID の値 の範 囲 は、1000~60000 になります。 (6) 第 6 フィールドに格 納 される値 • 第 6 フィールドには、ユーザのホームディレクトリ名 が、フルパス付 きで格 納 されます。 • useradd コマンドを実 行 する際 に、特 別 にホームディレクトリを作 成 するパスを指 定 しなければ、 デフォルトの設 定 では、/home/ディレクトリ下 に新 規 のユーザ名 と同 じ名 称 のディレクトリが、そ のユーザのホームディレクトリとして、自 動 的 に作 成 されるようになっています。 • このような処 理 が自 動 的 に行 われるのは、useradd コマンドのデフォルトの設 定 値 を定 義 した /etc/default/useradd ファイルの中 で、「HOME=/home」と指 定 されているためです。 (7) 第 7 フィールドに格 納 される値 • 第 7 フィールドには、ユーザのデフォルトシェルプログラム名 が、フルパス付 きで格 納 されます。 • useradd コマンドを実 行 する際 に、特 別 な指 定 をしなければ、自 動 的 に「/bin/bash」が格 納 され ます。 • このような処 理 が自 動 的 に行 われるのは、useradd コマンドのデフォルトの設 定 値 を定 義 した /etc/default/useradd ファイルの中 で、「SHELL=/bin/bash」と指 定 されているためです。

4. /etc/shadow ファイルの中 を覗 いてみよう

• 続 いて、パスワードが暗 号 化 された Linux システムでは、/etc/passwd ファイルと 1 セットのファイ ルとなる/etc/shadow ファイルの内 容 について、調 べることにしましょう。 • Linux システムでは、暗 号 化 されたパスワードは、/etc/shadow ファイルに保 存 されます。 (1) /etc/shadow ファイルのパーミッション /etc/passwd ファイルのときと同 様 に、ファイルを開 く前 に/etc/shadow ファイルのパーミッションを確 認 しておきましょう。 ◇ /etc/shadow ファイルのパーミッションを確 認 する操 作 [root@ws101 ~]# ls -l /etc/shadow

-r--- 1 root root 1342 3 月 10 04:57 /etc/shadow ← パーミッションの表 示 • ファイルの所 有 者 である root だけに、読 み込 み権 限 のみが許 可 されているファイルであることが わかります。 • つまり、Linux システムによってのみ書 き込 み可 能 であり、root 権 限 のみが閲 覧 可 能 なファイル であるということになります。 • なお、他 のファイルと同 様 に、root 権 限 によってパーミッションを変 更 し、root 権 限 に書 き込 み権 限 を与 えることは可 能 です。 (2) /etc/shadow ファイルの内 容 を表 示 してみよう • それでは、/etc/shadow ファイルの内 容 を、確 認 してみることにしましょう。 • 今 回 も、-N オプションを指 定 した less コマンドを使 って、/etc/shadow ファイルの内 容 を表 示 して

(8)

ください。

① /etc/shadow ファイルを-N オプション付 きの less コマンドで表 示 する操 作 [root@ws101 ~]# less -N /etc/shadow

② /etc/shadow ファイルの表 示 例 42 dovecot:!!:13581:0:99999:7::: 43 postfix:!!:13581:0:99999:7::: 44 mailman:!!:13581:0:99999:7::: 45 mysql:!!:13581:0:99999:7::: 46 radiusd:!!:13581:0:99999:7::: 47 sugimatsu:!!:13581:0:99999:7::: (3) /etc/shadow ファイルの書 式 • /etc/shadow ファイルでは、1 行 に 1 エントリずつのユーザアカウントに対 する暗 号 化 されたパス ワード情 報 が格 納 されています。 • また、暗 号 化 されたパスワード情 報 のほかに、オプションとしてパスワードの有 効 期 限 に関 する 情 報 なども格 納 されています。 • このファイルも、各 行 の内 容 はコロン(:)区 切 られており、9 つのフィールドによって構 成 されてい ます。 • 各 フィールドに格 納 される情 報 は、次 のとおりです。 ◇ /etc/shadow ファイルのエントリの記 述 例

sugimatsu:!!:13581:0:99999:7:::

① ② ③ ④ ⑤ ⑥⑦⑧⑨ ◇ 各 フィールドに格 納 される情 報 名 称 格 納 される情 報 ① 第 1 フィールド ログイン名 ② 第 2 フィールド MD5 により暗 号 化 されたパスワード ③ 第 3 フィールド 1970 年 1 月 1 日 から起 算 して最 後 にパスワードが変 更 された日 迄 の日 数 ④ 第 4 フィールド パスワードが変 更 可 能 となるまでの日 数 (この期 間 を越 えないと、パスワード は変 更 できない) ⑤ 第 5 フィールド パ ス ワ ード を 変 更 し な く て は な らな く な る 日 ま で の 日 数 ( こ の 期 間 を 越 え た ら パスワードの変 更 が必 要 ) ⑥ 第 6 フィールド パスワード有 効 期 限 が来 ることをユーザに警 告 する日 数 ⑦ 第 7 フィールド パスワード有 効 期 限 が過 ぎてから、アカウントが使 用 不 能 になるまでの日 数 ⑧ 第 8 フィールド 1970 年 1 月 1 日 からアカウントが使 用 不 能 になる日 までの日 数 ⑨ 第 9 フィールド 予 約 済 みのフィールド 注 : 各 フィールドに格 納 される情 報 から、/etc/shadow ファイルは「パスワード情 報 のデータベース」

(9)

である、と言 われています。 (4) 第 2 フィールドに格 納 される値 第 2 フィールドには、MD5 というアルゴリズムに基 づき暗 号 化 されたパスワードが格 納 されますが、次 の 3 つの値 も格 納 されるようになっています。 ◇ 第 2 フィールドに格 納 される値 値 説 明 !! 第 1 フィールドのユーザに、パスワードが設 定 されていないことを表 します。 * ログインできないアカウントであることを表 します。 ヌル ユーザがパスワードの入 力 なしでログインできることを表 します。 注 : Unix では、NP と*LK*で表 される値 に相 当 するものと推 測 されますが、実 際 に/etc/shadow ファ イルに格 納 されている内 容 を分 析 してみると、Linux の場 合 にはこの 2 つの値 が厳 密 に使 い分 けら れていません。 (5) その他 のフィールドに格 納 される値 について • 第 3 フィールドの 1970 年 1 月 1 日 から起 算 して最 後 にパスワードが変 更 された日 迄 の日 数 に ついては、自 動 計 算 された値 が格 納 されます。 • 第 4 フィールドのパスワードが変 更 可 能 となるまでの日 数 については、/etc/login.defs ファイル の PASS_MIN_DAYS パラメータに設 定 されている値 が格 納 されます。デフォルトでは、0 という値 が格 納 されますが、これはいつでも変 更 が可 能 であることを意 味 します。 • 第 5 フ ィ ー ル ド の パ ス ワ ー ド を 変 更 し な く て は な ら な く な る 日 ま で の 日 数 に つ い て は 、 /etc/login.defs ファイルの PASS_MAX_DAYS パラメータに設 定 されている値 が格 納 されます。デ フォルトでは、99999 という値 が格 納 されますが、これは有 効 期 限 がないことを意 味 します。 • 第 6 フ ィ ー ル ド の パ ス ワ ー ド 有 効 期 限 が 来 る こ と を ユ ー ザ に 警 告 す る 日 数 に つ い て は 、 /etc/login.defs ファイルの PASS_WARN_AGE パラメータに設 定 されている値 が格 納 されます。デ フォルトでは、7 という値 が格 納 されますので、7 日 前 から警 告 を発 するという設 定 になります。

5. /etc/group ファイルも解 剖 しよう

• 今 回 のハンズオンセミナーで取 り上 げるユーザ情 報 を管 理 するファイルの最 後 は、/etc/group フ ァイルです。 • /etc/group ファイルは、グループにどのユーザが所 属 しているのかを定 義 するファイルです。 (1) /etc/group ファイルのパーミッション 例 によって、まず最 初 に/etc/group ファイルのパーミッションを確 認 しておきましょう。 ◇ /etc/group ファイルのパーミッションを確 認 する操 作 [root@ws101 ~]# ls -l /etc/group

(10)

◎ 全 ユーザに読 み取 り権 限 が与 えられている • /etc/passwd ファイルとまったく同 じパーミッションが設 定 されていますね。 • 書 き込 み権 限 は所 有 ユーザにしか設 定 されていませんが、すべてのユーザに読 み取 り権 限 が与 えられています。 • /etc/passwd ファイルと同 様 に、記 録 されている情 報 を、さまざまなプログラムが利 用 できるよう にするために、このようなパーミッションの設 定 になっているのです。 (2) /etc/group ファイルの内 容 を確 認 してみよう • /etc/group ファイルの内 容 を、確 認 してみましょう。 • 今 回 は、vi を使 って/etc/group ファイルを開 くことにします。 ◇ /etc/group ファイルを vi で開 く操 作 [root@ws101 ~]# vi /etc/group ◎ vi で行 番 号 を表 示 するには • /etc/goup ファイルが開 いたら、行 番 号 を表 示 することにしましょう。 • vi は、起 動 直 後 はコマンドモードになっているので、キーボードから「 :set nu」と入 力 した後 に Enter キーを押 してください。これで、行 番 号 が表 示 されます。 ◇ /etc/group ファイルの表 示 例 51 postdrop:x:90: 52 postfix:x:89: 53 mailman:x:41: 54 mysql:x:27: 55 radiusd:x:95: 56 sugimatsu:x:500: ◎ vi を終 了 させるには • /etc/goup ファイルの内 容 の確 認 が終 わったら、vi を閉 じてください。 • vi を終 了 させる場 合 には、キーボードから「:q」と入 力 した後 に Enter キーを押 します。 (3) /etc/group ファイルの書 式 • /etc/group ファイルも、1 行 に 1 エントリずつの定 義 が記 述 されています。 • 各 行 はコロン(:)で区 切 られた 4 つのフィールドによって構 成 されていおり、次 のような書 式 で記 述 されています。 ◇ /etc/group ファイルの書 式 グループ名 :パスワード:グループ id:ユーザリスト

(11)

◇ 各 フィールドに格 納 される情 報 フィールド 格 納 される情 報 第 1 フィールド グループの名 前 第 2 フィールド パスワード → 実 際 には、/etc/passwd ファイルと同 様 に x が格 納 されている 第 3 フィールド グループ ID の数 値 第 4 フィールド グループのメンバー全 員 のユーザ名 。それぞれのユーザ名 は、コンマ( , )で区 切 ら れている。 注 : 今 回 のセミナーでは取 り扱 いませんが、暗 号 化 されたパスワードは、/etc/gshadow ファイルに 格 納 されています。 (4) 第 3 フィールドに格 納 される値 • 第 3 フィールドには、グループ ID(GID)を表 す値 が格 納 されます。 • また、第 1 フィールドに格 納 されるグループ名 は、root、システムアカウントのグループ名 、一 般 ユ ーザアカウントのグループ名 に分 類 できます。 • この第 1 フィールドに格 納 されるグループ名 の種 類 と、それぞれの種 類 のグループ名 に割 り当 て られるグループ ID の値 の関 係 は、次 のようになっています。 ◇ グループ名 の種 類 と割 り当 てられるグループ ID の関 係 ログイン名 の種 類 格 納 される値 root 0 システムアカウントのグループ 1 ~ 499 一 般 ユーザアカウントのグループ 500 ~ 60000 ① 一 般 ユーザのグループ ID に割 り当 てられる値 の範 囲 について • 一 般 ユーザのグループに割 り当 てられるグループ ID の開 始 値 と終 了 値 は、/etc/login.defs ファ イルの GID_MIN パラメータと GID_MAX パラメータの設 定 値 によって決 定 します。

• RedHat 系 の Linux では、GID_MIN パラメータには 500、GID_MAX パラメータには 60000 という値 が設 定 されているため、一 般 ユーザのグループに割 り当 てられるグループ ID の値 の範 囲 は、500 ~60000 ということになります。

② Debian の場 合 は 100~60000 です

• Debian の場 合 には、/etc/login.defs ファイルの GID_MIN パラメータには 100、GID_MAX パラメ ータには 60000 という値 が設 定 されています。 • このため、一 般 ユーザのグループに割 り当 てられるグループ ID の値 の範 囲 は、100~60000 にな ります。

6. 作 成 したユーザアカウントでログインしてみよう

• みなさんが、先 ほど作 成 したユーザには、まだパスワードが設 定 されていません。 • この状 態 で、2 つのテストをしてみることにします。 • 1 番 目 は、新 規 ユーザのパスワードが設 定 されていないままの状 態 で、ログインできるかどうかを 確 認 するテストです。

(12)

• そして、2 番 目 のテストとして、/etc/passwd ファイルを編 集 して、新 規 ユーザに関 する定 義 の第 2 フィールドの値 を x からヌルへ変 更 した上 で、もう一 度 ログインできるかどうかを確 認 します。 (1) パスワードを設 定 しない状 態 でログインする それでは、1 番 目 のテストを、次 の手 順 で行 ってください。 ① Alt + F2 キーを押 して、新 しいコンソールを開 く。 ② ログイン名 として、新 しいユーザ名 を入 力 して Enter キーを押 す。 ③ Password:と表 示 され、パスワードの入 力 待 ち状 態 になるので、何 も入 力 せずに Enter キーを押 す。 ④ 再 度 、login:と表 示 され、ログイン名 の入 力 待 ちになることを確 認 する。 ⑤ Alt + F1 キーを押 して、root 権 限 でログインしているコンソールに戻 る。 当 然 の こ と で は あ り ま す が 、 上 記 の 操 作 に よ っ て 、 パ ス ワ ー ド を 設 定 し な い 場 合 、 デ フ ォ ル ト の /etc/passwd ファイルの定 義 のままでは、ログインできないことが確 認 できました。 (2) /etc/passwd ファイルを編 集 した後 にログインする 次 に、/etc/passwd ファイル内 の新 規 ユーザに関 する定 義 の第 2 フィールドの値 を、x からヌルへ変 更 した後 に、ログインできるかどうかを確 認 するテストを、次 の手 順 で行 ってください。 ① /etc/passwd ファイルのバックアップファイルを作 成 する。 [root@ws101 ~]# cp /etc/passwd /etc/passwd.org ② vipw コマンドを実 行 して、/etc/passwd ファイルを開 く。 [root@ws101 ~]# vipw ③ i キーを押 して、編 集 モードに切 り替 える。 ④ 最 終 行 に定 義 されている新 規 ユーザの第 2 フィールドの値 x を削 除 する。 ⑤ Esc キーを押 して、コマンドモードに切 り替 える。 ⑥ :wq または :x と入 力 して Enter キーを押 し、編 集 した内 容 を保 存 した上 で、vi を終 了 させる。 ⑦ /etc/shadow ファイルの内 容 も、同 様 に編 集 するかどうかの確 認 メッセージが表 示 されるので、 n キーを入 力 して Enter キーを押 し、編 集 作 業 を終 了 する。 ◇ 日 本 語 モードで表 示 している場 合 のメッセージの表 示 このシステムではシャドウパスワードが使 われています。 今 すぐ /etc/shadow を編 集 しますか [y/n]? n ◇ 英 語 モードで表 示 している場 合 のメッセージの表 示 You are using shadow passwords on this system. Would you like to edit /etc/shadow now [y/n]? n ⑧ Alt + F2 キーを押 して、新 しいコンソールを開 く。

⑨ ログイン名 として、新 しいユーザ名 を入 力 して Enter キーを押 す。 ⑩ パスワードを入 力 せずに、ログインできたことを確 認 する。

⑪ logout または exit と入 力 し、Enter キーを押 して、ログアウトする。 ⑫ Alt + F1 キーを押 して、root 権 限 でログインしているコンソールに戻 る。

(13)

上 記 の操 作 によって、/etc/passwd ファイル内 のユーザに関 する定 義 の第 2 フィールドの値 を、x か らヌルへ変 更 すると、そのユーザはパスワードを入 力 せずに、ログインできることが確 認 できました。 (3) /etc/passwd ファイルの定 義 を元 に戻 す それでは、テスト用 に変 更 した/etc/passwd ファイル内 の定 義 を元 の記 述 に戻 して、このテストを終 了 します。 ① vipw コマンドを実 行 して、/etc/passwd ファイルを開 く。 [root@ws101 ~]# vipw ② i キーを押 して、編 集 モードに切 り替 える。 ③ 最 終 行 に定 義 されている新 規 ユーザの第 2 フィールドの値 として、x を挿 入 する。 ④ Esc キーを押 して、コマンドモードに切 り替 える。 ⑤ :wq または :x と入 力 して Enter キーを押 し、編 集 した内 容 を保 存 した上 で、vi を終 了 させる。 ⑥ /etc/shadow ファイルの内 容 も、同 様 に編 集 するかどうかの確 認 メッセージが表 示 されるので、 n キーを入 力 して Enter キーを押 し、編 集 作 業 を終 了 する。 ◇ 日 本 語 モードで表 示 している場 合 のメッセージの表 示 このシステムではシャドウパスワードが使 われています。 今 すぐ /etc/shadow を編 集 しますか [y/n]? n ◇ 英 語 モードで表 示 している場 合 の場 合 のメッセージの表 示 You are using shadow passwords on this system.

Would you like to edit /etc/shadow now [y/n]? n

(4) Debian で vipw コマンドを実 行 した場 合

• Debian で vipw コマンドを実 行 した場 合 、編 集 した後 に:wq または :x と入 力 して Enter キーを押 し、編 集 した内 容 を保 存 した上 で vi を終 了 させたときには、/etc/shadow ファイルの内 容 も同 様 に編 集 するかどうかの確 認 メッセージは表 示 されず、そのまま vi が終 了 します。 • トラブルが発 生 して、確 認 メッセージが表 示 されないというわけではないことを、覚 えておいてくだ さい。

7. 新 しいユーザのパスワードを設 定 するには

• 新 規 ユーザにパスワードを設 定 する場 合 には、passwd コマンドを使 用 します。 • パスワードを設 定 /変 更 する構 文 は、次 のとおりです。 ◇ パスワードを設 定 /変 更 する構 文 # passwd ユーザ名 (1) 新 規 ユーザのパスワードを設 定 する それでは、新 規 ユーザのパスワードを設 定 する操 作 を実 行 してください。 ◇ 新 規 ユーザのパスワードを設 定 する操 作 例

(14)

Changing password for user sugimatsu.

New UNIX password: ← 設 定 するパスワードの入 力 (入 力 した文 字 列 は非 表 示 ) Retype new UNIX password: ← 設 定 するパスワードの再 入 力 (入 力 した文 字 列 は非 表 示 ) passwd: all authentication tokens updated successfully. ← 設 定 成 功 のメッセージ [root@ws101 ~]# (2) パスワード設 定 後 のファイルの内 容 の確 認 新 規 ユーザのパスワードを設 定 したことによって、/etc/passwd ファイルと/etc/shadow ファイルの内 容 が、どのように変 更 されたのかを確 認 しておきましょう。 ① /etc/passwd ファイルの確 認 tail コマンドを使 って、パスワード設 定 後 の/etc/passwd ファイルの内 容 を確 認 してください。 ◇ tail コマンドによる/etc/passwd ファイルの表 示 例 (パスワード設 定 後 )

[root@ws101 ~]# tail /etc/passwd

named:x:25:25:Named:/var/named:/sbin/nologin

canna:x:39:39:Canna Service User:/var/lib/canna:/sbin/nologin wnn:x:49:49:Wnn Input Server:/var/lib/wnn:/sbin/nologin cyrus:x:76:12:Cyrus IMAP Server:/var/lib/imap:/bin/bash dovecot:x:97:97:dovecot:/usr/libexec/dovecot:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin

mailman:x:41:41:GNU Mailing List Manager:/usr/lib/mailman:/sbin/nologin mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash radiusd:x:95:95:radiusd user:/:/bin/false sugimatsu:x:500:500::/home/sugimatsu:/bin/bash [root@ws101 ~]# ◇ パスワード設 定 前 の/etc/passwd ファイルの新 規 ユーザのエントリの定 義 例 sugimatsu:x:500:500::/home/sugimatsu:/bin/bash /etc/passwd ファイルの定 義 は、パスワードを設 定 しても変 更 されないことを、確 認 してください。 ② /etc/shadow ファイルの確 認 パイプライン機 能 を使 って、cat コマンドと grep コマンドを組 み合 わせて使 用 し、パスワード設 定 後 の /etc/shadow ファイルの内 容 を確 認 してください。

◇ cat コマンドと grep コマンドによる/etc/shadow ファイルの表 示 例 (パスワード設 定 後 ) [root@ws101 ~]# cat /etc/shadow | grep sugimatsu

sugimatsu:$1$4etJPDCP$h3BFfd7uCRsoKeCHE70lb/:13583:0:99999:7::: [root@ws101 ~]#

(15)

◇ パスワード設 定 前 の/etc/shadow ファイルの新 規 ユーザのエントリの定 義 例 sugimatsu:!!:13581:0:99999:7::: /etc/shadow ファイル内 の新 規 ユーザのエントリの第 2 フィールドの値 が、!!から暗 号 化 されたパスワ ードの値 に変 更 されていることを、確 認 してください。

8. ホームディレクトリを確 認 します

• 新 規 に作 成 したユーザのホームディレクトリは、自 動 的 に/home/ディレクトリ下 に、新 規 ユーザ 名 と同 じ名 称 で作 成 されます。 • /etc/passwd ファイルの内 容 を調 べた際 に説 明 したように、このような処 理 が自 動 的 に行 われる のは、useradd コマンドのデフォルトの設 定 値 を定 義 した/etc/default/useradd ファイルの中 で、 「HOME=/home」と設 定 されているからです。 • そして、/etc/default/useradd ファイルに定 義 されている「SKEL=/etc/skel」という設 定 によって、 /home/ディレクトリ下 に作 成 された新 規 ユーザ名 と同 じ名 称 のディレクトリに、/etc/skel/ディレ クトリ下 に置 かれているファイルとディレクトリがコピーされます。 • このようにして、ホームディレクトリが自 動 生 成 されるのです。 • なお、skel というディレクトリ名 は、骨 格 、骨 組 、必 要 最 小 限 のものという意 味 を持 つ skeleton(ス ケルトン)という用 語 に由 来 する名 称 です。 (1) ホームディレクトリ下 のファイルとディレクトリを確 認 する それでは、次 の操 作 によって、新 規 に作 成 したユーザのホームディレクトリについて、確 認 してみるこ とにしましょう。操 作 手 順 は、次 のとおりです。 ① Alt + F2 キーを押 して、新 しいコンソールを開 く。 ② ログイン名 として、新 しいユーザ名 を入 力 して Enter キーを押 す。 ③ Password: と 表 示 さ れ 、 パ ス ワ ー ド の 入 力 が 促 さ れ る の で 、 先 ほ ど 設 定 し た パ ス ワ ー ド を 入 力 して Enter キーを押 す。 ④ ログインに成 功 したら、ホームディレクトリ下 のファイルとディレクトリを確 認 するために、次 の ステートメントを実 行 する。 ◇ ls コマンドによるホームディレクトリ下 のファイルとディレクトリの表 示 例 [sugimatsu@ws101 ~]$ ls -la 合 計 52 drwx--- 3 sugimatsu sugimatsu 4096 3 月 10 22:59 . drwxr-xr-x 3 root root 4096 3 月 10 04:57 ..

-rw--- 1 sugimatsu sugimatsu 15 3 月 12 04:40 .bash_history -rw-r--r-- 1 sugimatsu sugimatsu 24 3 月 10 04:57 .bash_logout -rw-r--r-- 1 sugimatsu sugimatsu 191 3 月 10 04:57 .bash_profile -rw-r--r-- 1 sugimatsu sugimatsu 124 3 月 10 04:57 .bashrc -rw-r--r-- 1 sugimatsu sugimatsu 5619 3 月 10 04:57 .canna -rw-r--r-- 1 sugimatsu sugimatsu 383 3 月 10 04:57 .emacs -rw-r--r-- 1 sugimatsu sugimatsu 120 3 月 10 04:57 .gtkrc

(16)

drwxr-xr-x 3 sugimatsu sugimatsu 4096 3 月 10 04:57 .kde -rw-r--r-- 1 sugimatsu sugimatsu 658 3 月 10 04:57 .zshrc [sugimatsu@ws101 ~]$ 以 上 の操 作 によって、ログインしたホームディレクトリ(ログインディレクトリ)下 のファイル名 とディレク トリ名 を確 認 することができました。 (2) /etc/skel/ディレクトリ下 のファイルとディレクトリを確 認 する • 続 いて、ホームディレクトリのコピー元 (雛 形 )である/etc/skel/ディレクトリ下 のファイルとディレク トリについて、確 認 することにします。 • 新 規 ユーザのアカウントでログインしたコンソール画 面 で、次 のステートメントを実 行 してください。 ◇ /etc/skel/ディレクトリ下 のファイルとディレクトリの表 示 例

[sugimatsu@ws101 ~]$ ls -la /etc/skel/ 合 計 92

drwxr-xr-x 3 root root 4096 3 月 9 13:01 . drwxr-xr-x 96 root root 12288 3 月 12 06:04 ..

-rw-r--r-- 1 root root 24 8 月 13 2006 .bash_logout -rw-r--r-- 1 root root 191 8 月 13 2006 .bash_profile -rw-r--r-- 1 root root 124 8 月 13 2006 .bashrc -rw-r--r-- 1 root root 5619 2 月 22 2005 .canna -rw-r--r-- 1 root root 383 8 月 13 2006 .emacs -rw-r--r-- 1 root root 120 8 月 13 2006 .gtkrc drwxr-xr-x 3 root root 4096 3 月 9 12:46 .kde -rw-r--r-- 1 root root 658 8 月 22 2005 .zshrc [sugimatsu@ws101 ~]$ (3) 新 規 ユーザのホームディレクトリと/etc/skel/ディレクトリの比 較 • 上 記 の(1)と(2)の実 行 結 果 を、比 較 してみてください。 • 2 つのディレクトリには、ホームディレクトリ下 の.bash_history ファイルを除 き、まったく同 じファイル とディレクトリが置 かれていることが確 認 でき、/etc/skel/ディレクトリ下 のファイルとディレクトリが、 ホームディレクトリにコピーされていることが分 かります。 • なお、ホームディレクトリ下 の.bash_history ファイルは、bash シェルの使 用 履 歴 が保 存 されている ファイルであり、自 動 的 に生 成 されるファイルであるため、/etc/skel/ディレクトリ下 には置 かれて いないのです。

9. ユーザ ID とグループ ID の機 能 を知 るために

• こ れ ま で に 学 習 し て き た よ う に 、 ユ ー ザ 名 ( ロ グ イ ン 名 ) と ユ ー ザ ID と の 関 連 付 け は 、 /etc/passwd ファイルで定 義 されています。 • Linux システムの内 部 では、ユーザの識 別 はユーザ ID の番 号 を使 って、そしてグループの識 別 はグループ ID によって行 われています。

(17)

• そして、表 示 等 を行 う場 合 には、/etc/passwd ファイルを参 照 して、ユーザ ID をユーザ名 に変 換 し、/etc/group ファイルを参 照 して、グループ ID をグループ名 に変 換 して出 力 しているのです。 • そこで、このような仕 組 みを、一 瞬 にしてみなさんに理 解 して頂 けそうなテストをしてみたいと思 い ます。 • ハンズオンセミナーだからこそ許 されるテストですので、皆 さんはご自 宅 、学 校 、職 場 などでは絶 対 に行 わないでくださいね。それでは、禁 断 の実 験 を開 始 することにしましょう。 (1) /etc/passwd ファイルから新 規 ユーザのエントリ行 を削 除 する • 最 初 のテストは、/etc/passwd ファイルから新 規 ユーザのエントリ行 を削 除 したら、新 規 ユーザの ディレクトリやファイルの所 有 権 限 が、どのように表 示 されのかを確 認 する実 験 です。 • 操 作 手 順 は、次 のとおりです。

① 新 規 ユーザでログインしているコンソールで、logout または exit と入 力 して Enter キーを押 し、 ログアウトする。

② Alt + F1 キーを押 して、root 権 限 でログインしているコンソールに戻 る。

③ 次 のステートメントを実 行 して、/etc/passwd ファイルのバックアップファイルを作 成 する。 [root@ws101 ~]# cp /etc/passwd /etc/passwd.org

④ vi で/etc/passwd ファイルを開 く。 ⑤ 新 規 ユーザのエントリ行 にカーソルを合 わせて、キーボードの D キーを 2 回 押 して、この行 を削 除 する。 ⑥ :wq または :x と入 力 して Enter キーを押 し、編 集 した内 容 を保 存 した上 で、vi を終 了 させる。 ⑦ ls -la コマンドを実 行 して、ホームディレクトリ下 のファイルとディレクトリの一 覧 を表 示 する。 ◇ ls コマンドの実 行 結 果 例

[root@ws101 ~]# ls -la /home/sugimatsu/ 合 計 52 drwx--- 3 500 sugimatsu 4096 3 月 10 22:59 . drwxr-xr-x 3 root root 4096 3 月 10 04:57 .. -rw--- 1 500 sugimatsu 108 3 月 12 08:30 .bash_history -rw-r--r-- 1 500 sugimatsu 24 3 月 10 04:57 .bash_logout -rw-r--r-- 1 500 sugimatsu 191 3 月 10 04:57 .bash_profile -rw-r--r-- 1 500 sugimatsu 124 3 月 10 04:57 .bashrc -rw-r--r-- 1 500 sugimatsu 5619 3 月 10 04:57 .canna -rw-r--r-- 1 500 sugimatsu 383 3 月 10 04:57 .emacs -rw-r--r-- 1 500 sugimatsu 120 3 月 10 04:57 .gtkrc drwxr-xr-x 3 500 sugimatsu 4096 3 月 10 04:57 .kde -rw-r--r-- 1 500 sugimatsu 658 3 月 10 04:57 .zshrc [root@ws101 ~]# • 上 記 の実 行 結 果 例 で、ファイルとディレクトリの所 有 者 の部 分 が、ユーザ名 ではなくユーザ ID の 番 号 で表 示 されていることに、注 目 してください。 • 表 示 上 のこの変 化 は、/etc/passwd ファイルの新 規 ユーザのエントリ行 を削 除 したために、ユー

(18)

ザ ID をユーザ名 に変 換 できなくなったために起 こったことなのです。 (2) /etc/group ファイルから新 規 ユーザのグループに関 するエントリ行 を削 除 する • 続 いて行 うテストは、/etc/group ファイルから新 規 ユーザのグループに関 するエントリ行 を削 除 し たら、新 規 ユーザのディレクトリやファイルの所 有 権 限 が、どのように表 示 されのかを確 認 する実 験 です。 • 操 作 手 順 は、次 のとおりです。 ① 次 のステートメントを実 行 して、/etc/group ファイルのバックアップファイルを作 成 する。 [root@ws101 ~]# cp /etc/group /etc/group.org

② vi で/etc/group ファイルを開 く。 ③ 新 規 ユーザに関 するグループのエントリ行 にカーソルを合 わせて、キーボードの D キーを 2 回 押 し て、この行 を削 除 する。 ④ :wq または :x と入 力 して Enter キーを押 し、編 集 した内 容 を保 存 した上 で、vi を終 了 させる。 ⑤ ls -la コマンドを実 行 して、ホームディレクトリ下 のファイルとディレクトリの一 覧 を表 示 する。 ◇ ls コマンドの実 行 結 果 例

[root@ws101 ~]# ls -la /home/sugimatsu/ 合 計 52 drwx--- 3 500 500 4096 3 月 10 22:59 . drwxr-xr-x 3 root root 4096 3 月 10 04:57 .. -rw--- 1 500 500 108 3 月 12 08:30 .bash_history -rw-r--r-- 1 500 500 24 3 月 10 04:57 .bash_logout -rw-r--r-- 1 500 500 191 3 月 10 04:57 .bash_profile -rw-r--r-- 1 500 500 124 3 月 10 04:57 .bashrc -rw-r--r-- 1 500 500 5619 3 月 10 04:57 .canna -rw-r--r-- 1 500 500 383 3 月 10 04:57 .emacs -rw-r--r-- 1 500 500 120 3 月 10 04:57 .gtkrc drwxr-xr-x 3 500 500 4096 3 月 10 04:57 .kde -rw-r--r-- 1 500 500 658 3 月 10 04:57 .zshrc [root@ws101 ~]# • いかがですか?、ファイルとディレクトリの所 有 者 のユーザ ID に続 いて、今 度 は所 有 者 が所 属 す るグループの部 分 も、グループ ID の番 号 で表 示 されるようになったことが、確 認 できたと思 いま す。 • この表 示 上 のこの変 化 も、/etc/group ファイルの新 規 ユーザに関 するグループのエントリ行 を削 除 したために、グループ ID をグループ名 に変 換 できなくなったのが原 因 です。 • 少 々危 険 なテストでしたが、ファイルシステム等 はユーザ ID とグループ ID で管 理 されており、そ れらの ID 番 号 は/etc/passwd ファイルと/etc/group ファイルによって、ユーザ名 とグループ名 に 変 換 されていることが、体 験 的 に理 解 して頂 けたのではないかと思 います。

(19)

10. ユーザを削 除 するには

• それでは、資 料 の前 半 部 分 の最 後 の操 作 として、ユーザを削 除 する方 法 と、ユーザを削 除 する ことによって、ユーザ情 報 を管 理 する 3 つのファイルの内 容 がどのように変 化 するのかを確 認 した いと思 います。 • /etc/passwd ファイルと/etc/group ファイルを、それぞれのバックアップファイルを使 って元 の内 容 のファイルに戻 した上 で、新 規 に作 成 したユーザを削 除 するという手 順 で、進 めていくことにし ます。 • 操 作 手 順 は、次 のとおりです。 ① 次 の ス テ ー ト メ ン ト を 実 行 し て 、 バ ッ ク ア ッ プ フ ァ イ ル を 使 っ て 、 /etc/passwd フ ァ イ ル と /etc/group ファイルを復 元 する。

[root@ws101 ~]# rm /etc/passwd ← 編 集 した/etc/passwd ファイルの削 除 rm: remove 通 常 ファイル `/etc/passwd'? y

[root@ws101 ~]# rm /etc/group ← 編 集 した/etc/group ファイルの削 除 rm: remove 通 常 ファイル `/etc/group'? y

[root@ws101 ~]# mv /etc/passwd.org /etc/passwd ← /etc/passwd ファ イルの復 元 [root@ws101 ~]# mv /etc/group.org /etc/group ← /etc/group ファイル の復 元 [root@ws101 ~]#

② userdel コマンドを使 って、新 規 に作 成 したユーザを削 除 する。 ◇ userdel コマンドにより新 規 に作 成 したユーザを削 除 する操 作 例 [root@ws101 ~]# userdel -r sugimatsu

注 : -r は、ユーザのホームディレクトリとメールスプールも同 時 に削 除 するためのオプションです。 ③ cat コマンドを使 って、/etc/passwd ファイルを表 示 し、新 規 ユーザのエントリ行 が削 除 されている

ことを確 認 する。

◇ cat コマンドによる/etc/passwd ファイルの表 示 例 [root@ws101 ~]# cat -n /etc/passwd

<前 略 >

42 dovecot:x:97:97:dovecot:/usr/libexec/dovecot:/sbin/nolo gin 43 postfix:x:89:89::/var/spool/postfix:/sbin/nologin

44 mailman:x:41:41:GNU Mailing List Manager:/usr/lib/mailm an:/sbin/nologin 45 mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash 46 radiusd:x:95:95:radiusd user:/:/bin/false [root@ws101 ~]# 注 : -n は、行 番 号 を表 示 するオプションです。 ④ less コマンドを使 って、/etc/shadow ファイルを表 示 し、新 規 ユーザのパスワードに関 するエントリ 行 が削 除 されていることを確 認 する。

(20)

◇ less コマンドによる/etc/passwd ファイルの表 示 例 [root@ws101 ~]# less -N /etc/shadow

42 dovecot:!!:13581:0:99999:7::: 43 postfix:!!:13581:0:99999:7::: 44 mailman:!!:13581:0:99999:7::: 45 mysql:!!:13581:0:99999:7::: 46 radiusd:!!:13581:0:99999:7::: (END) 注 : -N は、行 番 号 を表 示 するオプションです。 ⑤ cat コマンドを使 って、/etc/group ファイルを表 示 し、新 規 ユーザのグループに関 するエントリ行 が削 除 されていることを確 認 する。 ◇ cat コマンドによる/etc/group ファイルの表 示 例 [root@ws101 ~]# cat -n /etc/group

<前 略 > 51 postdrop:x:90: 52 postfix:x:89: 53 mailman:x:41: 54 mysql:x:27: 55 radiusd:x:95: [root@ws101 ~]# ユーザ情 報 を管 理 するすべてのファイルで、新 規 に作 成 したユーザに関 する情 報 が削 除 されたこと が確 認 できます。

Ⅱマニュアル操 作 による新 規 ユーザの作 成

• 資 料 の後 半 部 分 では、パスワードの設 定 以 外 はコマンド操 作 を行 わずに、ファイルの編 集 操 作 だけで、新 規 のユーザを作 成 することによって、これまでに学 習 してきた内 容 の理 解 を、より一 層 深 めていきたいと思 います。 • 後 半 部 分 のキーワードも、やはり 3 つのファイルと 1 個 のディレクトリです。 • つまり、Linux システムにおけるユーザ管 理 の仕 組 みのポイントは、これまでに学 習 してきました 3 つのファイルと 1 個 のディレクトリに尽 きると言 ってよいでしょう。

1. 新 規 ユーザの作 成 に必 要 な操 作

実 際 に 操 作 を始 める前 に、ファイルの編 集 操 作 だけで、 新 規 のユー ザ を作 成 する ための基 本 的 な 手 順 を整 理 しておきます。 (1) バックアップファイルの作 成 不 測 の事 態 が発 生 したときに、直 ちに原 状 復 帰 が出 来 るようにするために、マニュアル操 作 で

(21)

新 規 ユーザを作 成 するために編 集 する/etc/passwd ファイル、/etc/shadow ファイル、そして /etc/group ファイルのバックアップファイルを作 成 します。 (2) パスワードファイルへの追 加 新 規 に作 成 するユーザに関 するユーザ情 報 を、/etc/passwd ファイルに追 加 します。 (3) shadow ファイルへの追 加 • 新 規 に作 成 するユーザのパスワード情 報 を、/etc/shadow ファイルに追 加 します。 • ただし、このファイルで管 理 される暗 号 化 されたパスワード自 体 は、マニュアルでの新 規 ユー ザの作 成 処 理 がすべて終 了 した後 に、passwd コマンドを実 行 することによって格 納 すること になります。 (4) グループファイルへの追 加 必 要 に応 じて、新 規 に作 成 するユーザに関 するグループ情 報 を、/etc/group ファイルに追 加 し ます。今 回 の事 例 では、/etc/group ファイルへの追 加 を行 うことにします。 (5) 新 規 ユーザのホームディレクトリの作 成 新 規 に作 成 するユーザのホームディレクトリ(ログインディレクトリ)を作 成 します。 (6) 基 本 的 なファイルやディレクトリのホームディレクトリへのコピー 作 成 したホームディレクトリに、/etc/skel/ディレクトリ下 のすべてのファイルとディレクトリをコピ ーします。 (7) ホームディレクトリ内 のファイルとディレクトリ所 有 権 限 の変 更 /etc/skel/ ディ レク トリ からホ ーム ディ レク トリ コピ ーし た すべて のフ ァ イル やデ ィ レク トリ の 所 有 者 とグループを、新 規 に作 成 するユーザとグループに変 更 します。 (5)~(7)の新 規 ユーザのホームディレクトリを作 成 する処 理 は、実 はさまざまな操 作 方 法 があります。 今 回 のセミナーでは、(5)と(6)の処 理 を 1 回 で行 ってしまうという簡 略 化 した操 作 で行 うことにします。

2. 新 規 ユーザと新 規 グループの作 成

それでは、具 体 的 な情 報 に基 づいて、マニュアル操 作 による新 規 ユーザの作 成 を始 めることにしまし ょう。 (1) 作 成 するユーザとグループに関 する情 報 新 規 に作 成 する 2 ユーザと 1 グループに関 する情 報 は、次 のとおりです。 ① /etc/passwd ファイル関 連 情 報 /etc/passwd ファイルに記 述 する情 報 は、次 のとおりです。

(22)

◇ /etc/passwd ファイル関 連 情 報 フィールド ユーザ 1 ユーザ 2 ログイン名 user1 user2 パスワード ヌル ヌル ユーザ ID 701 702 グループ ID 700 700 コメント test_user1 test_user2 ユーザホームディレクトリ /home/user1 /home/user2 デフォルトシェルプログラム /bin/bash /bin/bash ② /etc/shadow ファイル関 連 情 報 /etc/shadow ファイルに記 述 する情 報 は、次 のとおりです。 ◇ /etc/shadow ファイル関 連 情 報 フィールド ユーザ 1 ユーザ 2 ログイン名 user1 user2 パスワード ヌル ヌル 1970 年 1 月 1 日 から最 後 にパスワードが変 更 された日 までの日 数 13588 13588 パスワードが変 更 可 能 となるまでの日 数 0 0 パスワードを変 更 しなくてはならなくなる日 までの日 数 99999 99999 パスワード有 効 期 限 が来 ることをユーザに警 告 する日 数 7 7 パスワード有 効 期 限 が過 ぎてから、アカウントが使 用 不 能 になるまでの日 数 ヌル ヌル 1970 年 1 月 1 日 からアカウントが使 用 不 能 になる日 までの日 数 ヌル ヌル 予 約 済 みのフィールド ヌル ヌル ③ /etc/group ファイル関 連 情 報 /etc/group ファイルに記 述 する情 報 は、次 のとおりです。 ◇ /etc/group ファイル関 連 情 報 フィールド グループ 1 グループ名 userx パスワード x グループ ID 700 ユーザリスト ヌル (2) 編 集 するファイルのバックアップファイルを作 成 する • 設 定 ファイルなどを編 集 する際 に、まず最 初 に行 う操 作 は、操 作 の対 象 となるファイルのバック アップファイルを作 成 することです。 • バックアップファイルさえ作 成 しておけば、不 測 の事 態 が発 生 した場 合 でも、直 ちに原 状 復 帰 が 可 能 だからです。

(23)

イルについて、次 のようなステートメントを実 行 して、バックアップファイルを作 成 してください。 ◇ 3 つのファイルのバックアップファイルを作 成 する操 作 例

[root@ws101 ~]# cp /etc/passwd /etc/passwd.org [root@ws101 ~]# cp /etc/shadow /etc/shadow.org [root@ws101 ~]# cp /etc/group /etc/group.org [root@ws101 ~]# (3) /etc/passwd ファイルへ新 規 ユーザ情 報 を追 加 する vi で/etc/passwd ファイルを開 き、/etc/passwd ファイルの関 連 情 報 に基 づき、新 規 の 2 ユーザを 作 成 するためのエントリの記 述 を、ファイルの末 尾 に追 加 してください。 ① vi で/etc/passwd ファイルを開 く。 [root@ws101 ~]# vi /etc/passwd ② 新 規 に作 成 する 2 ユーザのエントリの記 述 を、次 のようにファイルの末 尾 に記 述 する。 user1::701:700:test_user1:/home/user1:/bin/bash user2::702:700:test_user2:/home/user2:/bin/bash ③ :wq または :x と入 力 して Enter キーを押 し、編 集 した内 容 を保 存 した上 で、vi を終 了 させる。 (4) /etc/shadow ファイルへ新 規 ユーザのパスワード情 報 を追 加 する • vi で/etc/shadow ファイルを開 き、/etc/shadow ファイルの関 連 情 報 に基 づき、新 規 の 2 ユーザ を作 成 するためのエントリの記 述 を、ファイルの末 尾 に追 加 してください。 • なお、/etc/shadow ファイルを編 集 するの場 合 には、パーミッションに注 意 してください。 • 既 定 のパーミッションは 400 であり、ファイルの所 有 者 である root だけに、読 み込 み権 限 のみが 許 可 されています。 • このパーミッションのままでは、root に書 き込 み権 限 がないため、このファイルを編 集 することが できません。 • そこで、一 旦 、パーミッションを 600 に変 更 して、root にのみ読 み込 み権 限 と書 き込 み権 限 を与 えた上 で編 集 操 作 を行 い、新 規 の 2 ユーザを作 成 するためのエントリの記 述 の追 加 が終 了 した のちに、既 定 のパーミッション 400 に戻 すことにします。 ① /etc/shadow ファイルのパーミッションを 600 に変 更 する。 [root@ws101 ~]# chmod 600 /etc/shadow

② vi で/etc/shadow ファイルを開 く。 [root@ws101 ~]# vi /etc/shadow

(24)

③ 新 規 に作 成 する 2 ユーザのエントリの記 述 を、次 のようにファイルの末 尾 に記 述 する。

user1::13588:0:99999:7::: user2::13588:0:99999:7:::

④ :wq または :x と入 力 して Enter キーを押 し、編 集 した内 容 を保 存 した上 で、vi を終 了 させる。 ⑤ /etc/shadow ファイルのパーミッションを、既 定 の設 定 である 400 に変 更 する。

[root@ws101 ~]# chmod 400 /etc/shadow

(5) /etc/group ファイルへ新 規 グループ情 報 を追 加 する vi で/etc/group ファイルを開 き、/etc/group ファイルの関 連 情 報 に基 づき、新 規 の 1 グループを作 成 するためのエントリの記 述 を、ファイルの末 尾 に追 加 してください。 ① vi で/etc/group ファイルを開 く。 [root@ws101 ~]# vi /etc/group ② 新 規 に作 成 する 1 グループのエントリの記 述 を、次 のようにファイルの末 尾 に記 述 する。 userx:x:700: ③ :wq または :x と入 力 して Enter キーを押 し、編 集 した内 容 を保 存 した上 で、vi を終 了 させる。 (6) 作 成 した新 規 ユーザでログインしてみよう(中 間 テスト) お待 たせしました。それでは、ここまでの操 作 で設 定 した内 容 で、新 規 のユーザによってログインでき るかどうかを、テストしてみることにしましょう。 ④ Alt + F2 キーを押 して、新 しいコンソールを開 く。 ⑤ ログイン名 として、user1 を入 力 して Enter キーを押 す。 ⑥ パスワードを入 力 せずに、ログインできたことを確 認 する。 • これまでのファイル編 集 操 作 で、入 力 ミスなどがなければ、user1 というログイン名 を入 力 すると、 パスワードを入 力 せずにログインできます。 • ただし、ログインには成 功 しましたが、いつものログイン後 の画 面 とは違 いますね。 ◇ user1 のログイン前 後 の画 面

CentOS release 4.4 (Final) Kernel 2.6.9-42.EL on an i386 ws101 login: user1

No directory /home/user1! ← /home/user1 ディレクトリがありませんよ!

Loggin in the home = "/". ← /ディレクトリをホームディレクトリとしてログインしたよ -bash-3.00$ _ ← プロンプトの表 示 もいつもと違 いますね

(25)

• ログイン後 の画 面 が、このように表 示 されるのは、まだ user1 のホームディレクトリを作 成 していな いのが原 因 です。

• このため、user2 でログインしても、同 じ現 象 が起 こるはずです。

• それでは、一 旦 ログアウトした後 に、今 度 は user2 でログインして、同 じ画 面 が表 示 されることを 確 認 してみてください。

⑦ logout または exit と入 力 し、Enter キーを押 して、ログアウトする。 ⑧ ログイン名 として、user2 を入 力 して Enter キーを押 す。

⑨ パスワードを入 力 せずに、ログインできたことを確 認 する。 ◇ user2 のログイン前 後 の画 面

CentOS release 4.4 (Final) Kernel 2.6.9-42.EL on an i386 ws101 login: user2

No directory /home/user2! ← /home/user2 ディレクトリがありませんよ!

Loggin in the home = "/". ← しかたがないので、/ディレクトリでログインしましたよ -bash-3.00$ _ ← 当 然 、いつもと同 じプロンプトは表 示 できませんからね • 画 面 の表 示 は納 得 いかないかも知 れませんが、ここまでの操 作 に誤 りがなければ、このように表

示 されるのが正 常 なのです。だから、中 間 テストなんですよ。

• それでは、ログインできることが確 認 できたら、すみやかにログアウトして、root 権 限 でログインし ているコンソールに戻 り、新 規 のユーザを作 成 する操 作 を続 けることにしましょう。

⑩ logout または exit と入 力 し、Enter キーを押 して、ログアウトする。 ⑪ Alt + F1 キーを押 して、root 権 限 でログインしているコンソールに戻 る。 以 上 で、中 間 テストは終 了 です。

3. 新 規 ユーザのホームディレクトリの作 成

• マニュアル操 作 で新 規 のユーザを作 成 する作 業 も、いよいよ大 詰 めを迎 えつつあります。 • ここからの操 作 が、最 終 段 階 の作 成 作 業 になりますので、ゆっくりで結 構 ですから、ひとつひとつ の操 作 内 容 の意 味 を確 認 しながら、ホームディレクトリの作 成 を行 ってください。 (1) 新 規 ユーザのホームディレクトリを作 成 する • 新 規 に作 成 する 2 ユーザのホームディレクトリを、/etc/passwd ファイルの第 6 ディレクトリに指 定 したディレクトリとして作 成 します。 • 今 回 は、ホームディレクトリの作 成 操 作 を簡 略 化 するために、格 納 されているファイルやサブディ レ ク ト リ を 含 め て 、 /etc/skel/ デ ィ レ ク ト リ 全 体 を 、 /home/user1/ デ ィ レ ク ト リ 、 そ し て

(26)

/home/user2/ディレクトリという名 称 でコピーすることによって、新 規 の 2 ユーザのホームディレク トリを作 成 することにします。

• 実 行 するステートメントは、次 のとおりです。

◇ /etc/skel/ディレクトリ全 体 をコピーして、新 規 の 2 ユーザのホームディレクトリを作 成 する [root@ws101 ~]# cp -r /etc/skel/ /home/user1/

[root@ws101 ~]# cp -r /etc/skel/ /home/user2/

注 : -r は、ディレクトリを再 帰 的 にコピーするために指 定 するオプションです。 (2) ホームディレクトリ全 体 の所 有 権 限 を変 更 する • マニュアル操 作 で、新 規 ユーザを作 成 するための最 後 の処 理 は、たった今 作 成 したばかりの 2 ユーザのホームディレクトリの所 有 権 限 を、ホームディレクトリ下 に格 納 されているファイルやサブ ディレクトリも含 めて、一 括 して変 更 する作 業 です。 • このような処 理 を行 う場 合 には、所 有 権 限 を再 帰 的 に変 更 するために、chown コマンドに-R オプ ションを指 定 して実 行 します。 • 実 行 するステートメントは、次 のとおりです。 ◇ 新 規 に作 成 する 2 ユーザのホームディレクトリの所 有 権 限 を再 帰 的 に変 更 する [root@ws101 ~]# chown -R user1:userx /home/user1/

[root@ws101 ~]# chown -R user2:userx /home/user2/

注 : 所 有 権 限 を指 定 する場 合 は、所 有 ユーザとグループをドット(.)で連 結 させても構 いません。 (3) 作 成 した新 規 ユーザによるログインしてみよう(最 終 テスト) • 以 上 ですべての作 業 が、終 了 しました。残 る操 作 は、最 終 テストだけです。 • 最 終 テストは、新 たに作 成 した 2 ユーザによるログイン操 作 を行 います。 • ログイン後 も、通 常 の画 面 が表 示 されれば、マニュアル操 作 による 2 ユーザの作 成 は成 功 した、 ということになります。 • 中 間 テストでも行 った操 作 ですが、今 度 はこれでクリアすれば、本 当 に終 わりですよ、というテスト として行 うことにします。 ① Alt + F2 キーを押 して、新 しいコンソールを開 く。 ② ログイン名 として、user1 を入 力 して Enter キーを押 す。 ③ パスワードを入 力 せずに、ログインできたことを確 認 する。 • user1 というログイン名 を入 力 すると、パスワードを入 力 せずにログインできますね。 • そして、次 のような画 面 が表 示 されれば、大 成 功 ですよ。 ◇ user1 のログイン前 後 の画 面 CentOS release 4.4 (Final) Kernel 2.6.9-42.EL on an i386

(27)

ws101 login: user1

Last Login: Mon Mar 12 17:57:04 on tty2 [user1@ws101 ~]$ _

• 正 常 にログインできることが確 認 できたら、一 旦 ログアウトして、今 度 は user2 でログインして、同 様 の確 認 を行 ってください。

④ logout または exit と入 力 し、Enter キーを押 して、ログアウトする。 ⑤ ログイン名 として、user2 を入 力 して Enter キーを押 す。

⑥ パスワードを入 力 せずに、ログインできたことを確 認 する。 ◇ user2 のログイン前 後 の画 面

CentOS release 4.4 (Final) Kernel 2.6.9-42.EL on an i386 ws101 login: user2

Last Login: Mon Mar 12 17:58:12 on tty2 [user2@ws101 ~]$ _

• いかがでしたか。新 規 に作 成 した 2 ユーザとも正 常 にログインできましたか。

• 残 念 ながら、何 らかのトラブルが発 生 した場 合 には、ひと作 業 ずつ逆 戻 りしながら、設 定 内 容 の チェックを行 ってください。

• それでは、ログアウトして、root 権 限 でログインしているコンソールへ戻 ってください。 ⑦ logout または exit と入 力 し、Enter キーを押 して、ログアウトする。

⑧ Alt + F1 キーを押 して、root 権 限 でログインしているコンソールに戻 る。 以 上 で、最 終 テストは終 了 です。

(28)

終 わりに

ユーザ管 理 という操 作 は、たとえ Linux ユーザとしては初 心 者 であっても、ご自 分 の Linux マシン を使 用 する場 合 には、欠 かすことのできない操 作 のひとつになります。 今 回 のハンズオンセミナーでは、Linux システムにおけるユーザ管 理 の仕 組 みを学 習 することを通 して、Linux というすばらしい OS への理 解 を深 めて頂 きたいと考 えまして、コマンド操 作 から少 し離 れ て、Linux の膨 大 な機 能 のほんの一 部 分 に、皆 さんと一 緒 にアプローチしてみました。 今 回 のセミナーに参 加 されて、Linux に対 する皆 さんの興 味 が、ほんの少 しでも大 きいものになっ てくれたならば、今 回 のセミナーは大 成 功 だったと言 ってよいと思 います。 またいつの日 か、短 い時 間 であったとしても、皆 さんとご一 緒 に Linux について学 習 できる機 会 に 恵 まれるならば、これほど幸 せなことはないと思 っております。 2007 年 3 月 16 日 ハンズオンセミナー・スタッフ一 同

参照

関連したドキュメント

・広告物を掲出しようとする場所を所轄する市町村屋外広告物担当窓口へ「屋

なお、政令第121条第1項第3号、同項第6号及び第3項の規定による避難上有効なバルコ ニー等の「避難上有効な」の判断基準は、 「建築物の防火避難規定の解説 2016/

地方自治法施行令第 167 条の 16 及び大崎市契約規則第 35 条により,落札者は,契約締結までに請負代金の 100 分の

あらまし MPEG は Moving Picture Experts Group の略称であり, ISO/IEC JTC1 におけるオーディオビジュアル符号化標準の

平成 26 年の方針策定から 10 年後となる令和6年度に、来遊個体群の個体数が現在の水

北海道の来遊量について先ほどご説明がありましたが、今年も 2000 万尾を下回る見 込みとなっています。平成 16 年、2004

AY2022 Grant Proposal for RIMS Joint Research Activity (RIMS Workshop (Type C)) To Director, Research Institute for Mathematical Sciences, Kyoto University

当監査法人は、我が国において一般に公正妥当と認められる財務報告に係る内部統制の監査の基準に