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


79

特定のファイルが持っている権限を確認する方法を知りたい。ターミナルに入力するコマンドはどれですか?ただし、変更したくありません。


これが重複していない場合、これを保護としてマークしてください。これは重要な質問です。
evilMinion

回答:


111

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

例えば

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


これは何を意味するのでしょうか ?

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

  • d(ディレクトリ)
  • c(キャラクターデバイス)
  • l(シンボリックリンク)
  • p(名前付きパイプ)
  • s(ソケット)
  • b(ブロックデバイス)
  • D(ドア)
  • -(通常のファイル)


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

の最初の組み合わせはrwx所有者の許可を表します。
の2番目の組み合わせはrwxグループの許可を表します。
の3番目の組み合わせは、ファイルのもう一方rwxに対する許可を表します。


8進表記

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

読み取りまたはr4で表され、
書き込みまたはw2 で表されます
実行xは1で表されます。

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

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

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

例えば

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

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

以下のために所有者には、4 + 2 + 1 = 7(バイナリ111)である
ためグループが4 + 0 + 1 = 5(バイナリ101)と
のために、他のそれは4 + 0 + 1 = 5(バイナリ101)です。


19

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

ls -l [filename]

またはstat:

stat [filename]

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


「それが依存」、そのコマンドは、標準的な権限が表示されます、しかし、あなたのアクセスは、他の手段によって制限することができ、ACL、AppArmorの、そしてSELinuxはls -lでで示されているものの外のすべてのアクセスを制限することができます:注意してください。
パンサー

7

実際にACL許可を使用しているかどうかに関係なく、aclパッケージがインストールされている場合は、getfacl <path>そのファイルに対する許可のかなり適切な内訳を取得するために使用できます。

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

あなたがいる場合行う ACLアクセス権を使用し、それがあることパーミッションについてあなたを教えてあげるlsstatだけすることはできません。

$ sudo setfacl -m u:oli:r /root
$ getfacl /root/
# file: root/
# owner: root
# group: root
user::rwx
user:oli:r--
group::---
mask::r--
other::---
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.