bash : sudo : OS X Lion에서 명령을 찾을 수 없습니다


3

이것은 나를 방해한다.

sudo [any command here ]
bash: sudo: command not found

에크!

Ruby 버전 관리자를 제거하려고 시도했습니다 (어떤 이유로 Ruby를 컴파일하지 않음). 그들의 단계별 지침을 따르는 어딘가에서 나는 sudo-less가되었습니다.

내 $ PATH는 다음과 같습니다. /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

which sudo 아무것도 반환하지 않습니다.

기다리는 동안 어둠 속에서 촬영을 시도한 것 같아요. 이틀 전에 라이온으로 업그레이드 한 구형 Mac이 있습니다. /usr/bin/sudo문제 머신에 복사했습니다 . 이제 시도 sudo하면 :

sudo : setuid 루트 여야합니다

나는 특히 커맨드 라인에 정통하지 않다-이것은 나빠 보인다.

답변:


3

디스크 유틸리티를 사용하여 파일 권한을 복구하십시오. 운 좋게도 복사 한 / usr / bin / sudo에서 setuid 비트를 재설정해야합니다. sudo가 root로 실행되지 않을 때에도 root로 작동하게하는 플래그이므로 분명히 할 수 있어야하지만 명령 줄을 사용하여 sudo를 설정하여 닭과 계란 문제가 발생해야합니다. .


1

나요 sudo완전히 사라 이제까지? 다른 컴퓨터에서 가져온 파일로 대체 했습니까? 어떻게 당신이 삭제 관리 궁금합니다 sudo. RVM은 상승 된 권한없이 실행되며 이와 같은 작업을 수행 할 권한이 없어야합니다.


어쨌든 최신 백업에서 시도하고 복원하십시오. 계정이 없으면 디스크 유틸리티를 통해 권한을 복구하십시오 . 도움이 될 수 있습니다.

Mac을 단일 사용자 모드로 부팅 할 수 있습니다. Command-S부팅 하는 동안 잡고 있으면됩니다. 여기에 입력

mount -uw /

그런 다음 파일을 올바르게 chmod하십시오. 따라야 할 것 :

chown root /usr/bin/sudo 
chmod u+s /usr/bin/sudo

이 모든 것이 실패하면 Lion을 다시 설치하십시오. 이것이 바로 복구입니다. 파일은 삭제되지 않습니다. 아무것도 잃지 않으려면 디스크를 깨끗이 닦아야 하지만 백업을하는 것이 좋습니다.


0

Mike Scott의 게시물이 sudo 문제에 답변했지만 RVM이 Rubies를 컴파일하지 않는 문제도 발견했습니다. 애플은 10.7에서 LLVM을 기본 컴파일러로 사용하여 gcc를 llvm-gcc에 연결 한 것으로 보입니다.

$ which gcc                                                                  
/usr/bin/gcc

$ ls -la /usr/bin/gcc                                                        
lrwxr-xr-x  1 root  wheel  12 30 Nov 13:40 /usr/bin/gcc -> llvm-gcc-4.2

gcc는 여전히 있지만 /usr/bin/gcc-4.2에 있습니다. CC 환경 변수를 설정하여 사용할 C 컴파일러를 지정하면 루비를 컴파일 할 수 있어야합니다.

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