このページではCentOSインストールした後の自宅サーバーで行うユーザーアカウント作成について初心者/ビギナー向けに解説します。
CentOS3のセットアップ
CentOS3インストール後の設定

インストール後の設定

ログインとアカウント作成

X-Windowと通信の確認

簡易テキストエディタの導入

ネットワークの詳細設定

sshクライアントの導入

yumによるアップデート

不要デーモンの停止

公開のためのルーター設定

ダイナミックDNSの登録と設定

ダイナミックDNSの自動更新

ログインの意味と方法について

CentOS3 インストール が終了して再起動が行われた 構築中のLinuxサーバー は、次のような ログイン 待ちの状態になっているはずです。

実はもうこの状態で、CentOS3はほぼ完全に動作しています。

意外に思い違いをしている人が多いのですが、 OS がこのようにログインを待っているような状態というのは、

「ユーザーが直接操作できる状態になっていないだけ。」

であって、OSは既にきちんと動作しています。

例えばOSの中核とも言える カーネル をはじめとして、その動作に必要な数多くの アプリケーション 、更に、ユーザーが直接使用する訳ではない サーバー プログラムなどは、この段階で既に動作しているのが普通です。

それは例えば最近の WindowsOS MacintoshOS の場合でも同じで、そのログイン待ち状態である、

そのホスト機をプリンタサーバーとして使う場合も同じです。そのホスト機にだれかがログインしておく必要はありません。

の画面でも、このホスト機に対してファイル共有は可能、つまり ファイルサーバー として稼働中 になっているはずです。

実は、ここで 「ユーザー名とパスワードを入力する。」 という行為、つまりログインという操作は、

「そのユーザーが ホスト機 を直接操作するための シェル アプリケーションを起動するための確認作業」

に過ぎないというわけです。逆にいえば、サーバーのように普段は直接実機を操作する必要のないホスト機では、設定の変更を行ったり、動作状況をモニターしたりするとき以外は、わざわざログインする必要はないといえます。

クライアント向けのWindowsOSやMacintoshOSなどの場合、そのホスト機を使用する人が一人に限られていれば、ログイン作業が省略できる(オートログイン)のが普通です。 セキュリティ を重視しなければならないCentOS3には、そういう横着を許す機能はありません。

もちろん、CentOS3を インストール したばかりのホスト機は、そのままではサーバーとしてきちんと動作するような設定が行われていませんので、まずこの 構築中のLinuxサーバー のシステムにログインし、シェルを起動する必要があります。

ここで ユーザーアカウント 名として root とタイプして Enter を押すと、次のようにパスワードの入力画面になります。

パスワード入力時は、タイプした文字はエコーバックされない(画面に表示されない)ので、キーボードの故障と勘違いしないようにしてください。

ここで、CentOS3のインストールのときに設定した "root" のパスワード CentOS3のルートパスワードの設定 をタイプし、 Enter を押してください。

ユーザーアカウント名 "root" とそのパスワードに誤りがなければ次のような画面になるはずです。

これで、 "root" アカウント によるログインが完了しました。

このページの先頭へ↑

"root"アカウントの危険性について

ここで早速操作開始、と行きたいところですが、その前に自分用の 一般 ユーザーアカウント を作成しましょう。

一般的に UNIX 系の OS を扱う場合には、

「必要なとき以外には"root"アカウントで操作するべからず。」

という鉄則があります。

WindowsOS MacintoshOS などの クライアント 向けのOSの場合でも、一応のところは、

「通常は"制限ユーザーアカウント"で ログイン (ログオン)して作業し、 アプリケーション インストール やシステムを変更する場合にのみ"管理ユーザーアカウント"でログインすること。」

とい使い方が推奨されています。しかし現実には、「いちいちログインしなおすのが面倒くさい。」という理由で、常に"管理ユーザー ( CentOS3 における"root"ユーザー) "で使用し続けている方が大部分ではないでしょうか。

もちろん、クライアントOSには、不慣れな初心者でも "管理ユーザー" として安心して扱えなければならないという「宿命」があるからです。

もっとも、そういった商用のクライアント向けOSの場合には、利用者がそういう使い方をするであろうことはメーカーも想定の範囲内ですから、システムを壊しかねないような危険な操作に対しては、OSが警告画面で注意を促したり、そういう操作そのものが実行できないように配慮されているのが普通です。

フールプルーフ :安全工学の用語で、「人間は間違いを犯すもの」という前提で、間違いがあっても自動的に対処が行われて安全を維持する仕組みをいいます。

その一方でCentOS3などUNIX系OSのほとんどは、ユーザーの操作(特に コマンド シェル での操作)に対しては、警告や抑制といったフールプルーフ対策がほとんどありません。

理由はいうまでもなく、UNIXシステムの管理者はもともとシステムに熟知した者がその任に就くことが前提になっていて、管理ユーザーに素人が携わることを想定していないからです。

CentOS3における "root" アカウントはそのCentOS3システムの最高管理権限がありますから、システムを自由自在に操作することができます。

自由自在に操作できるということは、逆にいえば システムに不具合を起こすような操作や設定も可能 ということですから、そのシステムがミスに対して寛容ではない以上、初心者がそれを操作する場合には常にシステム破壊の危険が潜んでいるといえるわけです。

もちろん、クライアント向けOSの「制限ユーザー」と同様に、 "root" ではない一般のユーザーアカウントでCentOS3を操作する限りにおいては、システムそのものに影響を及ぼすような作業はできません。当然、初心者がいじくりまわしてもまず問題はありません。

CentOS3の "root" アカウントと一般ユーザーアカウントの権限の差は、クライアント向けOSのそれと比べると遥かに明解で厳密ですから、そういう意味でむしろCentOS3は、クライアント向けOSより安心してユーザー管理を行うことが可能なシステムといえるでしょう。

そういう訳ですから、CentOS3の操作を行う場合、 "root" アカウントが必要ではない作業はできるだけ一般のユーザーアカウントで行うのが望ましいといえます。

このページの先頭へ↑

ユーザーアカウントの作成

CentOS3 のシステム上に新しい ユーザーアカウント を作成するには、 useradd コマンド を使います。

useradd は、 "root" アカウント で なければ実行できませんから、このパートの冒頭の要領で "root" アカウントで ログイン してから以下の作業を行ってください。

CentOS release 3.9 (Final)
Kernel 2.4.21-50.EL on an i686

web1 login: root
Password:
[root@web1 root]# useradd tanakaEnter tanakaというユーザーを追加
[root@web1 root]#

これで、CentOS3のシステム上に "tanaka" というユーザーアカウントが作成されました。

しかし、まだアカウントが作成されただけでパスワードが設定されていませんから、この "tanaka" というユーザーアカウントでシステムにログインすることはできません。

そこで次は passwd というコマンドを使って、 "tanaka" にパスワードを設定します。

[root@web1 root]# passwd tanakaEnter tanakaにパスワードを設定
Changing password for user tanaka.
New UNIX password: 新しいパスワードを入力します。Enter
Retype new UNIX password: もう一度新しいパスワードを入力します。 Enter
passwd: all authentication tokens updated successfully.
[root@web1 root]#

これで "tanaka" というユーザーアカウントにパスワードが設定されました。

このページの先頭へ↑

ログアウトとユーザーログイン

このパートの手順どおりにここまで操作しているとすれば、現在は "root" アカウント で直接 ログイン されているはずです。

お便利サーバー構築に、
とても役に立った一冊です

もちろん、そのまま設定作業を続けることもできますが、 「操作ミスでシステムを壊さないようにする。」 ためには、

1.システムへのログインは、まず一般ユーザーアカウントで行う。

2."root"アカウントを使用するときは、必ず一般ユーザーアカウントからの「昇格」で行う。

という手順を踏むようにしましょう。

"root" アカウントは一般のユーザーアカウントと違って、実行可能な コマンド に制約がないので、最初から "root" アカウントでログインして作業すれば面倒がありません。

そのため、ついつい面倒になって最初から "root" アカウントでログインしたくなりがちです。

しかし、そういう習慣を身につけてしまうと、そのうちしっぺ返しを食らうことになります。

人間は誰しもミスを犯すものですし、特にコマンド操作にある程度慣れてくると、 「取り消しの利かない消去系のコマンド。」 といった非常に危険なコマンドでさえ、他のコマンドと同じような「ぞんざいな」扱いをしてしまいがちになります。

何事もそうですが、一度身についてしまった習慣というものはなかなか抜けるものではありませんので、やはり最初の姿勢が肝心です。

「"root"アカウントは必要なときに使うもの。」

という感覚と習慣は、この段階で身につけるようにしたいものです。

そこでまず、現在の "root" でログインを抜けます。つまり ログアウト を行います。ユーザーアカウントの種類に係わらず、ログアウトをするには exit Enter とタイプします。

[root@web1 root]# exitEnter

すると画面がクリアされてログイン待ちの状態になります。

CentOS release 3.9 (Final)
Kernel 2.4.21-50.EL on an i686

web1 login:

そして、次に一般ユーザーアカウント "tanaka" でログインします。要領は "root" でのログインと同じです。

web1 login: tanakaEnter
Password: "tanaka"のパスワードを入力します。 Enter
[tanaka@web1 tanaka]$

これでユーザーアカウント "tanaka" によるログインが完了しました。

さて、ここでCentOS3標準の CUI プロンプト の意味について説明しましょう。

例えば "root" アカウントでログインした場合の、

設定を変えることで、このプロンプトの表示方法は変更することができます。あまり重要ではないのでその方法はここでは触れません。

[root@web1 root]#

ですが、まず、 "@" に続く "web1" ホスト名 を示します。

現在操作している ホスト には、 CentOS3 のセットアップで "web1.obenri.com" という FQDN を設定しましたので、その "web1.obenri.com" から ドメイン名 である "obenri.com" を取り除いたものがホスト名として表示されます。

従って、ログインしているユーザーアカウントに係わらず、このホストでは常にこの部分に "web1" が表示されることになります。

"@" の前の "root" は、現在ログインしているユーザーアカウントを示します。

CentOS4などのやや新しい ディストリビューション では、ホームディレクトリはディレクトリ名ではなく "~(チルダ)" で表示されます CentOS4のログインプロンプト表記について

"root@web1" の右側の "root" は、現在作業中のディレクトリの名前です。

CentOS3では、通常ログインを行うと ホームディレクトリ に移動しますので、 cd コマンドでディレクトリを移動すると、この部分の表記は変化します。

また、 "root" アカウントでログインしているときは、右端に "#" が付きます。

rootログイン時のプロンプト
rootログイン時のプロンプト

一方、一般ユーザーである "tanaka" でログインしたときのプロンプトは以下のようになります。

一般ユーザーのログイン時のプロンプト
一般ユーザーのログイン時のプロンプト

"root" アカウントでログインした場合と大きく異なるのは、右端の "$" です。

この部分の違いには、

「プロンプトの末尾に"#"が付いているときは、システムの大事な部分が変更可能ですから、慎重に作業してください。」

という意味が込められていると思ってください。くどいようですが、CentOS3のコマンド操作は原則として取り消しが利きませんので、プロンプトに "#" が表示されているときはくれぐれも注意して作業してください。

さて、一般ユーザー "tanaka" でログインしたら、 su コマンドで "root" ユーザーに昇格しましょう。

[tanaka@web1 tanaka]$ su -Enter
Password: "root"のパスワードを入力します。 Enter
[root@web1 root]#

これでユーザーアカウント "root" によるログインが完了しました。

"root" ユーザーから、元の "tanaka" に戻るには、 exit Enter とタイプします。または、 Ctrl + d とタイプします。 すると現在の "root" アカウントがログアウトされ、ユーザーアカウント "tanaka" に戻ります。

更にもう一度 exit Enter または、 Ctrl + d とタイプすると完全にシステムからログアウトされ、画面がクリアされてログイン待ちの状態に戻ります。

この部分については、コマンドリファレンスの ログインアカウントの変更 を参照してください。

このサイトに対するご意見、ご要望、苦情、泣き言、献上品、資金援助などがございましたら こちら からお寄せください(お返事できなかったらごめんなさい)。もちろん リンクフリー です。趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。また、本サイトの更新情報をメールで知らせてほしい方は ここ からご登録ください。
Powered by Apache
”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。
Powered by White Box Enterprise Linux