Có gì khác biệt giữa những người khác và những người khác trong những người khác?


67

Khi tôi ls -la, nó in nhiều thuộc tính. Một cái gì đó như thế này:

-rwSrwSr-- 1 www-data www-data   45 2012-01-04 05:17 README

Đáng xấu hổ, tôi phải thú nhận rằng tôi không biết ý nghĩa chính xác của từng thuộc tính. Ví dụ, ý nghĩa của Schuỗi lớn là -rwSrwSr--gì? Điều gì sau đây 1? Tôi biết những người khác đại khái.


19
Eonil: Không có gì đáng xấu hổ khi cần phải đặt câu hỏi, sau tất cả đó là những gì trang web này nói về. Và đối với những người nói RTFM, nhiều người trong chúng ta LÀM THẾ và vẫn không thể tìm thấy câu trả lời đơn giản nhất sau khi lướt qua các trang tài liệu viết lập trình khó đọc (và tôi là lập trình viên). Trong một số trường hợp, chúng tôi đang sử dụng các hệ thống không cài đặt trang man. Vì tất cả những lý do đó, và nhiều hơn nữa, các trang web như thế này là một ơn trời. Cảm ơn đã hỏi cùng một câu hỏi tôi đã có.
Alan

1
Câu hỏi tuyệt vời - rất cụ thể cùng với một ví dụ cụ thể.
Ole

Câu trả lời:


49

Các tài liệu của lslệnh trả lời những câu hỏi này. Trên hầu hết các biến thể unix, hãy tìm lstrang man ( man lshoặc trực tuyến). Trên Linux, tra cứu tài liệu Thông tin ( info ls) hoặc trực tuyến .

Chữ cái sbiểu thị rằng bit setuid (hoặc setgid, tùy thuộc vào cột) được đặt. Khi một tệp thực thi được setuid, nó sẽ chạy như người dùng sở hữu tệp thực thi thay vì người dùng đã gọi chương trình. Bức thư sthay thế bức thư x. Có thể tệp được setuid nhưng không thể thực thi được; điều này được biểu thị bởi S, nơi vốn Sthông báo cho bạn rằng cài đặt này có thể sai vì bit setuid là (hầu như luôn luôn) vô dụng nếu tệp không được thực thi.

Khi một thư mục có quyền setuid (hoặc setgid), mọi tệp được tạo trong thư mục đó sẽ thuộc quyền sở hữu của người dùng (hoặc nhóm) phù hợp với chủ sở hữu (hoặc nhóm) của thư mục.

Số sau các quyền là số lượng liên kết cứng . Liên kết cứng là đường dẫn đến tệp (tên, nói cách khác). Hầu hết các tệp có một đường dẫn duy nhất, nhưng bạn có thể tạo thêm bằng lnlệnh. . từ cha mẹ của họ, từ chính họ (thông qua .mục nhập) và từ mỗi thư mục con (thông qua ..mục nhập).


5
Nó có ý nghĩa gì trên OS X khi nó được áp dụng cho một thư mục? Ví dụ: $ ls /Userstrả vềdrws--S---+ 12 jdoe staff 408 Jul 9 2013 jdoe

4
@jww Điều đó có nghĩa là các tệp được tạo trong thư mục đó sẽ thuộc về nhóm sở hữu thư mục đó, nhưng dù sao đó cũng là mặc định trên OSX. Xem en.wikipedia.org/wiki/Setuid#setuid_and_setgid_on_directoriesunix.stackexchange.com/questions/12842/...
Gilles

@Gilles, Khi bạn nói rằng một tập tin không "thực thi"? Điều đó có nghĩa là nó không có đặc quyền thực thi hay nó không phải là một loại tệp có thể được thực thi?
chuộc

@ransh Ý tôi là sự xcho phép thực thi ( ).
Gilles

Tôi đã gửi một bản chỉnh sửa tương tự như điểm được đưa ra trong câu trả lời của @ Jag bên dưới
qneill

16

Theo info coreutils ls(có thể không chính xác những gì bạn có):

`s '
Nếu cả setuid hoặc setgid và bit thực thi tương ứng đều được đặt.

`S '
Nếu bit setuid hoặc setgid được đặt nhưng bit thực thi tương ứng không được đặt.

Số sau phần cho phép là số lượng liên kết cứng.


2
Về cơ bản đây là những gì bạn nhận được vớichmod g-x,g+s dir
sanmai

6

Trong điều kiện (hy vọng đơn giản hơn), điều này có nghĩa. Thư mục là setgid. Bất kỳ tệp nào được tạo trong đó sẽ thuộc sở hữu của nhóm chủ sở hữu của thư mục đó.

Tuy nhiên, thư mục không được nhóm thực thi, do đó, nó được hiển thị bằng chữ S. Đây thường là khi một thư mục đang được tạo và thư mục sẽ kết thúc dưới dạng setgid.

Hừm .. Không chắc điều đó có thực sự nghe giống tiếng Anh đơn giản ở trên không ..


1
Câu trả lời này không cung cấp bất kỳ thông tin nhiều hoặc khác với câu trả lời hiện có.
jayhendren

1
@jayhendren Vâng. Nó nói về các thư mục. Không có câu trả lời khác làm điều đó. (Gilles có lẽ nên kết hợp nhận xét của mình vào câu trả lời của mình.)
Sparhawk

0

Đó là vì Executable bị mất

s -> 'x' được bật S -> 'x' bị tắt.

xem ví dụ dưới đây

$ ls -l

total 0

-rwsrw-r--. 1 bpkmails bpkmails 0 Jun 25 20:18 ca

$ chmod u-x ca

$ ls -l

total 0

-rwSrw-r--. 1 bpkmails bpkmails 0 Jun 25 20:18 ca

$

Bạn có thể giải thích những gì điều này thêm vào các câu trả lời hiện có?
Stephen Kitt
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.