27 votos

¿Cómo puedo ejecutar el terminal en modo sudo?

Estaba tratando de instalar npm y tengo

npm ERR! Error: EACCES, Permission denied '/usr/local/lib/node_modules'
npm ERR! 
npm ERR! Please use 'sudo' or log in as root to run this command.
npm ERR! 
npm ERR!     sudo npm "install" "." "--force" "--global"
npm ERR! 
npm ERR! or set the 'unsafe-perm' config var to true.
npm ERR! 
npm ERR!     npm config set unsafe-perm true

¿Cómo se puede iniciar la sesión como una root?

4 votos

No te conectes como Root. ;-)

49voto

Oskar Puntos 1242

sudo -s es mucho más fácil que habilitando el usuario Root ya que sólo se inicia un shell con permisos de Root como un paso, en la acción de la demanda. No sólo es rápido, sino que no necesita ser reconfigurado cuando no se necesita el usuario Root y no expone el servidor a más riesgo o vulnerabilidad que la adición de un usuario Root implicaría.

Por supuesto, para npm puedes seguir las instrucciones y escribir:

sudo -H npm "install" "." "--force" "--global"

Eso todavía hace que el npm comando "Root" y se salta el paso de cierre de sesión para volver a salir de Root.

8 votos

Pero es mejor sudo el comando único en lugar de ejecutar bajo un shell como Root

1 votos

¿Podría explicar qué sudo -s en este contexto?

1 votos

@KatieK El mando sudo -s ejecuta un shell como Root. La página web página del manual tiene estos detalles y mucho más. Voy a añadir algunas palabras ya que su pregunta es buena y muchos otros también podrían preguntarse qué hace.

13voto

Ray Hayes Puntos 127

Yo suelo hacerlo de forma un poco diferente a como otros lo han descrito aquí. Imaginemos que tienes dos usuarios. usuario estándar: john usuario administrador: kevin

Si john está conectado y quiere correr como usuario Root (como kevin) aquí es como lo hago.

su kevin

cuando se le pregunte introduzca la contraseña de kevin

sudo npm "install" "." "--force" "--global"

introduce de nuevo la contraseña de kevin.

0 votos

Cuando ya has cambiado de usuario a kevin, ¿por qué necesitas el sudo ?

1 votos

Porque Kevin no es Root, sólo se le permite convertirse en Root.

5voto

Török Gábor Puntos 1133

Es necesario utilizar el su (cambiar de usuario) para convertirse en Root, pero sólo Root puede convertirse en Root, por lo que debe utilizar sudo (super-user do). Por lo tanto, escriba: sudo su .

[william@NCC-1701 ~]$ sudo su
Password:
[root@NCC-1701 /Users/william]$ 

Si no has utilizado Root antes, debes ser plenamente consciente de que un carácter erróneo tecleado como Root borrará todo tu sistema operativo, incluyendo tus fotos, correos electrónicos y documentos financieros. Sé extremadamente cuidadoso y lee siempre tres veces lo que escribes antes de pulsar Intro. Por lo demás, ¡buena suerte!

1 votos

He sido técnico de soporte de AIX durante 3 años... hace 12 años :) conozco algunas cosas pero las cosas sencillas se han desvanecido de mi cabeza :)

0 votos

Iba a snark mi respuesta con manual amigable y sugerencias de google pero rápidamente lo borré después de leer tu biografía. Bienvenido a mac. Todavía no me atrevo a escribir vm_stat después de años de AIX. Hay que amar los alias del shell ;-)

0 votos

Por qué utilizar sudo su en lugar de sudo -s ?

2voto

Me encontré con el mismo problema tratando de instalar ionic, sólo tiene que ejecutar el mismo comando con sudo :

sudo npm install -g ionic cordova

El sistema solicitará la contraseña del usuario actual. Proporciónela y podrá instalarse como superusuario.

2voto

mTvare Puntos 13

Aparte de lo que la gente ha dicho se puede correr sudo <your-shell> esto hace que aparezca el intérprete de comandos con los privilegios de root

sudo zsh

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X