Tại sao umask 002 hoặc 022 mặc định trong nhiều hệ thống Unix? Có vẻ không an toàn theo mặc định [đóng]


8

Tôi đã sử dụng Linux & Unix trong một thời gian dài. Lần đầu tiên tôi học Unix là trong một lớp học máy tính có nhiều sinh viên, nơi người hướng dẫn nói với chúng tôi rằng bạn có thể sử dụng sshđể đăng nhập vào các máy trạm từ xa do trường đại học tôi đang theo học cung cấp.

Trong bối cảnh đó, tôi biết ngay rằng Unix là một hệ điều hành nhiều người dùng vì có nhiều sinh viên hơn các máy trạm. (Nguyên tắc Pigeonhole.)

Bằng cách nào đó sau nhiều năm sử dụng, về cơ bản, tôi biết umask(mặc định là 002) là gì và sự cho phép mặc định của người dùng (và người dùng mới) là 755dành cho các thư mục, 644cho các tệp.

Nhưng sau khi suy nghĩ sâu hơn một chút về nó, có vẻ như cài đặt quyền mặc định là không an toàn trong một hệ điều hành nhiều người dùng như vậy. Mặc dù nó giúp chia sẻ dữ liệu dễ dàng hơn nhưng tôi vẫn cảm thấy lạ khi bạn có thể dễ dàng liệt kê và sao chép các tệp của người dùng khác trong thư mục chính của họ.

Vậy tại sao umask 002 mặc định trong nhiều hệ thống Unix? Có bất kỳ lý do lịch sử mà Unix truyền thống chọn thiết kế này?

(Một lý do có thể tôi có thể nghĩ đến là, trong những năm 1970 ~ 1980, máy tính được sử dụng chủ yếu trong nghiên cứu khoa học và khả năng tính toán rất hạn chế. chia sẻ thay vì bảo vệ quyền riêng tư.)


3
Trên thực tế, 002 khá gần đây (có thể là tác dụng phụ của việc sử dụng nhóm trên mỗi người dùng).
Thomas Dickey

@ThomasDickey vậy 022 có phổ biến hơn không?
Bossliaw

3
Nó phụ thuộc (có rất nhiều người dùng cuối Ubuntu và Fedora). Bởi "gần đây", tôi thấy trong lịch sử thay đổi cho các tệp RC của mình mà tôi nhận thấy Debian thực hiện việc này vào năm 2001. Đó chỉ là khoảng một phần ba khoảng thời gian kể từ khi Unix bắt đầu. Trong công việc được trả lương , 022 là phổ biến (hoặc 077).
Thomas Dickey

@roaima Tôi không phải là người bỏ phiếu mở lại, có thể cử tri quan tâm đến câu hỏi này và muốn xem thêm câu trả lời hoặc giải thích có thể
Bossliaw

Câu trả lời:


10

Unix ban đầu và trong một thời gian dài được sử dụng trong môi trường chuyên nghiệp. Trong một môi trường chuyên nghiệp, việc làm cùng chủ đề với đồng nghiệp là điều rất phổ biến. Một số tập tin được bảo mật; ví dụ: mọi chương trình email tôi từng thấy đều tạo các tệp chỉ có thể đọc được cho chủ sở hữu (chế độ 600). Nhưng nó có ý nghĩa để các tệp có thể được đọc công khai theo mặc định: hầu hết các tệp không được bảo mật.

Trên một máy tính cá nhân, vấn đề là phải khắc phục vì chỉ có một người dùng.

Một số hệ thống dự kiến ​​sẽ có nhiều người dùng không cộng tác sử dụng 077 làm ô. Tùy thuộc vào quản trị hệ thống quyết định.

Ngày nay, các hệ thống kiểm soát phiên bản với kho lưu trữ trung tâm được truy cập qua giao thức mạng và nhiều bản sao hoạt động (CVS, lật đổ, git, mercurial, Thẻ) là rất phổ biến, do đó người dùng ít truy cập trực tiếp vào cùng một tệp. Cho đến những năm 1990, điều này ít phổ biến hơn và người dùng quên cung cấp quyền đọc cho các tệp mà người khác phải làm việc là một vấn đề phổ biến.

Để đảm bảo các tệp sẽ luôn ở chế độ riêng tư ngay cả khi bạn quên chạy chmod, hãy đặt chúng trong một thư mục riêng, ví dụ:

mkdir ~/private
chmod 700 ~/private

Không ai khác (ngoại trừ root, tất nhiên) có thể truy cập các tệp bên dưới ~/private, bất kể quyền của họ là gì.


2
Điểm cuối cùng trên macOS: có liên quan rằng ~/Desktop/, ~/Documents/v.v., (ngoại trừ ~/Public/) tất cả đều có chế độ 700 (tức là "drwx------"), tức là chúng là các thư mục riêng theo mặc định.
Drux
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.