Come aggiungere un utente al file Sudoers in Mac OS X.

Gli utenti esperti potrebbero dover aggiungere un account utente al file sudoers, che consente all'utente di eseguire determinati comandi con privilegi di root. Per semplificare notevolmente ciò che significa, questi account utente appena privilegiati saranno quindi in grado di eseguire comandi senza ottenere errori di autorizzazione negati o dover prefisso un comando di terminale con sudo. Ciò può essere utile (o necessario) per alcune situazioni complesse, ma pone un rischio per la sicurezza per gli altri, quindi questo non è qualcosa che dovrebbe essere cambiato casualmente. In generale, la maggior parte degli utenti preferisce utilizzare un account amministratore, utilizzando sudo su base di comando o abilitando l'utente root. Ciononostante, la modifica diretta di sudoers ha molte situazioni di utilizzo per individui avanzati 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 molti altri file di configurazione del sistema, non si desidera puntare un editor di testo generale sul file per modificarlo. Invece, ti consigliamo di utilizzare un comando specifico chiamato "visudo", che conferma la sintassi corretta prima di salvare il documento.

Importante: la regolazione di sudoers non è prevista per la maggior parte degli utenti di OS X. Solo gli utenti avanzati che hanno una ragione convincente per farlo dovrebbero mai modificare il file sudoers. Se non sai cosa stai facendo e perché lo stai facendo, non modificare il file sudoers e non aggiungere utenti 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 a sudoers richiede l'utilizzo di vi, che può essere abbastanza confuso se non ci si è abituati. Per chi non conosce, illustreremo le esatte sequenze di comandi chiave per modificare, inserire e salvare il file in vi, segui attentamente le istruzioni.

  1. Avvia Terminal e digita il seguente comando:
  2. sudo visudo

  3. Usa i tasti freccia per navigare fino alla sezione "Specifica privilegio utente", dovrebbe assomigliare a questo:
  4. # User privilege specification
    root ALL=(ALL) ALL
    %admin ALL=(ALL) ALL

  5. Posiziona il cursore sulla riga vuota successiva sotto la voce% admin e premi il tasto "A" per inserire il testo, quindi digita quanto segue su una nuova riga, sostituendo "username" con il nome breve dell'utente dell'account che desideri concedere privilegio a (scheda attiva tra nome utente e TUTTI):
  6. username ALL=(ALL) ALL

  7. Ora premi il tasto "ESC" (esci) per interrompere la modifica del file
  8. Premi il tasto: (due punti) e poi digita "wq" seguito dal tasto Invio per salvare le modifiche e uscire da vi

Questo è più o meno come dovrebbe essere, la schermata di esempio mostra il nome utente 'osxdaily' aggiunto:

Dovresti essere a posto, puoi usare il 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 eseguire la scansione dell'intero file:

cat /etc/sudoers | grep username

Ora che "nome utente" è stato aggiunto al file sudoers dovresti essere pronto.

Risolto un errore "/ etc / sudoers occupato, riprova più tardi"

Se stai tentando di modificare sudoers e ottenere un errore "visudo: / etc / sudoers busy, riprova più tardi", questo di solito significa che il file è già aperto, o da un altro utente, o accidentalmente, o chiudendo in modo errato visudo. Se sei su un computer multi-utente, assicurati di controllare con altri utenti prima di fare qualcosa di più, ma generalmente questo non dovrebbe accadere spesso su un singolo computer. È importante distinguere i due perché se si rovina il file sudoers si può essere in un mondo di frustrazione, problemi ed eventuale ripristino del sistema operativo (o del file sudoers) dai backup, di cui la risoluzione è oltre lo scopo di questo articolo .

Nei Mac con un singolo utente, l'errore "sudoers busy" può verificarsi dopo essere uscito dall'app Terminal senza uscire da vi, o se il terminale o OS X si sono arrestati o se il file è attualmente aperto in un'altra sessione. La soluzione per il secondo caso descrive casi di macchine monouso è abbastanza semplice, e puoi risolvere l'errore rimuovendo il file temporaneo sudoers che funge da blocco:

sudo rm /etc/sudoers.tmp

Lo vuoi fare solo se sei certo che un altro utente (o te stesso) non stia modificando attivamente il file, localmente o in remoto. Dato che la regolazione di sudoers è abbastanza avanzata in generale, stiamo assumendo che tu sappia cosa stai facendo qui, ma se non riesci a rintracciare cosa o perché sudoers è aperto, puoi provare a usare dtrace o opensnoop per monitorare l'utilizzo del file.