Không ai là người dùng và nhóm?


37

Trên máy chủ của tôi (Synology DS212) một số tệp và thư mục có nobody nobodyngười dùng và nhóm. Các đặc điểm của người dùng và nhóm này là gì? Ai có thể viết về việc đọc tập tin này?

Làm thế nào tôi có thể thay đổi nó? Cho người dùng và nhóm nào?

Câu trả lời:


41

Người dùng không ai là người dùng giả trong nhiều bản phân phối Unix và Linux. Theo Cơ sở Tiêu chuẩn Linux , không có người dùng và nhóm nào là người dùng và nhóm người dùng tùy chọn. Người dùng đó có nghĩa là đại diện cho người dùng có ít quyền nhất trên hệ thống. Trong trường hợp tốt nhất mà người dùng và nhóm của nó không được gán cho bất kỳ tệp hoặc thư mục nào (với tư cách là chủ sở hữu). Người dùng này thuộc nhóm tương ứng của anh ta (theo LSB) cũng được gọi là "không ai" và không thuộc nhóm nào khác.

Trong các daemon phân phối Unix và Linux trước đây (ví dụ: máy chủ web) đã được gọi dưới quyền không có người dùng. Nếu một người dùng độc hại giành được quyền kiểm soát đối với một daemon như vậy, thì thiệt hại anh ta có thể gây ra chỉ giới hạn ở những gì daemon có thể. Nhưng vấn đề là, khi có nhiều trình nền chạy với người dùng không có ai, điều này không còn ý nghĩa nữa. Đó là lý do tại sao ngày nay các trình tiện ích như vậy có người dùng riêng của họ.

Người dùng không nên có vỏ được gán cho nó. Các bản phân phối khác nhau xử lý theo các cách khác nhau: một số đề cập đến /sbin/nologinviệc in một thông điệp; một số đề cập /bin/falserằng chỉ đơn giản là thoát với 1 (sai); hoặc một số chỉ vô hiệu hóa người dùng trong /etc/shadow.

Theo Linux Standard Base, không có người dùng nào là "Được sử dụng bởi NFS". Trong thực tế, daemon NFS là một trong số ít vẫn không cần người dùng. Nếu chủ sở hữu của một tệp hoặc thư mục trong chia sẻ NFS được gắn kết không tồn tại ở hệ thống cục bộ, nó sẽ được thay thế bởi không có người dùng và nhóm của nó.

Bạn có thể thay đổi quyền của một tệp thuộc sở hữu của người dùng không chỉ đơn giản với người dùng root và chown. Nhưng tại máy lưu trữ chia sẻ NFS, người dùng đó có thể tồn tại, vì vậy hãy cẩn thận.

Tôi cũng sử dụng một hệ thống Synology. Họ chạy máy chủ web apache dưới người dùng không có ai.


1
"khi có nhiều trình nền chạy với người dùng không có ai, điều này không còn ý nghĩa nữa." - làm thế nào mà? Một daemon bị xâm nhập sau đó có thể ảnh hưởng đến các daemon khác?
Flow2k

5

Người dùng có thể đăng nhập như nobodycó thể thay đổi các tệp này, nhưng thông thường hệ thống được thiết lập nên điều này là không thể. Trên hệ thống dựa trên debian của tôi, mục trong /etc/passwordtệp là:

nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin

/usr/sbin/nologinđưa ra:

This account is currently not available.

Bạn chỉ có thể thay đổi điều này dưới dạng root người dùng, vì thông thường không có ai là thành viên của nhóm nobody. Tuy nhiên tôi nghi ngờ nếu bạn nên làm như vậy. Thông thường các tệp này có được quyền sở hữu này trên mục đích.


Trong trường hợp của tôi, trong /etc/passwdtôi có nobody:x:99:99::/:/bin/false. /bin/falsetrả lại không có gì.
Guuk

/bin/falsecũng ngăn cản một người nào đó đăng nhập, thậm chí nếu có sẽ là một tập passord cho nobodytrong /etc/shadow, mà thông thường không có.
bất cứ ai

nếu bạn vì lý do nào đó muốn đăng nhập vào tài khoản không ai, bạn có thể ghi đè lên shell như thế sudo su nobody -s /bin/sh này (điều này sẽ ghi đè "shell mặc định" / usr / bin / nologin bằng / bin / sh)
hanshenrik
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.