Come aggiungere un utente al file Sudoers in Mac OS X
Sommario:
Gli utenti avanzati potrebbero dover aggiungere un account utente al file sudoers, che consente a quell'utente di eseguire determinati comandi con privilegi di root.
Per semplificare notevolmente ciò che significa, questi nuovi account utente con privilegi saranno quindi in grado di eseguire comandi senza ricevere errori di autorizzazione negata o dover prefissare sudo un comando di terminale. Questo può essere utile (o necessario) per alcune situazioni complesse, ma rappresenta un rischio per la sicurezza per altre, quindi non è qualcosa che dovrebbe essere cambiato casualmente.
In generale, la maggior parte degli utenti sta meglio usando un account amministratore, usando sudo in base al comando o abilitando l'utente root. Tuttavia, la modifica diretta di sudoers ha molte situazioni d'uso per persone avanzate con una conoscenza approfondita della riga di comando, ed è per quelle situazioni più complesse che ci concentreremo sulla regolazione del file sudoers come descritto qui.
Il file sudoers si trova in /etc/sudoers ma, a differenza di /etc/hosts e di molti altri file di configurazione del sistema, non si desidera puntare un editor di testo generico sul file per modificarlo. Ti consigliamo invece di utilizzare un comando specifico chiamato "visudo", che conferma la corretta sintassi prima di salvare il documento.
Importante: La regolazione dei sudoer non è destinata alla maggior parte degli utenti di Mac OS X. Solo gli utenti esperti che hanno una ragione convincente per farlo dovrebbero modificare il file sudoers. Se non sai cosa stai facendo e perché lo stai facendo, non modificare il file sudoers e non aggiungere alcun utente al file sudoers.Potrebbe rappresentare un rischio per la sicurezza o potresti rompere qualcosa.
Aggiungi un utente a Sudoers in Mac OS X
L'aggiunta di utenti ai sudoer richiede l'uso di vi, che può creare confusione se non sei abituato. Per i non familiari, delineeremo le esatte sequenze di comandi da tastiera per modificare, inserire e salvare il file in vi, seguire attentamente le istruzioni.
- Avvia Terminale e digita il seguente comando:
- Usa i tasti freccia per navigare fino alla sezione "Specifica privilegi utente", dovrebbe apparire così:
- Posizionare il cursore sulla riga vuota successiva sotto la voce %admin e quindi premere il tasto "A" per inserire il testo, quindi digitare quanto segue su una nuova riga, sostituendo 'username' con l'abbreviazione dell'utente nome dell'account a cui desideri concedere il privilegio (premi la scheda tra il nome utente e TUTTI):
- Ora premi il tasto "ESC" (esc) per interrompere la modifica del file
- Premi il tasto : (due punti) e digita "wq" seguito dal tasto Invio per salvare le modifiche e uscire da vi
sudo visudo
Specifiche dei privilegi utente root ALL=(ALL) ALL %admin ALL=(ALL) ALL
username ALL=(TUTTI) ALL
Questo è più o meno come dovrebbe apparire, la schermata di esempio mostra il nome utente 'osxdaily' aggiunto:
Dovresti essere a posto, puoi eseguire il cat del file sudoers per assicurarti che il file sia stato modificato:
cat /etc/sudoers
Usa cat con grep per trovare rapidamente il nome utente se non vuoi scansionare l'intero file:
cat /etc/sudoers | nome utente grep
Ora che 'username' è stato aggiunto al file sudoers, dovresti essere a posto.
Risoluzione di un errore "/etc/sudoers occupato, riprova più tardi"
Se stai provando a modificare i sudoer e ricevi un errore 'visudo: /etc/sudoers busy, try again later', ciò di solito significa che il file è già aperto, da un altro utente o da incidente o chiudendo impropriamente visudo. Se sei su una macchina multiutente assicurati di verificare con altri utenti prima di fare qualsiasi altra cosa, ma generalmente questo non dovrebbe accadere spesso su una macchina con un solo utente. È importante differenziare i due perché se rovini il file sudoers puoi trovarti in un mondo di frustrazione, problemi ed eventuale ripristino del sistema operativo (o file sudoers) dai backup, la cui risoluzione va oltre lo scopo di questo articolo .
Sui Mac per utente singolo, l'errore "sudoers busy" può verificarsi dopo essere usciti dall'app Terminal senza uscire da vi, o se Terminal o Mac OS X si è bloccato o se il file è attualmente aperto in un altro sessione. La soluzione per questi ultimi casi di macchine monouso descritte è abbastanza semplice e puoi risolvere l'errore rimuovendo il file temporaneo sudoers che funge da blocco:
sudo rm /etc/sudoers.tmp
Vuoi farlo solo se sei certo che un altro utente (o te stesso) non stia attivamente modificando il file, né in locale né in remoto. Poiché la regolazione di sudoer è abbastanza avanzata in generale, presumiamo che tu sappia cosa stai facendo qui, ma se non riesci a rintracciare cosa o perché sudoers è aperto, puoi provare a utilizzare dtrace o opensnoop per monitorare l'utilizzo del file.