Làm thế nào để bạn xem quyền tập tin?


79

Tôi muốn biết làm thế nào để xem các quyền mà một tập tin cụ thể có. Tôi nên gõ lệnh nào trong terminal? Tuy nhiên, tôi không muốn thay đổi nó.


Nếu đây không phải là một bản sao, vui lòng đánh dấu đây là Protected. Đây là một câu hỏi quan trọng.
evilMinion

Câu trả lời:


110

Nếu bạn muốn xem sự cho phép của một tập tin, bạn có thể sử dụng ls -l /path/to/filelệnh.

Ví dụ

   ls -l acroread 
   -rwxr-xr-x 1 10490 floppy 17242 May  8  2013 acroread


Điều đó có nghĩa là gì ?

Đầu tiên -đại diện cho một tập tin thông thường. Nó cung cấp cho bạn một gợi ý về loại đối tượng. Nó có thể có các giá trị sau.

  • d (thư mục)
  • c (thiết bị nhân vật)
  • l (liên kết tượng trưng)
  • p (tên ống)
  • s (ổ cắm)
  • b (thiết bị khối)
  • D (cửa)
  • - (tập tin thường xuyên)


rđại diện cho phép đọc.
wđại diện cho quyền viết và
xđại diện cho quyền thực thi.

Sự kết hợp đầu tiên của rwxđại diện cho phép cho chủ sở hữu .
Sự kết hợp thứ hai của rwxđại diện cho phép cho nhóm .
Sự kết hợp thứ ba rwxđại diện cho sự cho phép khác của tập tin.


Ký hiệu bát phân

Quyền của tập tin cũng có thể được trình bày trong ký hiệu bát phân.
Trong ký hiệu bát phân

Đọc hoặc rđược đại diện bởi 4,
Viết hoặc wđược đại diện bởi 2
Thực thi xđược đại diện bởi 1.

Tổng của ba được sử dụng để đại diện cho sự cho phép.

stat lệnh có thể được sử dụng để xem quyền tập tin trong ký hiệu bát phân

  stat -c "%a %n" /path/of/file

Ví dụ

   stat -c "%a %n" acroread 
   755 acroread

Ở đây bạn có thể thấy

Đối với chủ sở hữu, nó là 4 + 2 + 1 = 7 (111 ở dạng nhị phân)
Đối với nhóm, nó là 4 + 0 + 1 = 5 (101 ở dạng nhị phân) và
đối với người khác là 4 + 0 + 1 = 5 (101 ở dạng nhị phân).


18

Bạn có thể sử dụng danh sách dài:

ls -l [filename]

Hoặc thống kê:

stat [filename]

Stat là toàn diện hơn; nó cho bạn thấy quyền truy cập, sửa đổi và thay đổi thời gian, cũng như thông tin Inode và kích thước, có thể hữu ích hoặc không hữu ích với bạn.


Lưu ý: "tùy thuộc", lệnh đó sẽ hiển thị các quyền tiêu chuẩn, tuy nhiên, quyền truy cập của bạn có thể bị giới hạn bởi các phương tiện khác, acl, apparmor và selinux đều có thể giới hạn quyền truy cập bên ngoài những gì được hiển thị bởi ls -l.
Panther

7

Bất kể bạn thực sự sử dụng quyền ACL, nếu bạn đã aclcài đặt gói, bạn có thể sử dụng getfacl <path>để có được sự phân chia khá nhiều quyền trên tệp đó.

$ getfacl /root/
# file: root/
# owner: root
# group: root
user::rwx
group::---
other::---

Nếu bạn làm sử dụng các quyền hạn ACL, nó sẽ cho bạn biết về điều khoản đó lsstatchỉ có thể không.

$ sudo setfacl -m u:oli:r /root
$ getfacl /root/
# file: root/
# owner: root
# group: root
user::rwx
user:oli:r--
group::---
mask::r--
other::---
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.