sudo 모드에서 터미널을 어떻게 실행합니까?


20

나는 설치하려고했다 NPM을 , 나는 얻었다

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

루트로 로그인하는 방법


3
루트로 로그인하지 마십시오. ;-)
Chris 페이지

답변:


39

sudo -s요청시 조치로 한 단계로서 루트 권한으로 쉘을 시작하기 때문에 루트 사용자를 사용하는 것보다 훨씬 쉽습니다 . 속도가 빠를뿐만 아니라 루트 사용자가 필요하지 않을 때 다시 구성 할 필요가 없으며 루트 사용자를 추가 할 경우 더 이상 위험이나 취약성에 서버를 노출시키지 않습니다.

물론 npm지시와 유형을 따를 수 있습니다.

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

그래도 여전히 npm"root"명령을 만들고 로그 아웃 단계를 건너 뛰어 루트에서 돌아옵니다.


7
그러나 쉘에서 루트로 실행하는 대신 하나의 명령을 sudo하는 것이 좋습니다.
user151019

1
sudo -s이 맥락에서 무엇을 설명 할 수 있습니까?
KatieK

1
@KatieK이 명령 sudo -s은 쉘을 루트로 실행합니다. 매뉴얼 페이지는 이러한 세부 사항 등을 가지고있다. 귀하의 질문이 좋은 것이기 때문에 다른 단어도 추가 할 것입니다.
bmike

@bmike-정확히 내가 필요한 것입니다-감사합니다!
KatieK

10

나는 보통 다른 사람들이 여기에 묘사 한 것과는 조금 다릅니다. 두 명의 사용자가 있다고 상상해 봅시다. 표준 사용자 : john 관리자 : kevin

john이 로그인하여 root 사용자 (kevin)로 실행하려면 다음과 같이하십시오.

su kevin

요청시 kevin의 비밀번호를 입력하십시오

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

kevin의 비밀번호를 다시 입력하십시오.


사용자를 이미 kevin로 전환 한 후 왜 sudo? 가 필요 합니까?
cm2

Kevin은 루트가 아니기 때문에 루트가 될 수 있습니다.
Xvolks

4

su루트가 되려면 (사용자 전환) 명령 을 사용해야 하지만 루트 만 루트가 될 수 있으므로 sudo(수퍼 유저) 를 사용해야 합니다. 따라서 다음을 입력하십시오 sudo su..

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

이전에 루트를 사용하지 않은 경우 루트로 잘못 입력 된 문자 하나가 사진, 이메일 및 재무 문서를 포함하여 전체 운영 체제를 삭제한다는 사실을 충분히 알고 있어야합니다. Enter 키를 누르기 전에 매우 조심하고 입력 한 내용을 항상 세 번 읽습니다. 그렇지 않으면 행운을 빕니다!


1
3 년 동안 AIX 지원 기술자였습니다 ... 12 년 전 :) 어떤 것을 알고 있지만 간단한 것들이 내 머리에서 사라졌습니다 :)
balexandre

친숙한 수동 및 Google 제안으로 내 대답을 훔치려 고했지만 바이오를 읽은 후 빠르게 삭제했습니다. 맥에 오신 것을 환영합니다. 수년간의 AIX 후에도 여전히 vm_stat를 입력 할 수 없습니다. 쉘 별명을 좋아해야합니다 ;-)
bmike

sudo su대신에 사용 sudo -s합니까?
Chris 페이지

1
내가 볼 수있는 것은 NCC-1701 lol
Shane Hsu

@ShaneHsu 좋은 하나! 난 당신의 의견을 사랑했습니다 ...
jmh

2

이온을 설치하려고하는 것과 동일한 문제를 실행했지만 다음과 같이 동일한 명령을 실행하면됩니다 sudo.

sudo npm install -g ionic cordova

시스템은 현재 사용자의 비밀번호를 요청합니다. 이를 제공하면 수퍼 유저로 설치할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.