Làm cách nào tôi có thể tạo người dùng có quyền truy cập chỉ đọc vào tất cả các tệp? (tức là root mà không có quyền viết)


9

Để sao lưu máy chủ của tôi, tôi muốn truy cập từ xa thông qua SSH. Để giảm thiểu tất cả các rủi ro, nó muốn sử dụng một người dùng chỉ có quyền truy cập đọc, nhưng đối với tất cả các tệp, giống như root. Tuy nhiên, anh ta không nên có bất kỳ quyền viết.

Bất kỳ ý tưởng về làm thế nào để đạt được điều đó?


Câu trả lời:


7

Tôi có thể đề xuất một phương pháp khác để giải quyết vấn đề của bạn đó là ít bảo trì hơn.

Bạn có thể tạo các khóa ssh có quyền truy cập hạn chế vào các chương trình cụ thể. Tôi không thích cấp quyền truy cập không hạn chế root, nhưng đôi khi bạn cần kích hoạt một số lệnh nhất định để chạy qua điều khiển từ xa. Với các phím ssh, bạn có thể chạy chương trình sao lưu của mình thông qua lệnh ssh.

Kiểm tra phần 'AUTHORIZED_KEYS FILE FORMAT' trong trang sshd man của bạn (Tôi giả sử bạn đang sử dụng OpenSSH).

http://man.openbsd.org/OpenBSD-c Hiện / man8 / sshd.8


1
Tôi thích ý tưởng. Để chỉ cần kéo các tập tin thông qua rsynctất cả các no-*-options như được nêu trong người đàn ông nên được an toàn. Đặc biệt không có pty kết hợp với từ là một khởi đầu tốt để tăng tính bảo mật. Ví dụ:from="the_pulling_hostname_or_IP",no-pty,...
user569825

1

Bạn có thể đạt được điều đó với ACL. Bạn vẫn cần một tập lệnh chạy bằng root để thay đổi quyền của mọi tệp. Xem các trang hướng dẫn cho ACL, setfacl và getfacl nếu bạn quan tâm.


1

Có một cách khác để tạo ra điều này mà không cần sử dụng ACL. Nhưng bạn cần thực hành thận trọng ở đây. Đầu tiên, tạo một nhóm, ví dụ, được gọi là roroot (root chỉ đọc). Sau đó áp dụng id nhóm đó cho tất cả các thư mục. Đặt quyền cho các bit nhóm là r-- hoặc 400 bát phân, sau đó bạn có thể tạo tài khoản người dùng giống như người dùng thông thường, ví dụ: rorootusr, với id tiếp theo được đặt thành bất cứ thứ gì có trong hệ thống của bạn, hãy biến nó thành một chỉ là thành viên của một nhóm chạy lại , không biến nó thành một phần của bánh xe, thùng, v.v., tùy thuộc vào những gì nhóm của bạn đang cài đặt. Các bit tiếp theo sẽ là bùn. Mở tệp / etc / passwd bằng vim / nano / emacs / joe / bất cứ trình soạn thảo nào làm rung chuyển thuyền của bạn và tìm id bạn vừa tạo, tức là. rorootusr, tập tin passwd sẽ trông như thế này

root: x: 0: 0 :: / root: / bin / sh

Đọc từ trái sang phải cách nhau bằng dấu hai chấm, bạn có tên người dùng, mật khẩu (được mã hóa + bóng), id người dùng, id nhóm, nhận xét, thư mục chính và shell. Từ ví dụ trên đã cho

rorootusr: x: 512: 450: Root người dùng RO: / home / rorootusr: / bin / bash

Đây là trường thứ 3 (512) mà bạn thay đổi thành 0. 450 sẽ là id nhóm để chạy lại. Lưu phiên chỉnh sửa và bạn đã hoàn tất. Bây giờ rorootusr sẽ có quyền truy cập root nhưng chỉ là thành viên của nhóm roroot và có quyền truy cập chỉ đọc vào hệ thống.

Hy vọng điều này sẽ giúp, Trân trọng, Tom.

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.