설치하려고 하는데pow
OS X 컴퓨터에서. * * 의 특정 구성 요소는 pow
루트로 실행되어야 하므로 설치 프로세스의 일부 에는 sudo
./tmp
계측을 통해 pow
다음과 같은 명령을 실행하려고 할 때 정지가 발생했음을 확인할 수 있었습니다(매개변수 배열과 함께 시스템 호출을 사용하므로 일부 인용 및 이스케이프를 추가했습니다).
/usr/bin/env login -qf root /bin/sh -i -c \
'exec env > \'/tmp/pow.6854.1418720624398.37948\''
목적은 사용자의 환경 변수를 읽는 것 같습니다. node.js( pow
작성된 대로)는 환경 변수에 대한 직접적인 액세스를 제공하지 않거나 환경이 무엇인지 확인하려고 합니다.~해야 한다깨끗한 로그인 셸과 같습니다.
이제 루트 터미널에서 이 명령을 테스트하면 정지 원인이 분명해집니다.
Brents-MacBook-Pro:~ root# '/usr/bin/env' 'login' '-qf' 'root' '/bin/sh' '-i' '-c' 'exec env > /tmp/pow.6854.1418720624398.37948'
Login incorrect
login:
login: Login timed out after 300 seconds
어떤 이유에서인지 login(1)
루트로 다시 로그인하려는 시도가 마음에 들지 않아 자격 증명을 묻는 메시지가 표시됩니다. pow
와 상호작용해야 한다는 기대가 없으므로 결국 시간이 초과될 login
때까지 아무 것도 하지 않고 그냥 가만히 있습니다 .login
내가 이해하지 못하는 것은 "어떤 이유"부분입니다. login -qf root
이미 루팅했는데 왜 실패하나요? 맨페이지에서는 login(1)
이 옵션을 -f
다음과 같이 설명합니다.
이 옵션은 슈퍼유저 또는 자신으로 로그인한 로그인 사용자만 사용할 수 있습니다.
음, 이 경우 슈퍼유저는 자신으로 로그인하도록 요청하므로둘 다조건의 일부가 참입니다. 왜 이것이 실패합니까?
*Ask Different가 아닌 여기에 게시합니다. 이는 Unix 하위 시스템 문제인 것 같습니다.