Perché non posso eseguire 'su'? (e come dovrei fare?)

29

Ogni volta che provo a pubblicare su ottengo questo:

$ su  
Password:  
su: Sorry

Inutile dire che inserisco la password amministratore corretta che funziona con sudo . Quello che voglio è non dover inserire sudo ogni volta.

    
posta Petruza 23.05.2011 - 02:33
fonte

5 risposte

29

In MacOS X, l'utente root è disabilitato per impostazione predefinita, quindi su non funzionerà. Come altri hanno affermato, è meglio usare sudo .

Se deve abilitare l'utente root, consulta la nota tecnica di Apple: Abilitare e utilizzare l'utente "root" in Mac OS X .

    
risposta data 23.05.2011 - 07:23
fonte
12

Hai due opzioni. Il primo è usare sudo -s - questo ti darà l'accesso superutente, ma rimarrai comunque "te stesso" (per così dire), quindi cose come ~ saranno comunque la tua home directory. In alternativa, puoi utilizzare sudo su , che ti dà una shell come utente root effettivo del tuo Mac.

    
risposta data 23.05.2011 - 02:45
fonte
1

Ad esempio, se è necessario spostare i file o utilizzare git utilizzando la CLI, in tal caso, la soluzione migliore sarà utilizzare il comando sudo -s . Dopo questo comando, non è necessario continuare a inserire la password ancora e ancora.

    
risposta data 19.09.2018 - 12:57
fonte
1

Penso che non puoi farlo come un utente "normale" ...

Se esiste un altro account utente con diritti di amministratore, devi usare questo

restricted user$ su
Password:(the root password here)
Sorry!

restricted user$ su - (an admin account here)
password:(the admin account password)
$ su - root
Password:(The root password here)
# -> You are root user now
    
risposta data 20.09.2018 - 08:39
fonte
0

Soluzione moderna: sudo -u

Per eseguire un altro uso, usa sudo -u .

Ad esempio, per eseguire un editor di testo come nano :

sudo -u someuser nano

... e inserisci la password dell'utente amministratore Mac quando richiesto. In questo frangente, è il tuo utente amministratore Mac che sta richiamando sudo , non someuser utente, quindi non inserisci la someuser password.

  • sudo significa eseguire qualcosa usando i privilegi di superutente.
  • -u significa "esegui un comando specificato come questo utente specificato".
  • someuser deve essere sostituito con il nome utente desiderato.

Per simulare un accesso iniziale come utente particolare, inclusi gli script di avvio, usa -I .

sudo -u someuser -i nano

Esegue l'app nano come utente someuser ma solo dopo aver eseguito gli script di avvio per quell'utente.

Se decidiamo di non specificare un comando o un'app da eseguire, otteniamo una shell interattiva in esecuzione come tale utente.

sudo -u someuser -i

Vecchia scuola: sudo su someuser

Un altro approccio utilizza il comando su in combinazione con sudo . Il comando su significa "cambia utente".

sudo su someuser

Oppure, per includere gli script di avvio dell'utente, aggiungi il trattino.

sudo su - someuser

root utente

L'utente root nei sistemi operativi collegati a Unix ha il potere assoluto di fare qualsiasi cosa.

Apple ha scelto di disabilitare l'account root in macOS, per evitare exploit di vulnerabilità della sicurezza e per proteggerti dal spararti ai piedi. Apple ha creato l'idea degli account utente Administrator che hanno molti poteri, più poteri di un account utente Standard , ma non la potenza assoluta come root ha. Vedi questa nota di supporto Apple per la discussione.

Se necessario, puoi abilitare l'utente root in macOS e quindi passare a quell'utente. Questo è strongmente scoraggiato. Vorrei percorrere questa strada solo come ultima risorsa disperata.

Per una discussione di questo nel contesto del postgres utente che esegue il sistema di database Postgres su macOS, vedi < a href="https://dba.stackexchange.com/q/221043/19079"> questa domanda sul sito affiliato, Stack DBA scambio .

    
risposta data 26.10.2018 - 02:20
fonte

Leggi altre domande sui tag