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

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

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

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

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

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

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

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

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

パーミッションの変更

解凍と圧縮

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

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

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

テキストの操作

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

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

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

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

アカウントの追加と削除

パスワードの設定と変更

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

ネットワークの管理

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

名前解決をテストする

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

システム・プロセス管理

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

デーモンの自動起動設定

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

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

その他のコマンド

rpmを管理する

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

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

サイト内検索

"chmod"パーミッションを変更する

既存のディレクトリやファイルの パーミッション を変更する コマンド です。

単一のファイルやディレクトリに対してだけでなく、ディレクトリ構造ごとパーミッションを変更することもできます。また、 ワイルドカード を利用すれば複数のファイルやフォルダのパーミッションを一度に変更することもできます。

chmodコマンドは、文字形式と数字形式の二種類の方法で実行することができますが、コマンドの一般書式はいずれも、

chmod [オプション] [モード] [ファイルまたはディレクトリ] ... Enter

となり、[モード]の指定に従って[ファイルまたはディレクトリ]のパーミッションが変更されます。

パーミッションを変更するには、変更対象となるファイルとディレクトリの所有者が、chmodコマンドを実行する ユーザーアカウント と同じでなければなりません。

ただしroot アカウント だけは例外的に、システム上のすべてのファイルとディレクトリのパーミッションを任意に変更することができます。

数字形式による"chmod"の使い方

パーミッションの数字形式 数字形式のパーミッション表記 による表記法に準じて[モード]を指定した実行方法です。

chmod [オプション] 1〜4桁の数字 [ファイルまたはディレクトリ] ... Enter

「1〜4桁の数字」の部分には、数字形式のパーミッションの値をそのまま入力します。入力する桁数が3桁以下の場合は、全4桁のパーミッション値のうち、先頭側の"0"が省略されているとみなされます。

[tanaka@web1 tanaka]$ ls -lEnter カレントディレクトリを表示します。 lsコマンドの説明
合計 4
-rw-r--r--  1 tanaka  tanaka     6 11月 23 10:54 sample.txt
 ↑パーミッション"644"が与えられています。
[tanaka@web1 tanaka]$ chmod 755 sample.txtEnter
[tanaka@web1 tanaka]$ ls -lEnter
合計 4
-rwxr-xr-x  1 tanaka  tanaka     6 11月 23 10:54 sample.txt
 ↑パーミッションが"755"に変更されました。
[tanaka@web1 tanaka]$ chmod 4755 sample.txtEnter
[tanaka@web1 tanaka]$ lsEnter
合計 4
-rwsr-xr-x  1 tanaka  tanaka     6 11月 23 10:54 sample.txt
 ↑パーミッションが"4755"に変更されました。
[tanaka@web1 tanaka]$

文字形式による"chmod"の使い方

パーミッション の文字形式 文字形式のパーミッション表記 による表記法に準じて[モード]を指定した実行方法です。

chmod [オプション] 変更指示 [ファイルまたはディレクトリ] ... Enter

「変更指示」の部分の書式は、

変更対象のユーザー記号+文字によるパーミッション記号

でパーミッションを追加し、

変更対象のユーザー記号-文字によるパーミッション記号

でパーミッションを削除することになります。

間にスペースを入れずに、続けて記述します。

複数の変更対象のユーザーに対して異なるパーミッションを設定したい場合は、それぞれの式を "," で区切って記述します。

変更対象のユーザー記号 実際の変更対象
u 所有者
g 所有グループ
o その他のユーザー
a 上のすべて

"変更対象のユーザー記号"の一覧

 
文字によるパーミッション記号 変更されるパーミッション
r 読み取り許可
w 書き換え許可
x 実行許可
s SUIDまたはSGID
t スティッキービット

"文字によるパーミッション記号"の一覧

 
[tanaka@web1 tanaka]$ ls -lEnter カレントディレクトリを表示します。 lsコマンドの説明
合計 4
-rw-r--r--  1 tanaka  tanaka     6 11月 23 10:54 sample.txt
 ↑パーミッション"644"が与えられています。
[tanaka@web1 tanaka]$ chmod g+x sample.txtEnter
[tanaka@web1 tanaka]$ ls -lEnter
合計 4
-rw-r-xr--  1 tanaka  tanaka     6 11月 23 10:54 sample.txt
 ↑所有グループにのみ実行許可が与えられました。
[tanaka@web1 tanaka]$ chmod a+x sample.txtEnter
[tanaka@web1 tanaka]$ ls -lEnter
合計 4
-rwxr-xr-x  1 tanaka  tanaka     6 11月 23 10:54 sample.txt
 ↑すべてに実行許可が与えられました(元々許可があるものは変更されません)。
[tanaka@web1 tanaka]$ chmod u-x,go-rx sample.txtEnter
[tanaka@web1 tanaka]$ lsEnter
合計 4
-rw-------  1 tanaka  tanaka     6 11月 23 10:54 sample.txt
 ↑所有者の実行許可と、所有グループ及びその他のユーザーの読み取り許可と実行許可をはずしました。
[tanaka@web1 tanaka]$

"chmod"の数字形式と文字形式の使い分け

chmod コマンド の数字形式による入力と文字形式による入力は、好みで使い分けるというより、目的によって使い分けるべき選択になります。

数字形式による入力は、変更対象のディレクトリやファイルの元の パーミッション とは無関係にパーミッションの再設定が行われます。つまり、 「絶対変更」 です。

従って、すべてのパーミッションを一度に変更する場合には「直感的に」作業しやすいのですが、例えば「その他のユーザーに書き換え許可だけを与えたい」という場合でも、所有者、所有グループのパーミッションまで同時に指定しなければなりません。

一方の文字形式による入力は、変更対象の現在のパーミッションに対して変更指示を行う、いわゆる 「相対変更」 です。

従って、パーミッションの変更したい部分だけを的確に変更することができますが、例えば「元のパーミッションが何であるかとは無関係にパーミッションを変更したい」というような場合はかえって面倒です。

という訳ですから、変更対象のディレクトリやファイルが数個程度ならば "chmod 755 [ディレクトリまたはファイル名]" のように数字形式で行うのがベターです。

一方で変更対象が多く、特定のパーミッションだけを丸ごと変更したい場合には "chmod go+rwx [ ワイルドカード でディレクトリまたはファイル名を指定] のように文字形式で行うほうが間違いがないでしょう。

"-R"の利用と注意

chmod コマンド に、オプションスイッチ "-R" を付け、ディレクトリを変換対象にして実行すると、そのディレクトリを含めて、以下のディレクトリとファイルの全ての パーミッション を一気に変更することができます。

chmod -R [モード] [ファイルまたはディレクトリ] ... Enter

ただし、この "-R" オプションの利用はあまりおすすめできません。

例えば、

"chmod -R 644 /home/tanaka/mydata/"

と実行して、「"/home/tanaka/mydata/"以下の全てのファイルを誰でも読めるように」設定しようとしても、実はうまくいきません。

なぜなら、このコマンドを実行すると、変更対象のディレクトリにも同じ "644" のパーミッションが設定されてしまいますから、所有者以外には開くことができなくなってしまうからです。ディレクトリには当然、オープン許可の "755" を設定しなければなりません。

chmodコマンドは取り消しが効きませんので、大量の変更対象に誤ったパーミッションを設定してしまうと、元の状態に戻すのは大変です。

という訳ですから、chmodコマンドを利用する場合にはできるだけ "-R" オプションは使用せず、原則として一つずつ、多くても一つのディレクトリ内ごとに操作するほうが間違いないでしょう。

"chown"所有者と所有グループを変更する

既存のディレクトリやファイルの所有者と所有グループを変更する コマンド です。

単一のファイルやディレクトリに対してだけでなく、ディレクトリ構造ごと変更することもできます。また、 ワイルドカード を利用すれば複数のファイルやフォルダごと一度に変更することもできます。

コマンドの一般書式は以下の通りです。

chown [オプション] [所有者] [ファイルまたはディレクトリ] ... Enter

chown [オプション] [所有者].[所有グループ] [ファイルまたはディレクトリ] ... Enter

chown [オプション] .[所有グループ] [ファイルまたはディレクトリ] ... Enter

chownコマンドはこのように[所有者]と[所有グループ]を ".(ドット)" で区切ることで両方を一度に、また、[所有者]を記述せずに ".(ドット)" に続けて[所有グループ]を記述することで、所有グループのみを変更することができます。

通常の ユーザーアカウント の場合は所有者の変更はできません。ただし、そのユーザーアカウントが複数の所有グループに所属している場合は、その所有グループに限って変更は可能です。

という訳ですから、実際にこのchownコマンドを利用するのは "root" ユーザーに限られるます。rootユーザーは全てのディレクトリとファイルについて、所有者と所有グループを自由に変更できます。

[root@web1 tanaka]# ls -lEnter カレントディレクトリを表示します。 lsコマンドの説明
合計 4
-rw-r--r--  1 tanaka  tanaka     6 11月 23 10:54 sample.txt
 ↑所有者、所有グループとも"tanaka"です。
[root@web1 tanaka]# chown suzuki sample.txtEnter
[root@web1 tanaka]# ls -lEnter
合計 4
-rw-r-xr--  1 suzuki  tanaka     6 11月 23 10:54 sample.txt
 ↑所有者のみ"suzuki"に変更されました。
[root@web1 tanaka]# chown .root sample.txtEnter
[root@web1 tanaka]# ls -lEnter
合計 4
-rwxr-xr-x  1 suzuki  root      6 11月 23 10:54 sample.txt
 ↑所有グループのみ"root"に変更されました。
[root@web1 tanaka]# chown tanaka.named sample.txtEnter
[root@web1 tanaka]# lsEnter
合計 4
-rw-------  1 tanaka  named      6 11月 23 10:54 sample.txt
 ↑所有者が"tanaka"に、所有グループが"named"に変更されました。
[root@web1 tanaka]#

chownコマンドは、オプションスイッチ "-R" を付けて、ディレクトリを指定して実行すると、そのディレクトリを含めて、以下のディレクトリとファイルの全ての所有者、所有グループを一気に変更することができます。

"chgrp"所有グループを変更する

既存のディレクトリやファイルの所有グループを変更する コマンド です。

単一のファイルやディレクトリに対してだけでなく、ディレクトリ構造ごと変更することもできます。また、 ワイルドカード を利用すれば複数のファイルやフォルダごと一度に変更することもできます。

コマンドの一般書式は以下の通りです。

chgrp [オプション] [所有グループ] [ファイルまたはディレクトリ] ... Enter

コマンドの実行方法はchownコマンドとほとんど同じですし、所有グループの変更はchownコマンドでも可能ですから、強いて覚える必要はないかもしれません。

ちなみに、chgrpコマンドはchownコマンドと同様に、オプションスイッチ "-R" を付けて、ディレクトリを指定して実行すると、そのディレクトリを含めて、以下のディレクトリとファイルの全ての所有グループを一気に変更することができます。

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