턴키 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로 지정할 수도 있습니다.
참조하십시오. 단계별 솔루션에 대한 이 동영상
sudo
가 더 나은 옵션이라고 말합니다