web-dev-qa-db-ja.com

Unix:特定のディレクトリのパーミッションを確認するにはどうすればいいですか?

私はls -l "directory/directory/filename"を使うことでファイルのパーミッションを教えてくれることを知っています。どのように私はディレクトリに同じことをするのですか?私は明らかに階層のより高いディレクトリでls -lを使ってそれが見つかるまでただスクロールすることができました、しかしそれはそのような苦痛です。実際のディレクトリでls -lを使用すると、実際のディレクトリではなく、その中のファイルのアクセス権/情報が表示されます。私はこれをMac OS X 10.5とLinux(Ubuntu Gutsy Gibbon)の両方の端末で試しましたが、それは同じ結果です。使用すべきフラグがありますか?

272
user42228

これが簡単な答えです。

$ ls -ld directory

これが何をするかです:

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

manpages に興味があるかもしれません。それが、ここにいるすべての人がいい答えを得るところです。

オンラインのmanページを参照してください

374

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

54
Piotr Lesnicki

もあります

getfacl /directory/directory/

aCLを含む

Linux ACLの良い紹介 ここ

12
Taylan

$ ls -ldディレクトリ

(ls) はファイルとディレクトリのリストを示します。 ( - ) は、ファイルが通常のファイルであることを示します。 (l) は長いリストを示します。 (d) はファイルがディレクトリであることを示します。これは基本的に特殊なファイルです。

7
Mehul Jariwala

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 ~]$
6
user7040344

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

ls -lead

EオプションはACLを表示します。そしてACLはあなたのシステムの正確なパーミッションが何であるかを知るためにとても重要です。

5
Tony Topper

上記の記事に加えて、 "man ls"は "ls"(List)コマンドについての素晴らしいマニュアルをあなたに与えるでしょう。

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

5
Filip Ekberg

ls -lstr

これはパーミッションとuser:groupを含む通常のlsビューを示しています

1
user2201302

これは、その許可とともにファイルを表示します

stat -c '%a - %n' directory/*
1
Brandon Aguilar