特定のディレクトリの権限を確認するにはどうすればよいですか?


315

私はそれを使用していることを知っています ls -l "directory/directory/filename"と、ファイルの権限がます。ディレクトリで同じことをするにはどうすればよいですか?

私は明らかにls -l階層の上位のディレクトリを使用して、それが見つかるまでスクロールするだけでよいのですが、それはとても面倒です。ls -l実際のディレクトリで使用すると、実際のディレクトリではなく、ディレクトリ内のファイルの権限/情報が表示されます。

Mac OS X 10.5とLinux(Ubuntu Gutsy Gibbon)の両方のターミナルでこれを試してみましたが、結果は同じです。使用すべきフラグの種類はありますか?

回答:


418

ここに短い答えがあります:

$ ls -ld directory

以下がその機能です。

-d, --directory
    list directory entries instead of contents, and do not dereference symbolic links

マンページに興味があるかもしれません。ここにいるすべての人が良い答えを得る場所です。

オンラインのマニュアルページを参照してください


24
manページの言葉遣いが悪いと思います。グーグルを始める前に、5回洗った。ディレクトリ 'entries'(ディレクトリに '入力されたもの?ファイルやサブディレクトリのように?)や' contents '(私には同じ概念のように聞こえます)も必要ありません。ディレクトリ自体が必要です。
user151841

2
これは完全に標準的な用語であり、ディレクトリ自体はディレクトリエントリ、つまりファイルシステムのエントリです
alldayremix

33
それは標準的な用語かもしれませんが、そのような質問をする可能性のある人にとっては、おそらく混乱する専門用語です。
CatShoes 2013年

60

statファイル/ディレクトリの詳細情報が必要な場合は、コマンドを使用することもできます。(私はあなたがあなたが学んでいると言っているようにこれを正確に^^)


4
statは多くの権限の中であなたを表示します:(0755 / drwxr-xr-x)
zzapper

2
これは便利なので、数値のアクセス許可の形式も確認できます-ty
着陸

2
"stat -c%a directory"これは数値で表示されます
Nerius Jok 2018

2
macOSでの対応はstat -f %A dir_or_filenameです。
アイドル


10

GNU / Linuxでは、使用しようとlsnameigetfaclstat

Dirの場合

[flying@lempstacker ~]$ ls -ldh /tmp
drwxrwxrwt. 23 root root 4.0K Nov  8 15:41 /tmp
[flying@lempstacker ~]$ namei -l /tmp
f: /tmp
dr-xr-xr-x root root /
drwxrwxrwt root root tmp
[flying@lempstacker ~]$ getfacl /tmp
getfacl: Removing leading '/' from absolute path names
# file: tmp
# owner: root
# group: root
# flags: --t
user::rwx
group::rwx
other::rwx

[flying@lempstacker ~]$ 

または

[flying@lempstacker ~]$ stat -c "%a" /tmp
1777
[flying@lempstacker ~]$ stat -c "%n %a" /tmp
/tmp 1777
[flying@lempstacker ~]$ stat -c "%A" /tmp
drwxrwxrwt
[flying@lempstacker ~]$ stat -c "%n %A" /tmp
/tmp drwxrwxrwt
[flying@lempstacker ~]$

ファイル用

[flying@lempstacker ~]$ ls -lh /tmp/anaconda.log
-rw-r--r-- 1 root root 0 Nov  8 08:31 /tmp/anaconda.log
[flying@lempstacker ~]$ namei -l /tmp/anaconda.log
f: /tmp/anaconda.log
dr-xr-xr-x root root /
drwxrwxrwt root root tmp
-rw-r--r-- root root anaconda.log
[flying@lempstacker ~]$ getfacl /tmp/anaconda.log
getfacl: Removing leading '/' from absolute path names
# file: tmp/anaconda.log
# owner: root
# group: root
user::rw-
group::r--
other::r--

[flying@lempstacker ~]$

または

[flying@lempstacker ~]$ stat -c "%a" /tmp/anaconda.log
644
[flying@lempstacker ~]$ stat -c "%n %a" /tmp/anaconda.log
/tmp/anaconda.log 644
[flying@lempstacker ~]$ stat -c "%A" /tmp/anaconda.log
-rw-r--r--
[flying@lempstacker ~]$ stat -c "%n %A" /tmp/anaconda.log
/tmp/anaconda.log -rw-r--r--
[flying@lempstacker ~]$

10

$ ls -ldディレクトリ

(ls)は、ファイルとディレクトリのリストを示します。

(-)ファイルが通常のファイルであることを示します。

(l)は長いリストを示します。

(d)ファイルがディレクトリであることを示します。これは基本的に特別な種類のファイルです。



5

上記の投稿に加えて、「man ls」は「ls」(List)コマンドに関する優れたマニュアルを提供することを指摘したいと思います。

また、ls -la myFileを使用すると、そのファイルに関するすべての事実が一覧表示されます。


5

OS Xでは次を使用できます。

ls -lead

eオプションはACLを表示します。また、ACLは、システムの正確なアクセス許可を把握するうえで非常に重要です。


2

ls -lstr

これは、権限とuser:groupを含む通常のlsビューを示しています

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.