Liên kết cứng tập tin của người dùng khác


7

Giả sử Người dùng A và Người dùng B có hạn ngạch đĩa là 1 GB.
Đồng thời, giả sử Người dùng B tạo tệp 900 MB với quyền 0666.
Điều này cho phép Người dùng A tạm thời truy cập tệp đó (đối với một số dự án, v.v.).
Lưu ý điều này cho phép Người dùng A cũng ghi vào tệp.

Nếu Người dùng A tạo một liên kết cứng đến tệp đó và Người dùng B sau đó xóa tệp đó, thì Người dùng A đã khai thác cơ bản hệ thống hạn ngạch bằng cách "đánh cắp" 900 MB dung lượng lưu trữ từ Người dùng B?

Giả sử Người dùng B không bao giờ báo cáo điều này với quản trị viên và quản trị viên không bao giờ phát hiện ra.
Đồng thời giả sử Người dùng B không bao giờ nghi ngờ điều gì về Người dùng A. Nói cách khác, giả sử Người dùng B sẽ không xem thư mục của Người dùng A và các tệp tương ứng.

Nếu câu hỏi tương tự đã được hỏi / trả lời trước đó, tôi xin lỗi vì không thể tìm thấy chúng.


tùy thuộc vào hạn ngạch, sau liên kết cứng đầu tiên, A có thể đã sử dụng 900 MB. Vì bạn không chỉ định HĐH, nên không rõ ràng hạn ngạch sẽ chiếm không gian vật lý (900MB) hoặc không gian logic (2 x 900 MB).
Archemar

Chủ sở hữu của tệp được lưu trữ trong inode, không phải trong các mục nhập thư mục (liên kết cứng), do đó, việc đếm tệp theo hạn ngạch của người dùng B là điều khá tự nhiên.
Ansgar Esztermann

@AnsgarEsztermann sau đó, trong trường hợp đó, hạn ngạch của A vẫn không thay đổi (1G) và không biết chi tiêu 900 Mb trong hạn ngạch.
Archemar

@Archemar Có hệ thống hạn ngạch nào sẽ đếm một tệp nhiều lần nếu nó có nhiều liên kết cứng không? Điều đó dường như bị phá vỡ (và khó thực hiện hơn).
Gilles 'SO- ngừng trở nên xấu xa'

1
Cảm ơn tất cả các phản hồi! Để làm rõ, A và B vẫn sẽ có dung lượng 1GB. Sự khác biệt bây giờ là B sẽ không có quyền truy cập 900 MB trong dung lượng 1 GB của họ, trong khi A vẫn có quyền truy cập vào 900 MB đó thuộc về B. Có vẻ như câu hỏi của tôi không rõ ràng về điều này. Tôi đã cập nhật nó cho người xem trong tương lai.
nehcsivart

Câu trả lời:


6

Đây là một trong những trường hợp góc xấu xí của mô hình cấp phép Unix. Cấp quyền truy cập ghi vào một tệp cho phép liên kết cứng. Nếu người dùng A có quyền ghi vào thư mục chứa tệp, họ có thể di chuyển nó đến thư mục mà người dùng B không có quyền truy cập. Người dùng B sau đó không thể truy cập tệp nữa, nhưng nó vẫn được tính vào người dùng B cho mục đích hạn ngạch.

Một số hệ thống Unix cũ có lỗ hổng tồi tệ hơn: người dùng có thể gọi chownđể cấp một tệp của họ cho người dùng khác; nếu trước đây họ đã tạo tệp có thể ghi được trên thế giới, họ có thể tiếp tục sử dụng tệp đó nhưng tệp sẽ được tính theo hạn ngạch của người dùng khác. Đây là một lý do hệ thống hiện đại dự trữ chownđể root .

Không có giải pháp kỹ thuật hoàn toàn. Tùy thuộc vào người dùng B nhận thấy rằng việc sử dụng đĩa của họ ( du ~) không phù hợp với việc sử dụng hạn ngạch của họ và khiếu nại với người quản trị hệ thống, họ sẽ điều tra và điều tra người dùng A.

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.