web-dev-qa-db-ja.com

ファイルのパーミッションをどのように表示しますか?

特定のファイルのアクセス許可を確認する方法を知りたいです。ターミナルに入力するコマンドはどれですか?ただし、変更したくありません。

76
CENTAUR

ファイルの許可を確認したい場合は、ls -l /path/to/fileコマンドを使用できます。

例えば

   ls -l acroread 
   -rwxr-xr-x 1 10490 floppy 17242 May  8  2013 acroread


これはどういう意味ですか?

最初の-は通常のファイルを表します。オブジェクトのタイプのヒントを提供します。次の値を持つことができます。


rは読み取り許可を表します。
wは書き込み許可を表し、
xは、実行許可を表します。

rwxの最初の組み合わせは、ownerの許可を表します。
rwxの2番目の組み合わせは、groupの許可を表します。
rwxの3番目の組み合わせは、ファイルのotherに対する許可を表します。


オクタル表記法

ファイルの許可は8進数表記でも表すことができます。
8進表記

読み取りまたはrは4で表されます
Writeまたはwは2で表されます
Execute xは1で表されます。

これら3つの合計は、許可を表すために使用されます。

---(stat コマンドを使用して、8進表記でファイル許可を表示できます

  stat -c "%a %n" /path/of/file

例えば

   stat -c "%a %n" acroread 
   755 acroread

ここで見ることができます

ownerの場合、4 + 2 + 1 = 7(バイナリで111)
groupの場合、4 + 0 + 1 = 5(バイナリで101)であり、
otherの場合、4 + 0 + 1 = 5(バイナリで101)です。

106
g_p

次のいずれかの長いリストを使用できます。

ls -l [filename]

またはstat:

stat [filename]

統計はより包括的です。アクセス、変更、変更時間、およびiノードとサイズの情報が表示されます。

18
Viv Diwakar

実際にACLパーミッションを使用しているかどうかにかかわらず、aclパッケージをインストールしている場合、getfacl <path>を使用して、そのファイルに対するパーミッションをかなり適切に分類できます。

$ getfacl /root/
# file: root/
# owner: root
# group: root
user::rwx
group::---
other::---

do ACL許可を使用すると、lsおよびstatが許可できない許可について通知します。

$ Sudo setfacl -m u:oli:r /root
$ getfacl /root/
# file: root/
# owner: root
# group: root
user::rwx
user:oli:r--
group::---
mask::r--
other::---
6
Oli