Esegui sudo da un account non amministratore


19

Va bene, quindi mi sto preparando per ottenere una nuova macchina, quindi sto cercando come organizzare meglio le cose. Ora, attualmente utilizzo un account amministratore come account di accesso principale, ma so che probabilmente non è la migliore pratica, quindi vorrei passare a un account amministratore e non amministratore separato sulla mia macchina.

Tuttavia, sono uno sviluppatore e faccio molto lavoro nel terminale, quindi a volte ho bisogno di eseguire comandi tramite sudo, ma ovviamente non funzionerà nel modo in cui lo eseguirò normalmente ( sudo foo, digita la password dell'account corrente ). Quello che mi piacerebbe sapere è, conoscendo i dettagli di un account amministratore sulla mia macchina, è possibile eseguire comandi tramite sudo(o simili) da un account non amministratore, senza dover accedere ogni volta a un altro account? Ad esempio, potrei in qualche modo attivare la finestra di dialogo per inserire la password dell'amministratore?


non sono sicuro che funzionerebbe con osx, ma se si vedono soluzioni su sistemi Linux (ad es. ubuntu) in cui l'utente può eseguire "su" tramite "sudo". in questo modo puoi semplicemente digitare 'sudo su', inserire la password dell'utente e finire con una shell di root. amo questa soluzione perché non sono necessari un account amministratore e una password separati
weberik,

Penso che valga la pena ricordare che su sistemi come UNIX, se sei l'amministratore, va benissimo essere eseguito su un account sudoer. L'equivalente dell'amministratore di Windows-Xp-esque per tutto il tempo verrebbe registrato nella directory principale.
Linuxios,

Risposte:


25

Sembra che potresti usare il comando SU per passare a un altro utente nel Terminale. Dopo essere passati all'utente amministratore, è possibile utilizzare i comandi sudo associati alla password dell'account amministratore.

Ad esempio, quando sono su uno dei miei Mac dell'utente finale e ho bisogno di eseguire qualcosa con privilegi elevati (ad esempio chown) senza disconnettermi e nell'account admin (ladmin) userò qualcosa del genere (in grassetto):

Mr-Rabbits-Mac: ~ notadminuser $ su ladmin

Questo richiederà la password dell'account ladmin, una volta inserito vedrai un prompt dei comandi bash. Da qui posso eseguire qualsiasi comando sudo desiderato, inserendo la password di ladmin secondo necessità ...

bash-3.2 $ sudo chown user2 / some / cartella

Questo eseguirà il comando chown usando l'utente ladmin ora connesso, richiedendo la password dell'account ladmin. Una volta terminato, puoi digitare exit per tornare al prompt dell'utente che ha effettuato l'accesso.

Schermata di un processo simile, usando solo sudo per eseguire il comando ls (solo per esempio). inserisci qui la descrizione dell'immagine


1
Aha! Questo sembra esattamente ciò di cui ho bisogno, grazie! Non c'è bisogno di aggiungere al file sudoers, ho avuto la sensazione che ci fosse un modo per farlo, non potevo pensarci per la vita, grazie per l'ottima risposta!
Haravikk,

4

Nel tipo di Terminale login, uno spazio your admin namee premi invio. Quindi digitare la password dell'amministratore, premere Invio e si accede come amministratore che può emettere comandi sudo senza ulteriori configurazioni o file da modificare.


4

Aggiungi il tuo nome utente esistente al sudoersfile e quello che devi fare è usare il visudocomando e aggiungere linee come questa:

Specifica dei privilegi dell'utente

root ALL = (ALL) ALL

<randomuser> ALL = (ALL) ALL

% admin ALL = (ALL) ALL

O qualunque cosa tu voglia dare a te stesso. allora puoi correre sudo whatevernella misura del tuo cuore. A /etc/sudoersproposito.


4
-1 Non modificare mai /etc/sudoersda soli. Usa visudo.
Max Ried il

-4

Vai a Directory Utility, sbloccalo e quindi dal menu Modifica seleziona "Abilita utente root". Digitare una password univoca per l'account root e reinserirla per la verifica. Ora con quello fatto da qualsiasi account è possibile aprire Terminal.app da cui è possibile eseguire "login" e inserire root al login e quindi inserire la password di root appena impostata. Dovresti essere bravo ad andare! ;)


9
Non è necessario abilitare l'utente root per questo.
Édouard,

Quindi potrei andare su qualsiasi Mac che viene avviato, aprire Terminal.app e immettere il comando di accesso. Inserisci root e poi come password? Per favore, mi illumini: /
Andrew U.

3
Voglio dire, non è necessario abilitare l'utente root a fare ciò che l'OP chiede. In realtà, se vai e utilizzi login, potresti anche accedere a un account amministratore anziché a root.
Édouard,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.