Bash Sudo 명령을 찾을 수 없음

턴키 Linux redmine을 사용하여 VM을 설정했으며 더 많은 항목을 설치하기 위해 서버에 SSH를 시도하고 있습니다.

sudo 명령을 인식하지 못하는 것 같습니다. 내가 무언가를 sudo하려고 할 때마다 다음과 같은 오류가 발생합니다.

 -bash: sudo: command not found 

다른 곳에서 “whereis sudo”를 입력 한 결과는 다음과 같습니다.

 sudo: 

답변

http://www.turnkeylinux.org/redmine Redmine과 같은 Ubuntu와 달리 기본적으로 sudo를 사용하지 않습니다. SSH에 어떤 사용자 이름을 사용하고 있습니까? root 인 경우 Redmine 시스템에 SSH로 연결할 때 수행하는 모든 작업이 다음과 같으므로 sudo를 사용할 필요가 없습니다. root로 완료됩니다. admin와 같은 다른 경우 su 명령을 사용하여 셸에서 명령을 root로 실행할 수 있습니다.

설명

답변

아마 설치되지 않았습니까? 패키지 관리자를 열고 sudo 패키지를 설치합니다.

댓글

  • 설치되지 않았습니다. ' 감사. 저는 ' Linux를 처음 접했으며 모든 설치에 적용되었다고 가정했습니다. sudo 패키지 또는 sudo-ldap도 필요합니까?
  • sudo-ldap 패키지는 필요하지 않습니다 '. Sudo가 내 컴퓨터에서 잘 작동하고 ' sudo-ldap이 설치되어 있지 않습니다.

답변

먼저 루트 계정에 로그인합니다. 그런 다음

$ apt-get install sudo 

기존 사용자를 sudo

$ sudo adduser <user> sudo 

그런 다음 <user>로 로그인해야하며 sudo 명령이 있어야합니다.

답변

전체 경로 사용

/usr/bin/sudo 

이 명령이 작동하면 ~ / .bashrc의 환경 변수 PATH에 / usr / bin /을 포함하십시오.

echo "export PATH="$PATH:/usr/bin"" >> ~/.bashrc 

잘 작동합니다 ..

댓글

  • '는 문제가 될 가능성이 거의 없습니다. /usr/bin는 거의 확실히 기본 경로에있을 것입니다. 다른 답변과 의견에서 알 수 있듯이 문제는 sudo 명령이 전혀 설치되지 않았다는 것입니다 '

답변

명령 줄에서 호출하려는 바이너리가 현재 사용자 PATH의 일부일 뿐이므로 오류가 발생합니다. 변수이지만 루트 사용자 PATH의 일부가 아닙니다.

액세스하려는 바이너리의 경로를 찾아이를 확인할 수 있습니다. 제 경우에는 “bettercap-ng”라고 부르려고했습니다. 그래서

$ which bettercap-ng

output: /home/user/work/bin/bettercap

I 이 위치가 내 루트 사용자 PATH의 일부인지 확인했습니다.

$ sudo env | grep ^PATH

출력 : PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin

그래서 sudo는 명령 줄에서 호출하려는 바이너리를 찾을 수 없습니다. 따라서 오류 명령을 찾을 수 없습니다.

현재 사용자를 사용하도록 sudo를 지시 할 수 있습니다. “s PATH는 아래와 같이 바이너리를 호출 할 때입니다.

$ sudo -E env "PATH=$PATH" [command] [arguments]

사실, 별칭을 만들 수 있습니다.

p>

$ alias mysudo="sudo -E env "PATH=$PATH""

원래 sudo를 대체하여 별칭 자체의 이름을 sudo로 지정할 수도 있습니다.

참조하십시오. 단계별 솔루션에 대한 이 동영상

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다