Linux(Ubuntu)のディレクトリ構造の解説をざっくり解説!作成したユーザとの関係は??

Windowsでいうところの”フォルダ”はLinuxでは”ディレクトリ”といいます。

始めてLinuxを触ったときに一度は”ls”コマンドでディレクトリ一覧を表示してみたと思いますが、usrとかetcとかが出て「ナニコレ。。。」となったと思います。

Linuxを扱う上で必ず理解しておくべき内容ですので、ザックリ説明します。

 

Linux(Ubuntu20.04)のディレクトリすべてをザックリ解説

Linuxで用意されているルートディレクトリ内の重要なディレクトリの種類(ディレクトリ構造)の紹介とそれぞれの役割を大まかに解説します。

使用用途によっては全く使用しないディレクトリもあります。(/cdrom,/srvなど)

 

/(rootディレクトリ)

ディレクトリの最上部で。全てのディレクトリやファイルはこの中に格納されています。

 

/boot

システム起動用ファイルが入っているディレクトリ

 

/cdrom

CD-ROMをマウントする用のディレクトリ。デフォルトでは何も入っていません。

 

/dev

デバイス情報が保存されているディレクトリ。HDDやSSDが認識されている場合はsda(sda1)やsdb(sdb1)といったように保存されています。

 

/etc

様々な設定ファイルが格納されているディレクトリ。cronやSamba(ファイルサーバ)の設定を変更したい場合は/etc内のファイルを変更する場合が多いかと思います。

 

/home

root以外の一般ユーザ用ディレクトリが格納されているディレクトリ。"Hayana"というユーザを作成した場合/home配下に"Hayana"というディレクトリが作成されます。

画像では例としてHayanaとobenkyouというユーザを作成した場合を表しています。

 

/lost+found

クラッシュしたファイルのリカバリ先ディレクトリ。破損したファイルはここに救出されます。

 

/proc

実行されている各プロセスの情報やデータが保存されているディレクトリ。

 

/root

rootユーザのホームディレクトリ。一般ユーザー(例:hayana)でいう所の/home/hayana などと同様。

 

/run

現在実行しているプログラムのPIDファイルなどを格納するディレクトリ。

 

/snap

Linuxのディストリビューションを問わないsnapパッケージをインストールするディレクトリ。

 

/srv

HTTPやFTPでのデータが配置されるディレクトリ。

 

/swapfile

メモリに保持できないデータを一時的に保存するこのディレクトリ。

 

/sys

デバイスやドライバー、モジュールに関するファイルが格納されているディレクトリ

 

/usr

ユーザーディレクトリ。とは言いつつも、ホームディレクトリのように自由にファイルを自由に遊ばせられるディレクトリというわけではありません。中にはbin,sbin,libなどの重要なディレクトリが格納されています。rootユーザであれば"/root"ディレクトリ、一般ユーザーであれば"/home/ユーザ名"のディレクトリをホームディレクトリとして使用しましょう。

 

/usr/bin

ユーザが利用できるコマンドが格納されているディレクトリ。(cat,ls,mvなど)

 

/usr/sbin

管理者専用のコマンドが格納されているディレクトリ。arpなど

 

/usr/lib

共用ライブラリが格納されているディレクトリ。

 

/var

ログやメールなどの更新頻度が高いファイルが格納されているディレクトリ。

 

ユーザごとのディレクトリ操作権限をザックリ解説

ディレクトリ関係の前に抑えておきたいのが、ユーザの関係性です。

Linuxをインストールするとまず全ての操作権限を持っているrootユーザが作成されます。

下の図のようにrootユーザを用いて”Hayana”や"obenkyou"などの個人が使用するユーザを”adduser”コマンドで作成します。

また、作成したユーザは一般ユーザーとして作成され、rootユーザーと操作できるフォルダやファイル(権限)が異なります。

 

下の図でユーザごとの権限を確認しましょう。

 

黄色のエリア(/ディレクトリ直下)はrootユーザでないと操作が出来ないエリアです。

緑色のエリア(/home/hayana)はhayanaユーザ(一般ユーザ)を作成した際に/home配下にユーザ名と同じhayanaディレクトリが作成されます。ここではhayanaユーザもしくはrootユーザでないと操作できないエリアです。

青のエリア(/home/obenkyou)はobenkyouユーザ(一般ユーザ)を作成した際に/home配下にユーザ名と同じobenkyouディレクトリが作成されます。ここではobenkyouユーザもしくはrootユーザでないと操作できないエリアです。

 

まとめると、、、

rootユーザでは全てのディレクトリ・ファイル操作権限を持っており、一般ユーザは/home配下のユーザ名と同じディレクトリとその配下にあるディレクトリ・ファイルのみの操作権限を持っています。

黄色のエリアを操作する場合はrootユーザに切り替える必要があります。

 

一般ユーザのままでrootエリア内のファイルを操作したいとき

実行するコマンドの前にsudoをつけるとそのコマンドではroot権限を持つことが出来ます。

例:sudo vi /etc/samba/smb.conf

 

設定によってはsudoを使う際にはパスワードが求められます。