メインコンテンツへスキップ
  1. ブログ/

Linuxの権限(パーミッション)を数字で表示する方法

·
Linux Bash
目次

初めに
#

Linuxシステムにおいて、ファイルやディレクトリの権限(パーミッション)は、セキュリティおよびアクセス制御の観点から非常に重要な要素となります。

通常、ls -l コマンドで表示される権限は英字(rwx 形式)で表現されますが、これを視覚的にわかりにくいと感じたことがある方も多いのではないでしょうか。

本記事では、stat コマンドを用いて 権限を8進数(数値)形式で確認する方法について解説いたします。

rwx形式
#

Linuxのパーミッション表記では、各ファイルやディレクトリに対して次のような記号でアクセス権が示されます。

アクセス権は r(読み取り)、w(書き込み)、x(実行)の3種類の記号で表され、それぞれに数値が割り当てられています。

この3つを組み合わせて合計したものが、chmod などで使われる 8進数表記 になります。

記号 意味 数値
r 読み取り許可 4
w 書き込み許可 2
x 実行許可 1
- 権限なし 0

statコマンド
#

statコマンドの「-c」オプションを使用する事でファイルやディレクトリの権限(パーミッション)を数字で表示する事が可能です。

数字で表示するには「-c」オプションにて以下の様に「%a」を指定します。

stat -c "%a" ファイル名

今回は例として「/home」ディレクトリの権限をstatコマンドを使用し確認してみます。

lsコマンドにて確認した際は以下となっております。

ls -dl /home
drwx--x--x 222 root root 5555  2月 30 16:50 /home

statコマンドにて確認した際は以下となっております。

stat -c "%a" /home
711

このように、statコマンドを使用することで、lsコマンドでは視覚的に確認しづらいパーミッションを8進数(数値)として直接確認できます。

%a 以外の出力フォーマット
#

statコマンドの「-c」オプションでは「%a」以外にも様々な情報を指定して表示することができます。

例えば以下の様に「%a」以外に「%n」や「%A」を含めると以下の様により視覚敵に分かりやすいフォーマットとなります。

stat -c "%n: %a %A" /home
/home: 711 drwx--x--x

関連記事

Linuxで指定した日から何日経過したか計算する方法
Linux コマンド
【初心者向け解説】SELinuxの状態を確認する方法
Linux SELinux セキュリティ
【初心者向け解説】grepコマンドでAND・OR検索を行う方法
Linux コマンド
AlmaLinux8でruby2.6以上をインストールする方法
Linux プログラム
Linuxでディレクトリ内の容量を表示する方法
Linux プログラム
Linuxでメモリのスワップ使用率を表示する方法
Linux プログラム