Linuxのmkdir -mオプション完全ガイド!初心者でもわかるディレクトリ作成時のパーミッション指定方法
生徒
「先生、Linuxでフォルダを作るときはmkdirコマンドを使うって習いました。でも作ったフォルダに誰がアクセスできるかってどう決まるんですか?」
先生
「いい質問ですね。実は、フォルダにはパーミッションというアクセス権限があって、誰が読み書きできるかを決める仕組みがあるんです。」
生徒
「なるほど!そのパーミッションってフォルダを作るときに決められるんですか?」
先生
「はい、その通りです。mkdirの-mオプションを使うと、新しく作成するディレクトリのパーミッションを指定できるんですよ。」
1. mkdirコマンドとは?
mkdirは、LinuxやUNIXで新しいディレクトリ(フォルダ)を作成するコマンドです。たとえば「projects」という名前のディレクトリを作りたい場合、次のように入力します。
mkdir projects
これで新しいディレクトリが作成されます。ですが、このままではumaskという仕組みに従ったデフォルトのパーミッションが割り当てられます。そこで役立つのが-mオプションです。
2. パーミッションとは?
パーミッションとは、誰がファイルやディレクトリを読み取り(r)、書き込み(w)、実行(x)できるかを示す権限のことです。Linuxでは大きく3種類のユーザーに分かれます。
- 所有者(u:user)
- グループ(g:group)
- その他のユーザー(o:others)
たとえば「755」という数字で指定すると、所有者は読み書き実行でき、その他の人は読み取りと実行だけが許可される、という意味になります。
3. -mオプションの基本的な使い方
-mを使えば、新しいディレクトリに好きなパーミッションを指定できます。例として、すべてのユーザーがアクセスできる「777」のディレクトリを作成してみましょう。
mkdir -m 777 open_dir
このコマンドを実行すると「open_dir」というディレクトリが作られ、誰でも読み書き実行できる状態になります。セキュリティ的には注意が必要ですが、テスト環境などでは便利です。
4. 実際に確認してみよう
作成したディレクトリのパーミッションを確認するにはls -ldを使います。
ls -ld open_dir
drwxrwxrwx 2 user user 4096 Sep 16 10:00 open_dir
先頭のdrwxrwxrwxが権限を示していて、ここで指定した777が反映されているのがわかります。
5. よく使うパーミッション例
初心者がまず覚えると便利なパーミッション設定を紹介します。
755:所有者は読み書き実行、他の人は読み取りと実行だけ(公開ディレクトリに多い)700:所有者だけが自由に使えるプライベートディレクトリ777:全員が自由に使える(注意が必要)
用途によって適切な権限を選ぶことが大切です。
6. セキュリティに注意しよう
-mオプションは便利ですが、むやみに「777」などを指定するとセキュリティリスクが高まります。実運用のサーバーでは必要最低限の権限にとどめるのが基本です。たとえばWebサーバーの設定ディレクトリなら、管理者以外はアクセスできないよう「700」などを指定するのが安全です。
7. 初心者におすすめの学習法
まずは実際にいくつかのディレクトリをmkdir -mで作ってみて、ls -ldで結果を確認するのが理解を深める近道です。「この数字を指定するとこう表示されるんだ」と体験しながら覚えると、数字と意味が自然と結びついて理解できます。
まとめ
今回はLinuxコマンドの中でも非常に使用頻度が高いmkdirコマンドの中でも特に重要なmオプションについて詳しく解説しました。ディレクトリ作成時にパーミッションを指定できるこの機能はサーバー運用やアプリケーション開発において非常に重要な役割を持っています。単純にフォルダを作るだけでなく誰がどのような操作を行えるかを最初の段階で制御できる点が大きな特徴です。特にLinux初心者にとってはパーミッションという概念自体が少し難しく感じるかもしれませんがuser group othersという三つの視点で整理すると理解しやすくなります。
mkdirコマンドにmオプションを付けることで作成と同時に権限を設定できるため後からchmodコマンドで変更する手間を減らすことができます。例えばプロジェクトごとにアクセス制御が必要な場合や特定ユーザーのみが操作できるディレクトリを作成したい場合に非常に便利です。またデフォルトで適用されるumaskの影響を受けずに明示的にパーミッションを設定できるため意図した権限管理を行いやすくなります。
実務では七五五や七百といった代表的な数値を使う場面が多く見られますがそれぞれの意味をしっかり理解して使い分けることが重要です。特に七七七のようなすべてのユーザーに書き込み権限を与える設定は開発環境では便利ですが本番環境ではセキュリティリスクが高まるため注意が必要です。Linuxのファイル管理やサーバー構築を安全に行うためには必要最小限の権限を設定するという考え方を常に意識することが大切です。
またlsコマンドを使って実際のパーミッションを確認する習慣を身につけることで設定ミスにすぐ気付けるようになります。コマンドラインでの操作に慣れてくるとパーミッションの数字と表示される文字列の関係も自然に理解できるようになります。繰り返し操作して確認することで知識が定着しやすくなります。
Linuxコマンドの学習においては単にコマンドを覚えるだけでなくなぜそのオプションを使うのかどのような場面で役立つのかを理解することが重要です。mkdirのmオプションはその良い例でありディレクトリ作成と権限管理を同時に行える実用的な機能です。日々の操作の中で積極的に活用することでより効率的で安全なLinux環境を構築することができます。
サンプルで理解を深める
実際にいくつかのパターンを試してパーミッションの違いを確認してみましょう。ここでは一般ユーザーでの操作を例にします。
mkdir -m 755 sample_dir
ls -ld sample_dir
drwxr-xr-x 2 user user 4096 Apr 7 10:00 sample_dir
mkdir -m 700 private_dir
ls -ld private_dir
drwx------ 2 user user 4096 Apr 7 10:01 private_dir
mkdir -m 777 public_dir
ls -ld public_dir
drwxrwxrwx 2 user user 4096 Apr 7 10:02 public_dir
上記のように同じmkdirコマンドでもmオプションの数値を変えるだけでアクセス権限が大きく変化することが確認できます。この違いを理解しておくことで用途に応じた適切なディレクトリ管理が可能になります。
生徒
mkdirコマンドでディレクトリを作るときにmオプションを使うと最初からパーミッションを設定できるということがよく分かりました。今までは作ってから変更していたので手間が減りそうです。
先生
その通りです。最初に適切な権限を設定しておくことで後からのトラブルを防ぐことができます。特に複数人で作業する環境では重要になります。
生徒
七五五や七百といった数字の意味も少しずつ理解できてきました。表示される文字との関係も確認すると覚えやすいですね。
先生
実際にコマンドを打って確認するのが一番の近道です。lsコマンドで結果を見ながら学習を進めると理解が深まります。
生徒
セキュリティの観点からも七七七は注意が必要だという点も印象に残りました。便利だからといって安易に使わないようにします。
先生
とても大切なポイントです。必要最小限の権限を意識することが安全なシステム運用につながります。これからもコマンドの意味を考えながら使っていきましょう。