Không có ý nghĩa gì khi kết quả của 'ls -al'?


9

Vô tình, khi di chuyển đến một âm lượng được gắn và gõ ll(bí danh cho ls -laF)

:/media/username/DATA$ ll
total 153
drwxrwxrwx  1 username username  8192 Sep  1 20:32 ./
drwxr-x---+ 3 root     root      4096 Sep  3 08:14 ../
drwxrwxrwx  1 username username 12288 Jul 26 22:29 documents/
drwxrwxrwx  1 username username 16384 Sep  2 02:01 downloads/

Tôi có phần thú vị này: drwxr-x---+ 3

Tôi hiểu phần này drwxr-x---, nhưng phần khác + 3có nghĩa là gì?

Ps: Tôi đang sử dụng Ubuntu 16.04 x86


1
Bạn có nghĩa là bạn tò mò về số giữa chuỗi quyền và tên chủ sở hữu?
Chỉ huy Byte

4
Đối với các phần của ls -lđầu ra được giải thích, hãy xem Askubfox.com/q/710905 , askubfox.com/q/517229 hoặc unix.stackexchange.com/q/103114 xin vui lòng.
Chỉ huy Byte

Câu trả lời:


14

Các +bit cho phép thông thường chỉ ra một quyền đặc biệt có hiệu lực đối với tệp / thư mục. Quyền đặc biệt là POSIX ACL (Danh sách điều khiển truy cập).

Bạn có thể đặt quy tắc ACL bằng cách sử dụng setfaclvà xem (các) quy tắc đã được đặt theo getfacl.

Thí dụ:

% ls -l foo.sh
-rwxrwxr-x 1 foobar foobar 206 Aug 28 02:08 foo.sh

% setfacl -m u:spamegg:x foo.sh

% ls -l foo.sh                
-rwxrwxr-x+ 1 foobar foobar 206 Aug 28 02:08 foo.sh

% getfacl foo.sh
# file: foo.sh
# owner: foobar
# group: foobar
user::rwx
user:spamegg:--x
group::rwx
mask::rwx
other::r-x

Kiểm tra man getfaclman setfaclđể có thêm ý tưởng.

Là một mặt lưu ý, nếu bạn thấy một .inplace của +, đó là bối cảnh SELinux.


3sau khi +chỉ ra số lượng liên kết cứng mà tập tin có. Một liên kết cứng là tên của tệp (chính xác là inode), vì vậy số lượng liên kết cứng cho biết số lượng tên của tệp.

Trong trường hợp của bạn, mục nhập là:

drwxr-x---+ 3 root     root      4096 Sep  3 08:14 ../

Nó dành cho thư mục mẹ của thư mục hiện tại ( /media/username/DATA), vì vậy ..trỏ đến /media/usernamethư mục.

Bây giờ, trong Linux, mọi thư mục đều có ít nhất hai liên kết cứng, một liên kết dành cho .(thư mục hiện tại, liên kết đến chính nó) và thư mục còn lại là thư mục mẹ (ánh xạ tên mã), điều này được kế thừa từ Unix.

Bạn có số lượng liên kết cứng là 3 cho /media/username, có nghĩa là /media/usernamecó một thư mục con (mặc định 2 cộng với một cho ..mục nhập của thư mục con). Nếu có 2 thư mục con, số lượng liên kết cứng sẽ là 4 do cả hai thư mục con ánh xạ ..trở lại cha mẹ.


Kiểm tra man lscũng.


1
Đó là một thư mục, vì vậy số lượng liên kết là số lượng thư mục con cộng với hai.
Kevin

@Kevin Thêm giải thích chi tiết.
heemayl

7

+ở cuối chuỗi quyền biểu thị quyền ACL ( Danh sách điều khiển truy cập ). Bạn có thể thấy chính xác những quyền mà nó cho phép và người dùng nào với

getfacl ../

hay đúng hơn

getfacl /media/$USER

Trong trường hợp của tôi:

$ getfacl /media/zanna
getfacl: Removing leading '/' from absolute path names
# file: media/zanna
# owner: root
# group: root
user::rwx
user:zanna:r-x
group::---
mask::r-x
other::---

Điều này cho thấy chủ sở hữu và nhóm và sau đó là quyền "nhóm" người dùng (chủ sở hữu) và thế giới (những người khác) chưa được đặt tên với một mục nhập thêm cho người dùng zanna. "Mặt nạ" giới hạn các quyền hiệu quả cho người dùng nhóm và được đặt tên.

ACL là một phần mở rộng cho hệ thống cấp phép Linux truyền thống, cho phép đặt quyền cho một người dùng hoặc nhóm, cho phép kiểm soát tốt hơn. Bạn có thể đọc thêm về lý do bảo mật để có quyền sở hữu điểm gắn kết này và việc sử dụng quyền ACL /mediatrong bài đăng này

Không 3liên quan đến +. nó chỉ ra số lượng liên kết cứng đến tập tin.


2
Điều này chỉ giải thích +mặc dù, những tín hiệu cho thấy ACL đang hoạt động cho mục này ngoài các cài đặt quyền truyền thống. Tuy nhiên, điều này không giải thích 3.
Chỉ huy Byte

2
@ByteCommander hah nó không xảy ra với tôi, họ đã hỏi về 3, cảm ơn!
Zanna
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.