Bagaimana saya bisa membuat pengguna dengan akses hanya baca ke semua file? (yaitu root tanpa izin menulis)

9

Untuk mencadangkan server saya, saya ingin mengaksesnya dari jarak jauh melalui SSH. Untuk meminimalkan semua risiko, pengguna ingin pengguna yang hanya memiliki akses baca, tetapi ke semua file, seperti halnya root. Namun, ia seharusnya tidak memiliki hak menulis.

Ada ide tentang bagaimana mencapainya?

Mononofu
sumber
Terkait: Izin Sistem File: Pengguna yang dapat membuat cadangan semua file .
G-Man Mengatakan 'Reinstate Monica'

Jawaban:

7

Mungkin saya menyarankan metode lain untuk menyelesaikan masalah Anda yang kurang pemeliharaan intensif.

Anda dapat membuat kunci ssh yang memiliki akses terbatas ke program tertentu. Saya tidak suka memberikan root akses tidak terbatas, tetapi kadang-kadang Anda perlu mengaktifkan perintah tertentu untuk dijalankan melalui remote. Dengan kunci ssh Anda dapat menjalankan program cadangan melalui perintah ssh.

Lihat bagian 'AUTHORIZED_KEYS FILE FORMAT' di halaman manual sshd Anda (saya berasumsi Anda menggunakan OpenSSH).

http://man.openbsd.org/OpenBSD-current/man8/sshd.8

Aula Darren
sumber
1
Aku suka gagasan itu. Untuk hanya menarik file melalui rsyncsemua no-*opsi-seperti yang diuraikan dalam man seharusnya aman. Terutama tanpa kombinasi dengan dari adalah awal yang baik untuk meningkatkan keamanan. Contoh:from="the_pulling_hostname_or_IP",no-pty,...
user569825
1

Anda bisa mencapainya dengan ACL. Anda masih membutuhkan skrip yang dijalankan sebagai root yang mengubah izin setiap file. Lihat halaman manual untuk ACL, setfacl, dan getfacl jika Anda tertarik.

Kim
sumber
1

Ada cara lain untuk membuat ini tanpa menggunakan ACL. Tetapi Anda perlu berlatih hati-hati di sini. Pertama, buat grup, misalnya, disebut roroot (readonly root). Kemudian terapkan id grup itu ke semua direktori. Jadikan izin untuk bit grup menjadi r-- atau 400 oktal, maka Anda dapat membuat akun pengguna seperti pengguna biasa, misalnya, rorootusr, dengan id berikutnya disetel ke apa pun yang ada di sistem Anda, buat menjadi hanya anggota grup roroot , jangan membuatnya menjadi bagian dari roda, nampan, dll, tergantung pada apa grup Anda pada instalasi Anda. Bit selanjutnya akan menjadi kludgy. Buka file / etc / passwd menggunakan vim / nano / emacs / joe / editor apa saja yang mengacaukan perahu Anda, dan cari id yang baru saja Anda buat, yaitu. rorootusr, file passwd akan terlihat seperti ini

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

Membaca dari kiri ke kanan dipisahkan oleh titik dua Anda memiliki nama pengguna, kata sandi (terenkripsi + teduh), id pengguna, id grup, komentar, direktori home dan shell. Dari contoh di atas diberikan

rorootusr: x: 512: 450: Root User RO: / home / rorootusr: / bin / bash

Ini adalah bidang ke-3 (512) yang Anda ubah ke 0. 450 akan menjadi id grup untuk roroot. Simpan sesi edit dan selesai. Sekarang rorootusr akan memiliki akses root tetapi hanya anggota grup roroot dan memiliki akses hanya baca ke sistem.

Semoga ini bisa membantu, Salam, Tom.

t0mm13b
sumber