Làm thế nào để kiểm tra quyền của một thư mục cụ thể?


315

Tôi biết rằng việc sử dụng ls -l "directory/directory/filename"cho tôi biết các quyền của một tập tin. Làm thế nào để tôi làm tương tự trên một thư mục?

Tôi rõ ràng có thể sử dụng ls -l trên thư mục cao hơn trong hệ thống phân cấp và sau đó chỉ cần cuộn cho đến khi tôi tìm thấy nó nhưng đó là một nỗi đau. Nếu tôi sử dụng ls -ltrên thư mục thực tế, nó sẽ cung cấp quyền / thông tin của các tệp bên trong nó chứ không phải của thư mục thực tế.

Tôi đã thử điều này trong thiết bị đầu cuối của cả Mac OS X 10.5 và Linux (Ubuntu Gutsy Gibbon) và kết quả tương tự. Có một số loại cờ tôi nên sử dụng?

Câu trả lời:


418

Đây là câu trả lời ngắn:

$ ls -ld directory

Đây là những gì nó làm:

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

Bạn có thể quan tâm đến các trang . Đó là nơi tất cả mọi người ở đây có được câu trả lời tốt đẹp của họ.

tham khảo trang người đàn ông trực tuyến


24
Tôi nghĩ rằng trang người đàn ông là từ kém. Tôi đã quét nó năm lần trước khi tôi bắt đầu googling. Tôi không muốn thư mục 'mục' (điều 'đã nhập' vào thư mục? Giống như các tệp và thư mục con của họ?) Cũng không phải 'nội dung' của chúng (chúng có vẻ giống khái niệm với tôi), tôi muốn các thư mục đó .
dùng151841

2
Đó là thuật ngữ hoàn toàn chuẩn, bản thân các thư mục là các mục trong thư mục, tức là các mục trong hệ thống tập tin
alldayremix

33
Nó có thể là thuật ngữ tiêu chuẩn, nhưng với một người có thể sẽ hỏi một câu hỏi như vậy, nó có thể là biệt ngữ khó hiểu.
CatShoes

60

Bạn cũng có thể sử dụng statlệnh nếu bạn muốn thông tin chi tiết về một tập tin / thư mục. (Tôi chính xác điều này như bạn nói bạn đang học ^^)


4
stat sẽ cho bạn thấy trong số rất nhiều điều cho phép: (0755 / drwxr-xr-x)
zzapper

2
cái này rất tiện dụng để bạn cũng có thể thấy định dạng cấp phép số
đã hạ cánh

2
"stat -c% a thư mục" này sẽ hiển thị theo cách số
Nerius Jok

2
Tương ứng trên macOS là stat -f %A dir_or_filename.
iled

12

Ngoài ra còn có

getfacl /directory/directory/

bao gồm ACL

Giới thiệu tốt về Linux ACL tại đây


10

Trong GNU / Linux, cố gắng sử dụng ls, namei, getfacl,stat .

Dành cho đạo diễn

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

hoặc là

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

Đối với tập tin

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

hoặc là

[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

thư mục $ ls -ld

(ls) cho biết danh sách các tập tin và thư mục.

(-) chỉ ra rằng tệp là một tệp thông thường.

(l) chỉ danh sách dài.

(d) chỉ ra rằng tệp là một thư mục, về cơ bản là một loại tệp đặc biệt.


7

Điều này sẽ hiển thị các tập tin với sự cho phép của nó

stat -c '%a - %n' directory/*

5

Ngoài các bài viết trên, tôi muốn chỉ ra rằng "man ls" sẽ cung cấp cho bạn một hướng dẫn tốt đẹp về lệnh "ls" (Danh sách ".

Ngoài ra, sử dụng ls -la myFile sẽ liệt kê và hiển thị tất cả sự thật về tệp đó.


5

Trên OS X, bạn có thể sử dụng:

ls -lead

Tùy chọn e hiển thị ACL. Và ACL rất quan trọng để biết các quyền chính xác trên hệ thống của bạn là gì.


2

ls -lstr

Điều này cho thấy chế độ xem ls bình thường với quyền và người dùng: cả nhóm

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.