Per chiarire un po ': non ci sono "comandi sudo", ci sono solo comandi che hanno bisogno dei privilegi di root per funzionare correttamente ed sudo
è il comando per ottenerli per un comando: sudo
esegue semplicemente il comando dato come root (leggi "sudo" come imperativo frase "superutente, fai qualcosa!"). Le regole sulle quali gli utenti possono farlo sono scritte in /etc/sudoers
. In un'installazione Raspbian predefinita, l'utente predefinito "pi" ha i suoi permessi da questa linea:
pi ALL=(ALL) NOPASSWD: ALL
Significa: "L'utente 'pi' su TUTTI gli host è autorizzato a passare a TUTTI gli utenti e NON deve digitare il suo PASSWD quando usa i comandi ALL (leggi: qualsiasi)". (Ho usato la grammatica pazza qui per mantenere l'ordine della linea .. una nota sul perché c'è un modo per distinguere gli host: in questo modo, lo stesso file sudoers può essere distribuito su più macchine su una rete in modo che l'amministratore di rete abbia meno lavoro) .
Potrebbe essere che essere in grado di eseguire comandi utilizzando sudo senza emettere una password di amministratore è il motivo per cui pensi che sia pericoloso usare sudo su SSH (non ho sentito parlare di un problema generale nel farlo ... così potresti spiegare quale pericolo intendi esattamente?).
Sicuro che potresti avere più utenti con autorizzazioni diverse. Ma temo che usare sudo sia ancora il modo migliore per gestire queste autorizzazioni.
Quindi, spero che questa piccola ricetta qui sia ciò di cui hai bisogno:
$ sudo adduser admin
Questo creerà un utente "admin", chiederà una password, creerà la sua home directory, ecc.
$ sudo adduser admin sudo
$ sudo adduser admin adm
Ciò inserirà l'utente "admin" nei gruppi utenti "sudo" e "adm". E poiché le autorizzazioni sono gestite in Linux aggiungendo utenti ai gruppi di utenti, questo dà all'utente "admin" tutti i privilegi e le autorizzazioni di cui ha bisogno. È presente una riga /etc/sudoers
che consente a qualsiasi utente del gruppo utente "sudo" di eseguire qualsiasi comando come root; e questo privilegio è ciò di cui abbiamo bisogno per un utente amministratore (aggiungendolo a "adm" gli permette di leggere alcuni file di log /var/log
senza usare sudo
e poche altre cose). È ancora necessario utilizzarlo sudo
quando si è effettuato l'accesso come amministratore, ma ora sudo richiede ripetutamente la password dell'amministratore ogni volta che non si utilizza sudo per circa cinque minuti.
Ora disconnettersi e accedere come utente "admin". Controlla se
$ sudo apt-get update
$ sudo apt-get upgrade
lavori. In tal caso, è possibile revocare alcuni privilegi dell'utente "pi", poiché ora si è certi che l'utente amministratore disponga dei privilegi giusti:
$ sudo deluser pi sudo
$ sudo deluser pi adm
Questo elimina l'utente "pi" dal gruppo utenti "sudo".
$ sudo visudo
Verrà avviato un editor che ti consente di modificare /etc/sudoers
. Inserisci un tag hash ( #
) prima della riga che inizia con "pi", commentandolo (o semplicemente rimuovendolo). Quindi salva ed esci dall'editor, visudo ricaricherà immediatamente le regole dei privilegi. Ora l'utente "pi" non può più usare sudo.
Successivamente, è possibile accedere nuovamente come utente "pi". Se vuoi passare all'amministratore per alcuni comandi, usa su
("cambia utente"):
$ su - admin
Se vuoi aggiungere più utenti: usa sudo adduser <name>
come sopra, quindi controlla l'elenco dei gruppi di utenti che l'utente "pi" ha:
$ groups pi
pi : pi dialout cdrom audio video plugdev games users netdev input
Utilizzalo sudo adduser <username> <groupname>
per aggiungere il tuo nuovo utente a molti di questi gruppi di utenti, consentendogli di usare l'audio, i video accelerati, i dispositivi collegabili, ecc. Se non sei sicuro, aggiungilo a tutti questi gruppi di utenti (ma non a "sudo"!).