Bash Sudo 명령을 찾을 수 없음


33

턴키 리눅스 레드 마인을 사용하여 VM을 설정했으며 서버에 SSH로 추가 항목을 설치하려고합니다.

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

 -bash: sudo: command not found

'whereis sudo'를 입력하기 위해 다른 곳을 읽었으며 출력은 다음과 같습니다.

 sudo:

답변:


20

그것은에서 보이는 http://www.turnkeylinux.org/redmine 우분투는 달리, 기본적으로 sudo를 사용하지 않고, 레드 마인처럼. SSH에 어떤 사용자 이름을 사용하고 있습니까? 이 경우 Redmine 시스템에 SSH로 연결할 때 수행하는 모든 root작업은 다음과 같이 수행되므로 사용할 필요가 없습니다 . 와 같은 다른 것이 있으면 명령을 사용하여 명령 을 실행할 쉘 을 얻을 수 있습니다.sudorootadminsurootroot


스크립트에 sudo 명령이있을 때 수행 할 작업 mkusb와 함께 나에게 일어난다. 향후 편의를 위해 sudo를 설치하는 것이 좋습니다.
Love Grover

40

설치되지 않았습니까? 패키지 관리자를 열고 sudo 패키지를 설치하십시오 .


2
설치되지 않았습니다! 감사. 나는 리눅스를 처음 접했고 모든 설치에 있다고 가정했다. sudo 패키지 또는 sudo-ldap도 필요합니까?

2
sudo-ldap 패키지가 필요하지 않습니다. Sudo가 컴퓨터에서 제대로 작동하며 sudo-ldap이 설치되어 있지 않습니다.
Azendale

6

먼저 루트 계정에 로그인하십시오. 그때

$ apt-get install sudo

기존 사용자를 그룹에 추가 sudo

$ sudo adduser <user> sudo

당신은 로그인으로 다음해야 <user>하고, sudo명령이 있어야합니다.


5

전체 경로를 사용하려고

/usr/bin/sudo

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

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

희망적으로 작동합니다 ..


4
그것은 문제가되지 않을 것입니다. /usr/bin거의 확실하게 당신의 기본 경로에있을 것입니다. 다른 답변과 의견에서 알 수 있듯이 문제는 sudo명령이 전혀 설치되지 않았다는 것입니다.
Keith Thompson

2

명령 행에서 호출하려는 2 진이 현재 사용자의 PATH 변수의 일부일뿐 루트 사용자의 PATH의 일부가 아니기 때문에 오류가 발생합니다.

액세스하려는 바이너리의 경로를 찾아서이를 확인할 수 있습니다. 제 경우에는 "bettercap-ng"를 호출하려고했습니다. 그래서 나는 달렸다

$ which bettercap-ng

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

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

$ sudo env | grep ^PATH

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

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

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

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

실제로 별명을 만들 수 있습니다.

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

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

단계별 솔루션에 대해서는 이 비디오 를 참조하십시오

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