Cambiar directorio usando sudo

22

¿Cómo cambio a un directorio propiedad de root?

Si lo hago: sudo cd RootOwedDir

Yo obtengo: sudo cd: command not found

Si yo su root

Obtengo: authentication failureprobablemente porque realmente nunca configuré una cuenta raíz real.

¿Qué estoy haciendo mal aquí?

usuario desconocido de google
fuente
En resumen: de tanto cyrus "sudo su" y "sudo sh -SC 'cd dir_path' (nota Parm de la 's' adiciones) resolvió el problema Gracias a todos por su ayuda..
desconocida Google del usuario

Respuestas:

20

En su lugar, intente usar sudo -spara iniciar un shell raíz y luego simplemente cden el directorio.
Cuando haya terminado como root, presione CtrlDo escriba exit.

Es importante tener en cuenta que, como root, uno puede dañar fácilmente los componentes esenciales del sistema. Úselo con cuidado!

oKtosiTe
fuente
5

Eso es porque cdno es un comando sino una función de shell incorporada; y suespera la contraseña de root. Simplemente use:

sudo su

ejecutar un shell con privilegios de root. Escriba exito presione Ctrl+ Dpara volver al shell anterior cuando haya terminado.

Ciro
fuente
2
sudo suEs innecesariamente complicado. sudo -shace que sudo inicie un shell; o puede ejecutar sudo basho sudo zshsi no desea tener que recordar la -sopción.
Gilles 'SO- deja de ser malvado'
3
sudo sh -c "cd dir_path"
Wesley Rice
fuente
Esto tampoco funciona para mí. Puede ser porque el directorio que quiero ingresar tiene espacios incrustados en el nombre. He intentado variaciones en sudo sh -c "cd my \ path" sin suerte. Sin mensaje de error, simplemente regresa como si hiciera algo pero permanezco en el mismo directorio. sh está instalado en mi sistema, aunque normalmente uso bash.
Usuario desconocido de Google
@unknown: siempre pensé que tendrías que generar un subshell para ejecutar los builtins de shell como root, ya sea en bash o en sh simple. Estoy decidido a resolver esto.
Wesley Rice
Agregar la opción -s junto con -c hizo el truco. Gracias por el esfuerzo.
Usuario desconocido de Google
1

También puede hacer un sudo vimen la carpeta, es decir, sudo vim RootOwedDiry mostrará la vista vim para carpetas, que mostrará todos los archivos / carpetas que están en esa carpeta. entonces puede ejecutar lo que necesita desde fuera de la carpeta y sudo de la manera habitual.

marca
fuente
0

su -luego ingrese su contraseña. Ahora puede simplemente cd en el directorio. Recuerda que ahora eres root, así que ctrl-d antes de hacer cualquier cosa de la que no quieras ser root.

Nuez sin fondos
fuente
Eso produce un error de autenticación en Ubuntu.
Wesley Rice, el
De Verdad? Nunca he tenido un problema para mí.
financiado
2
Para OP, sin duda, ya que no tiene una cuenta raíz adecuada.
Wesley Rice
Interesante, estoy en una nueva instalación de Ubuntu, nunca 'configuré' un usuario root, pero puedo simplemente sudo -y soy el dios del sistema.
financiado
Sí, acabo de recibir un error de autenticación.
usuario desconocido de Google
0

Para mí, una combinación de sudoy screenfuncionó:

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

Este comando primero cambia al vagrantusuario. Luego, como vagrantcambia el directorio /vagranty se ejecuta npm install.

czerasz
fuente
-2

La forma más fácil de hacer esto es habilitar la cuenta raíz y usar su para convertirse en root. Ubuntu es muy protector con la cuenta raíz debido a la posibilidad de mal uso, pero a veces es mucho más fácil usar la cuenta raíz en lugar de sudo en cada línea. Solo tenga en cuenta qué cuenta está utilizando en un momento dado.

Tomado de aquí :

Abra la terminal y escriba: sudo passwd root . Cuando vea el mensaje que dice "Ingrese la nueva contraseña de UNIX" , ingrese la contraseña que desea para el usuario root y confírmela.

En este punto, podrá cambiar a root usando su y cd en el directorio.

zcid
fuente
-1. Esto está lleno de errores. ¿Qué tiene que ver GDM con algo? OP quiere 'cd' a un directorio legible solo por root. Nadie debe iniciar sesión como root a través de GDM.
Wesley Rice
Buen punto. No leí completamente lo que estaba pegando allí.
zcid
Mucho más fácil que esto es habilitar un shell raíz con sudo -s como han dicho otros, y mucho mejor que esto es aprender sobre sudo, una herramienta mucho más flexible y granular que su, si se usa bien.
Adriano Varoli Piazza