Як перевірити дозволи певного каталогу?


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

Можливо, вас зацікавлять manpages . Ось тут усі люди тут отримують свої приємні відповіді.

зверніться до сторінок чоловіка в Інтернеті


24
Я думаю, що сторінка man недостатньо сформульована. Я прогризав це п’ять разів, перш ніж почав гуглювати. Я не хочу каталоги «записів» (річ «увійшли» в каталоги? Як їх файли і підкаталоги?) , Ні їх «зміст» (вони звучать як же поняття для мене), я хочу каталоги самих .
— користувач151841

2
це повністю стандартна термінологія, самі каталоги - це записи каталогів, тобто записи у файловій системі
— alldayremix

33
Це може бути стандартна термінологія, але для когось, хто, ймовірно, задасть таке запитання, це, мабуть, плутає жаргон.
— CatShoes

60

Ви також можете скористатися statкомандою, якщо ви хочете детальну інформацію про файл / каталог. (Я вказую це, як ви говорите, ви вчите ^ ^)


4
stat покаже вам серед багатьох прав дозволу: (0755 / drwxr-xr-x)
— zzapper

2
це зручно , так що ви можете побачити числовий формат дозволів , а також - ти
— висадилися

2
"stat -c% a directory" це покаже числовим способом
— Nerius Jok

2
Відповідний на macOS є stat -f %A dir_or_filename.
— iled


10

У GNU / Linux, спробуйте використовувати ls, namei, getfacl, stat.

Для Дір

[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 ~]$

9

$ ls -ld каталог

(ls) вказує список файлів та каталогів.

(-) вказує, що файл - це звичайний файл.

(l) вказує на довгий перелік.

(d) вказує, що файл - це каталог, який в основному є спеціальним видом файлів.



5

На додаток до вищезгаданих дописів, я хотів би зазначити, що "man ls" дасть вам хороший посібник про команду "ls" (Список ").

Крім того, за допомогою ls -la myFile перелічить та покаже всі факти про цей файл.


5

В OS X можна використовувати:

ls -lead

Параметр e показує ACL. А ACL дуже важливі для того, щоб знати, які точні дозволи у вашій системі.


2

ls -lstr

Це показує звичайний перегляд ls з дозволами та group: user

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.