Người dùng bin để làm gì?


27

Như tôi đã viết tại /unix//a/484626/5132 điều này xứng đáng với câu hỏi và trả lời của riêng nó.

Trên hệ điều hành Linux

% passwd bin
bin: x: 2: 2: bin: / bin: / usr / sbin / nologin
%
Mạnh mẽ và trên FreeBSD

% passwd bin
bin: *: 3: 7: Các lệnh và mã nhị phân: /: / usr / sbin / nologin
%
Mạnh mẽ và trên OpenBSD

$ getent passwd bin
bin: *: 3: 7: Các lệnh và mã nhị phân: /: / sbin / nologin
$
Một ngày nay vẫn có thể tìm thấy một bintài khoản. Nhưng nó là khá nhiều giấy tờ. Các Linux Standard Base phiên bản 5 cho biết chỉ ...

Lưu ý: binID người dùng / ID nhóm được bao gồm để tương thích với các ứng dụng cũ. Các ứng dụng mới không còn sử dụng binID người dùng / ID nhóm.
Không cần giải thích bản chất của cơ chế tương thích. Như Joey Hess đã đưa nó trở lại vào năm 2001 :

bin:

TRỢ GIÚP : Không có tệp nào trên hệ thống của tôi được sở hữu bởi người dùng hoặc nhóm bin. Họ có ích gì? Trong lịch sử có lẽ họ là chủ sở hữu của nhị phân trong /bin? Nó không được đề cập trong chính sách FHS, Debian hoặc thay đổi của tệp cơ sở hoặc tệp cơ sở.

Câu hỏi của M. Hess vẫn chưa được trả lời trong tài liệu Debian cho gói cơ sở của nó cho đến ngày nay , 17 năm sau.

Vậy bintài khoản để làm gì?


Một câu hỏi liên quan là unix.stackexchange.com/questions/244989 .
JdeBP

Câu trả lời:


34

bin đã không đúng cho bất cứ điều gì trong suốt cuộc đời của Linux.

Giống như cấp độ chạy và initsinh sản gettyvì hồ sơ /etc/inittab, bintài khoản đã lỗi thời trong thế giới Unix trước khi Linux thậm chí được phát minh. Đó là một ý tưởng từ những năm 1980 đã bị phá vỡ bởi sự phát minh và áp dụng NFS (Hệ thống tệp mạng) và nobodyngười dùng của nó . Sự hiện diện liên tục của nó trong cơ sở dữ liệu tài khoản người dùng vào cuối những năm 2010 khi những người trong thế giới Unix thương mại chủ động ngừng sử dụng vào những năm 1990 là một minh chứng cho quán tính.

Ý tưởng là binngười dùng sở hữu nhiều thư mục khác nhau như /bin/usr/bin(và thực tế một số thư mục khác được đề cập tại /unix//a/448799/5132 như /usr/mbin/usr/5bin) và không đặt UID / không- tập tin GID trong chúng. Nó cũng sở hữu các tập tin và thư mục doco, chẳng hạn như các trang hướng dẫn.

(Trong các trường hợp cực đoan hơn trên một số Unice, nó thậm chí còn sở hữu //etc, mặc dù cái sau là một lỗi được thừa nhận trong việc tạo ra hình ảnh hệ điều hành SunOS. Cái trước chỉ là sai lầm.)

Do đó, quyền ban hành các bản cập nhật phần mềm, chạy với tư cách người dùng bin, không phải là quyền hạn, chạy như siêu người dùng, để thực hiện bất kỳ hành động nào đối với hệ thống. Trình nâng cấp phần mềm không thể đọc / ghi tệp người dùng riêng, truy cập hộp thư, v.v. Tất nhiên, cập nhật phần mềm như siêu người dùng có thể.

Một số mục tài khoản đặc biệt khác trong /etc/passwdtệp của bạn phải có mật khẩu. Đây là những tài khoản quản trị - bin, daemon, sys, uucp, lp, và adm. [V]] Lý do chính cho sự tồn tại của các tài khoản này là quyền sở hữu an toàn cho các lệnh, tập lệnh, tệp và thiết bị. Và một số quản trị viên cài đặt mật khẩu cho các tài khoản này và thực sự sử dụng chúng. [V]] Một bintài khoản không có mật khẩu cực kỳ hữu ích cho một bộ ngắt hệ thống.
- Rebecca Thomas và Rik Farrow (1989). Hướng dẫn Quản trị UNIX cho Hệ thống V . Hội trường Prentice. SĐT39428890. P. 452.

NFS được phát minh vào đầu những năm 1980 và đã phá vỡ hoàn toàn ý tưởng này.

Nó đã ở trên mặt đất run rẩy, như lời trích dẫn của aforgiven. Điều này là do khả năng cập nhật các tệp hình ảnh chương trình cho các tiện ích cơ bản mà siêu người dùng thực hiện như một vấn đề tất nhiên, chẳng /bin/lshạn, là một vectơ trực tiếp để có được các đặc quyền siêu người dùng và việc phân chia quyền truy cập trong việc sử dụng bintài khoản chỉ bị vô tình ngăn chặn Sửa đổi các thư mục sai thay vì ngăn chặn một malefactor có được quyền truy cập siêu người dùng.

Sự ra đời của NFS đã làm nổi bật điều này. Mặc dù NFS có cơ chế ánh xạ lại tài khoản superuser sang tài khoản người dùng không phải hệ thống thông thường, nhưng nó không giống với tài khoản không phải root bin. Vì vậy, nếu ai đó có thể có quyền bintruy cập trên máy khách NFS, thì nó đã cấp cho họ binquyền truy cập vào các tệp hệ điều hành trên máy chủ NFS. Thật vậy, nó đã kích hoạt một siêu người dùng trên máy khách NFS, người khác sẽ được ánh xạ tới một người dùng không phải là hệ thống thông thường trên máy chủ, để có quyền truy cập của chủ sở hữu vào các tệp và thư mục hệ điều hành của máy chủ.

Đây là kiến ​​thức phổ biến vào đầu những năm 1990, và tại thời điểm đó, nhận được sự khôn ngoan là những chownthứ binthuộc sở hữu của siêu người dùng, để cắm lỗ hổng này đã trở thành một mục báo cáo tiêu chuẩn trong các công cụ kiểm toán bảo mật Unix và được cảnh báo chống lại giống như tài liệu cài đặt cho Sendmail.

Theo như câu hỏi của M. Hess, ý tưởng này chưa bao giờ được áp dụng trên Debian, nó chỉ xuất hiện nhiều năm sau khi nó được biết đến là một ý tưởng tồi trong thế giới Unix, mà thực sự biết nó là một ý tưởng tồi trước chính Linux đã được phát minh. Các hệ điều hành BSD mà lịch sử không trở lại căng vào những năm 1980 đã từ lâu làm đi với quyền sở hữu thực tế, nhưng dù sao giữ lại các tài khoản người dùng trong cơ sở dữ liệu tài khoản. FreeBSD chuyển đổi bin: binquyền sở hữu thành root: wheelquyền sở hữu trở lại vào năm 1998 , ví dụ.

đọc thêm


1
Tôi đã thấy các tệp ngày nay thuộc sở hữu của binngười dùng và nhóm trên các hệ thống AIX. Có thể IBM sử dụng nó vì một lý do. Một tập tin AIX xuất hiện trong tâm trí là java. Tôi sẽ phải nhảy vào các hệ thống AIX đang hoạt động để xác minh thêm.
Peschke

Ngày nay vẫn còn một số lượng đáng kể các tệp bin: bin sở hữu trên hệ thống AIX. Các Trung tâm IBM Kiến thức cho AIX 7.2 , trong An ninh - Bảo mật hệ điều hành cơ sở - Người dùng, nhóm và mật khẩu phần có trang liên kết giải thích mục đích của "Hệ thống tài khoản người dùng đặc biệt" khác nhau, bao gồm bin.
Jeff Schaller

Từ liên kết trước, không phảibin là một trong những ID người dùng mặc định phổ biến mà bạn có thể xóa . Ngoài ra: mục nhập mật khẩu của bạn là:binbin:!:2:2::/bin:
Jeff Schaller

-8

Có 2 trường hợp sử dụng mà tôi sử dụng bin cho năm 2018. 1: tệp thực thi - chủ yếu dành cho các tệp .exe phía máy chủ web được sử dụng để hoàn thành các chức năng. Và 2: log - đôi khi tôi đặt các tệp .log hoặc .dat của mình vào thư mục bin.


3
Bạn đang nói về /binthư mục? Hay người dùng bin?
Sparhawk

6
Bạn thậm chí trên bất kỳ loại Unix? Bạn đang nói về .execác tập tin.
user2357112 hỗ trợ Monica

5
Và tại sao bạn lại đặt tệp logfiles hoặc tệp cấu hình trong thư mục "bin"?
Cuộc đua nhẹ nhàng với Monica
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.