ls -la で表示できるファイル・ディレクトリのパーミッションについての概要をまとめました。
パーミッションとは
パーミッションとは、ファイルやディレクトリに対する権限のことです。
わかりやすく表現すると、特定のファイルやディレクトリに対して、以下のどの行為に対応しているかを示したものがパーミッションです。
- 読み取り権限
- 書き込み権限
- 実行権限
読み取り権限は、ユーザーがそのファイル・ディレクトリを読み取ることができる権限です。参照することも読み取り権限があればできます。
書き込み権限はユーザーがファイル・ディレクトリに書き込むことができる権限です。ファイルやディレクトリの編集はこの権限がないとできません。
実行権限はユーザーがそのファイル・ディレクトリを実行することができる権限です。この権限がないとユーザーはファイルを実行できません。
ls -la コマンドでファイル・ディレクトリのパーミッションを確認する
以下のコマンドを実行してファイル・ディレクトリのパーミッションを確認できます。
ls -la

[root@RHEL95 ~]# ls -la
合計 44
dr-xr-x---. 6 root root 4096 4月 13 16:15 .
dr-xr-xr-x. 19 root root 266 4月 5 21:07 ..
drwxr-xr-x 3 root root 17 3月 29 20:46 .ansible
-rw-------. 1 root root 3850 4月 9 20:23 .bash_history
-rw-r--r--. 1 root root 18 8月 11 2021 .bash_logout
-rw-r--r--. 1 root root 141 8月 11 2021 .bash_profile
-rw-r--r--. 1 root root 429 8月 11 2021 .bashrc
drwx------. 2 root root 6 3月 2 21:29 .cache
-rw-r--r--. 1 root root 100 8月 11 2021 .cshrc
-rw------- 1 root root 20 4月 13 16:15 .lesshst
drwx------. 2 root root 6 3月 2 20:23 .ssh
-rw-r--r--. 1 root root 129 8月 11 2021 .tcshrc
-rw------- 1 root root 5762 4月 5 21:15 .viminfo
-rw-------. 1 root root 864 3月 2 20:32 anaconda-ks.cfg
drwxr-xr-x 2 root root 21 4月 13 16:15 ls-command
rは読み取り権限、wは書き込み権限、xは実行権限
ls -la の実行結果から、読み書き実行権限を確認できます。
実行権限のあるファイルはTeraterm 5.3ではデフォルトで緑色の文字で表示されました。
一番左の-やdはディレクトリかファイルかを表す
一番左は権限とは関係なく、ディレクトリであるかファイルであるかを表します。Windowsでいうフォルダがディレクトリに該当します。
-rw------- 1 root root 5762 4月 5 21:15 .viminfo
-rw-------. 1 root root 864 3月 2 20:32 anaconda-ks.cfg
drwxr-xr-x 2 root root 21 4月 13 16:15 ls-command
隠しファイルはファイル名の先頭に.(ドット)がつく
隠しファイルにはファイル名の先頭に.がつきます。以下の例ではbashの前に.がついています。
-rw-------. 1 root root 3850 4月 9 20:23 .bash_history
隠しファイルはlsコマンドだけでは表示されず、オプションで-aをつけると表示される
隠しファイルはlsコマンドを実行した際に表示されません。
ls -aのよう-aオプションをつけると表示されます。
chmodコマンドで変更できるパーミッションの詳細
lsコマンドで確認できるパーミッションはchmodコマンドで変更することができます。
chmodコマンドで変更するパーミッションは以下になります。
記号 | 数字 | 備考 | |
読み取り権限 | r | 4 | |
書き込み権限 | w | 2 | |
実行権限 | x | 1 | |
すべての権限 | rwx | 7 | rは4、wは2、xは1なので、4+2+1で7 |
読み書き権限 | rw | 6 | rは4、wは2なので、4+2で6 |
chmod 777 <ファイル名>(すべてのユーザーにすべての権限を付与するコマンド)など、chmodコマンドの後ろの数字で変更する権限を管理できます。読み書き実行権限はそれぞれ4、2、1となっており、これらの数字を足すことで権限を追加することもできます。
例えば、すべてのユーザーに対して読み書き権限を付与するには以下のように実行します。
# chmod 666 <ファイル名>