Cambia directory usando sudo


22

Come posso cambiare in una directory di proprietà di root?

Se lo faccio: sudo cd RootOwedDir

Ottengo: sudo cd: command not found

Se io su root

Ottengo:, authentication failureprobabilmente perché non ho mai creato un vero account root.

Cosa sto facendo di sbagliato qui?


Riassumendo: sia "sudo su" che "sudo sh -sc" cd dir_path "di cYrus (notate il parm delle aggiunte) hanno risolto il problema. Grazie a tutti per il loro aiuto.
— Utente google sconosciuto

Risposte:


20

Prova invece a utilizzare sudo -sper avviare una shell di root e quindi semplicemente cdnella directory.
Quando hai finito come root, premi CtrlDo digita exit.

È importante notare che come root si può facilmente danneggiare i componenti essenziali del sistema. Usare con cura!


5

Questo perché cdnon è un comando ma una funzione di shell integrata; e si suaspetta la password di root. Usa semplicemente:

sudo su

per eseguire una shell con i privilegi di root. Digita exito premi Ctrl+ Dper tornare alla shell precedente quando hai finito.


2
sudo suè inutilmente complicato. sudo -sfa sudo avviare una shell; oppure puoi correre sudo basho sudo zshse non vuoi ricordare l' -sopzione.
— Gilles 'SO- smetti di essere cattivo' l'

3
sudo sh -c "cd dir_path"

Questo non funziona neanche per me. Potrebbe essere perché la directory che voglio inserire ha spazi incorporati nel nome. Ho provato le varianti su sudo sh -c "cd my \ path" senza fortuna. Nessun messaggio di errore ritorna come se avesse fatto qualcosa, ma rimango nella stessa directory. sh è installato sul mio sistema anche se normalmente utilizzo bash.
— utente google sconosciuto l'

@unknown - Ho sempre pensato che avresti dovuto spawnare una subshell per far girare i builtin della shell come root, sia in bash che semplicemente in vecchio sh. Sono determinato a capirlo.
— Wesley Rice,

L'aggiunta dell'opzione -s lungo -c ha fatto il trucco. Grazie per lo sforzo.
— utente google sconosciuto

1

Puoi anche fare un sudo vimsulla cartella, cioè sudo vim RootOwedDire mostrerà la vista vim per le cartelle, che mostrerà tutti i file / cartelle che si trovano in quella cartella. quindi puoi semplicemente eseguire ciò che ti serve dall'esterno della cartella e eseguirlo come al solito.


0

su -quindi digitare la password. Ora puoi semplicemente cd nella directory. Ricorda che ora sei root, quindi ctrl-d prima di fare qualsiasi cosa per cui non vuoi essere root.


Ciò produce un errore di autenticazione su Ubuntu.
— Wesley Rice,

Veramente? Non ho mai avuto problemi per me.
— Nofundednut,

2
Per OP sarebbe certamente, dato che non ha un account root adeguato.
— Wesley Rice,

Interessante, sono su una nuova installazione di Ubuntu, non ho mai "configurato" un utente root ma posso semplicemente sudo -e bam sono il dio del sistema.
— Nofundednut,

Sì, ho appena ricevuto un errore di autenticazione.
— utente google sconosciuto l'

0

Per me una combinazione di sudoed screenelaborato:

sudo -iu vagrant screen -mS npm_install bash -c 'cd /vagrant && npm install'

Questo comando passa prima vagrantall'utente. Quindi come vagrantcambia la directory in /vagranted esegue npm install.


-2

Il modo più semplice per farlo è abilitare l'account root e usare su per diventare root. Ubuntu è molto protettivo nei confronti dell'account root a causa del potenziale uso improprio, ma a volte è molto più semplice utilizzare l'account root piuttosto che sudo su ogni linea. Basta essere consapevoli dell'account che si sta utilizzando in un determinato momento.

Tratto da qui :

Apri il terminale e digita: sudo passwd root . Quando viene visualizzato il messaggio "Inserisci nuova password UNIX" , immettere la password desiderata per l'utente root e confermarla.

A questo punto, sarai in grado di passare a root usando su e cd nella directory.


-1. Questo è pieno di torto. Cosa c'entra GDM con qualcosa? OP vuole "cd" su una directory leggibile solo da root. Nessuno dovrebbe mai accedere come root tramite GDM.
— Wesley Rice,

Buon punto. Non ho letto completamente cosa stavo incollando lì.
— zcid,

Molto più facile di questo è abilitare una shell root con sudo -s come altri hanno già detto, e molto meglio di questo è imparare su sudo, uno strumento molto più flessibile e granulare di su, se ben usato.
— Adriano Varoli Piazza
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.