it-swarm.it

Come posso eseguire un comando come amministratore di sistema (root)

Devo eseguire un comando con privilegi di amministratore. Qualcuno ha detto che dovrei eseguire un comando come root. Come faccio a fare questo?

66
Stefan

Usa su:

$ su -c command

o

$ su
# command
# exit

In entrambi i casi, ti verrà richiesta la password root. Per ulteriori informazioni, vedere la pagina del manuale .

8
Steven D

Oppure puoi dare ad alcuni comandi una superpotenza. Sto parlando di autorizzazioni speciali in cui i comandi vengono eseguiti con l'autorizzazione del proprietario.

Ottieni il percorso del comando da #which <command> e imposta SUID o SGID per quel percorso.

Post scriptum - I bit SUID e SGID devono essere dati con cura. Possono rendere insicuro il tuo sistema.

3
Ayush Goyal

Poiché la domanda non era specifica di Linux, ecco come raggiungere lo stesso obiettivo in Solaris 9+ (o Trusted Solaris 8):

Solaris, dalla versione 9, include una suite di strumenti affettuosamente denominati RBAC, o controllo degli accessi in base al ruolo.

La sostanza di RBAC è che attraverso la concessione di autorizzazioni e diritti, agli utenti e/o al ruolo, o la concessione di ruoli agli utenti, è possibile creare modelli incredibilmente dettagliati per chi può eseguire ciò con quali privilegi.

In sostanza, identifichi l'autorizzazione in/etc/security/auth_attr, quindi li concedi agli utenti o ai ruoli in/etc/user_attr.

I profili vengono definiti in/etc/security/prof_attr. Quindi si associano i comandi a tali profili in/etc/security/exec_attr, seguito dall'assegnazione di tali profili agli utenti nel file/etc/user_attr.

Una volta fatte queste cose, esegui effettivamente pfexec <command> per eseguire il comando con privilegi o autorizzazioni concesse a quell'utente per che comando.

La cosa bella di RBAC è che non ci sono privilegi aggiuntivi concessi al comando stesso, o all'utente, solo alla combinazione di utente + comando. Quindi è più sicuro che fare un binario + s, o semplicemente usare Sudo per rendere un utente in grado di eseguire praticamente qualsiasi cosa. (So ​​che puoi bloccare Sudo, ma nella mia esperienza la maggior parte delle persone non lo fa)

Un altro vantaggio di RBAC è che puoi rendere root un account di ruolo e assegnare quel ruolo agli utenti che sono in grado di diventare root con il comando 'su' e la password di root. L'utente root sarà anche in grado di accedere in modalità utente singolo, che è migliore (secondo me) del modello Linux in cui è possibile disabilitare la password di root passwd -d root o blocca l'account di root passwd -l root, entrambi rendono difficile l'accesso come root quando qualcosa va storto.

Ben Rockwood ha un ottimo post sul blog su RBAC che può essere letto su so di RBAC su (Apri) Solaris .

3
Tim Kennedy