Come posso creare un utente con accesso in sola lettura a tutti i file? (ovvero root senza permessi di scrittura)


9

Per il backup del mio server, vorrei accedervi da remoto tramite SSH. Per ridurre al minimo tutti i rischi, desidera utilizzare un utente che ha solo accesso in lettura, ma a tutti i file, proprio come root. Tuttavia, non dovrebbe avere alcun diritto di scrittura.

Qualche idea su come raggiungerlo?


Risposte:


7

Potrei suggerire un altro metodo per risolvere il tuo problema che richiede meno manutenzione.

È possibile creare chiavi ssh che hanno accesso limitato a programmi specifici. Non mi piace concedere l'accesso root senza restrizioni, ma a volte è necessario abilitare determinati comandi da eseguire tramite telecomando. Con le chiavi ssh è possibile far funzionare il programma di backup tramite il comando ssh.

Dai un'occhiata alla sezione "FORMATO FILE AUTHORIZED_KEYS" nella tua pagina man sshd (suppongo tu stia usando OpenSSH).

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


1
Mi piace l'idea. Per semplicemente estrarre i file attraverso rsynctutte le no-*opzioni come indicato nell'uomo dovrebbe essere sicuro. Soprattutto no-pty in combinazione con da è un buon inizio per aumentare la sicurezza. Esempio:from="the_pulling_hostname_or_IP",no-pty,...
user569825

1

Puoi farlo con gli ACL. Avresti comunque bisogno di uno script in esecuzione come root che cambi i permessi di ogni file. Vedi le pagine man di ACL, setfacl e getfacl se sei interessato.


1

C'è un altro modo di crearlo senza usare gli ACL. Ma devi fare attenzione qui. Innanzitutto, crea un gruppo, ad esempio, chiamato roroot (radice di sola lettura). Quindi applicare quell'ID gruppo a tutte le directory. Rendi le autorizzazioni per i bit di gruppo pari a r-- o 400 ottali, quindi puoi creare un account utente proprio come un utente normale, ad esempio rorootusr, con l'id successivo impostato su qualunque sia sul tuo sistema, rendilo un membro di un gruppo Roroot solo , non farne parte della ruota, cestino, ecc., a seconda di ciò che i gruppi sono sulla tua installazione. Il prossimo passo sarà kludgy. Apri il file / etc / passwd usando vim / nano / emacs / joe / qualunque editor scuoti la tua barca e cerca l'id che hai appena creato, ad es. rorootusr, il file passwd avrà questo aspetto

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

Leggendo da sinistra a destra separati da due punti hai nome utente, password (crittografata + ombreggiata), ID utente, ID gruppo, commento, home directory e shell. Dall'esempio sopra riportato

rorootusr: x: 512: 450: RO utente root: / home / rorootusr: / bin / bash

È il terzo campo (512) che lo si cambia in 0. 450 sarebbe l'id del gruppo per roroot. Salva la sessione di modifica e il gioco è fatto. Ora rorootusr avrà accesso come root ma è solo un membro del gruppo roroot e ha accesso di sola lettura al sistema.

Spero che questo aiuti, cordiali saluti, Tom.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.