このセクションでは自宅サーバーとしてLinuxを操作するうえでよく使うコマンドについて初心者/ビギナー向けに解説します。

HPの格安エントリーサーバー機"HP ProLiant ML115"でのLinuxサーバー構築記を掲載しました。サーバー機の選定にお悩みの方は是非お越しください...。お便利サーバー.com管理人。
その他諸々
抜粋Linuxコマンドリファレンス

ディレクトリとファイルの操作

ディレクトリとファイルの作成

カレントディレクトリの変更

ディレクトリとファイルの表示

ディレクトリとファイルのコピーと移動

ディレクトリとファイルの削除

ディレクトリとファイルの検索

パーミッションの変更

解凍と圧縮

ディスクとパーティションの操作

ディスクを初期化・編集する

ボリュームのチェックとマウント

テキストの操作

文字や変数を画面に表示する

ファイルの内容を画面に表示する

出力するテキストに処理を行う

ユーザーとアカウント管理

アカウントの追加と削除

パスワードの設定と変更

ログインアカウントの変更

ネットワークの管理

ネットワークの状態を調べる

名前解決をテストする

ドメイン名の情報を調べる

システム・プロセス管理

ホスト機の電源オフと再起動

デーモンの自動起動設定

プログラムを予約して実行する

稼働中のプロセスを表示する

その他のコマンド

rpmを管理する

HTTP/FTPでファイルを取得する

値・状態・情報を表示する

サイト内検索

su〜ログイン中のアカウントを変更する

WBEL CentOS のシステムに ログイン 中に、 ログアウト を行わずにそのまま異なる ユーザーアカウント でログインしなおすための コマンド です。

例えば "tanaka" というユーザーアカウントでログインして作業しているときでも、このコマンドを使用すれば、一度ログアウトしなくても "suzuki" というユーザーアカウントでログインできるようになります。

ただ、サーバーの管理ではこのような「一般ユーザーアカウントから一般ユーザーアカウントへの変更」は、あまり行う機会はありません。

このコマンドは 「一般ユーザーアカウントでログインしている サーバー 管理者が、システム操作のために"root"アカウントでログインしなおすとき。」 に最もよく使用されます。

su コマンドは、いくつかオプションがありますが、基本的なものだけ覚えておけば充分です。

一般ユーザーアカウントから"root"アカウントへの変更

su コマンドの一般書式は、

su [ユーザーアカウント名] Enter

ですが、 ユーザーアカウント 名を省略すると変更先は "root" アカウント とみなされますので、単純に、

su Enter

または、

su - Enter

と実行します。

su の後に "-(ハイフン)" をつけた場合と付けない場合の違いは、 su コマンド実行前のユーザーアカウントの操作環境(使用する シェル の種類や 環境変数 ホームディレクトリ など)をそのまま "root" に引き継ぐか、それとも "root" に設定されている操作環境を用いるか、という違いがあります。

[tanaka@web1 tanaka]$ suEnter
Password: "root"のパスワードを入力します。Enter
[root@web1 tanaka]# ホームディレクトリが"tanaka"のままです。

[tanaka@web1 tanaka]$ su -Enter
Password: "root"のパスワードを入力します。Enter
[root@web1 root]# ホームディレクトリが"root"に変更されました。

注意点としては、 su の場合と su - の場合では "PATH" 環境変数が異なることが挙げられます。

[tanaka@web1 tanaka]$ printenv PATHEnter printenvコマンドについて
/usr/kerberos/bin:/bin:/usr/bin:/usr/local/bin:/usr/bin/X11:/usr/X11R6/bin:/home
/tanaka/bin    ←↑環境変数"PATH"。
[tanaka@web1 tanaka]$

例えば "root" ユーザーには デフォルト "/usr/sbin/" "PATH" 環境変数として与えられますが、一般ユーザーにデフォルトで与えられる"PATH"には "/usr/sbin/" が含まれていません。

従って su "root" に変更した場合は "/usr/sbin/" 以下にある コマンド を実行したい場合は必ず パス 名付きで実行しなければならなくなります パスが通っている、とは?

そういう点を考えれば、できるだけ su - を利用したほうが良いと思われます。

一般ユーザーアカウントから一般ユーザーアカウントへの変更

su [アカウント名] Enter

または

su - [アカウント名] Enter とタイプします。

[tanaka@web1 tanaka]$ su suzukiEnter
Password: "suzuki"のパスワードを入力します。Enter
[suzuki@web1 tanaka]$ ホームディレクトリが"tanaka"のままです。

[tanaka@web1 tanaka]$ su - suzukiEnter
Password: "suzuki"のパスワードを入力します。Enter
[suzuki@web1 suzuki]$ ホームディレクトリが"suzuki"に変更されました。

"root"ユーザーアカウントから一般ユーザーアカウントへの変更

su [アカウント名] Enter

または

su - [アカウント名] Enter とタイプします。

あたりまえのことですが、すでに "root" アカウントでログインしていますので、ユーザーアカウント名は省略できません。

また、 "root" アカウントからの su を実行する場合には、パスワードの入力は不要となります。

[root@web1 root]# su tanakaEnter
[tanaka@web1 root]$ ホームディレクトリが"root"のままです。

[root@web1 root]# su - tanakaEnter
[tanaka@web1 tanaka]$ ホームディレクトリが"tanaka"に変更されました。

ユーザーアカウントを元に戻す

プロンプト から exit Enter とタイプします。または、 Ctrl + d とタイプします。 すると現在のユーザーアカウントがログアウトされ、 su コマンドを最後に実行したユーザーアカウントに戻ります。

従って、 su コマンドで何度もユーザーアカウントを変更していた場合には、その回数分だけ exit を行わなければ最終的なログアウトはできません。

また、 su コマンドが "-" 付きで実行されていた場合には、 exit を行うとコマンドシェルの画面がクリアされてから元のユーザーアカウントに戻りますが、 "-" なしで実行されていた場合には画面表示に継続されて元のユーザーアカウントに戻ります。

-c〜ユーザーアカウントを指定してコマンドを実行する

su コマンド には、 ユーザーアカウント を変更するだけではなく、他のユーザーアカウントの権限を使ってコマンドを実行する機能があります。一般書式は、

su -c '[コマンド]' [実行させるユーザーアカウント名] Enter

となります。

これは特殊なケースに用いられるオプションで、例えば root アカウント で起動することが セキュリティ 上好ましくない デーモン を、 ログイン 権限を持たない別の システムアカウント 権限で起動する場合などに用いられます。

また、管理上rootアカウントで実行すべき シェル スクリプト 中で、root以外のアカウントから実行しなければならないコマンドを利用したい場合などにも用いられます。

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