特定のファイルのアクセス許可を確認する方法を知りたいです。ターミナルに入力するコマンドはどれですか?ただし、変更したくありません。
ファイルの許可を確認したい場合は、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)です。
次のいずれかの長いリストを使用できます。
ls -l [filename]
またはstat:
stat [filename]
統計はより包括的です。アクセス、変更、変更時間、およびiノードとサイズの情報が表示されます。
実際に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::---