스도: ./:설치된 폴더에서 실행할 때 명령을 찾을 수 없습니다. [닫기]

스도: ./:설치된 폴더에서 실행할 때 명령을 찾을 수 없습니다. [닫기]

https://stackoverflow.com/questions/12996397/command-not-found-when-using-sudo정확히 내가 찾고 있던 것이지만 어떤 답변도 나에게 도움이 되지 않았습니다. 저는 아치 리눅스를 사용하고 있습니다. 현재 작업 디렉터리에서 명령을 실행하려고 합니다.

Workspace$ sudo ./SomeBinary -some_args
sudo: ./<SomeBinary>: command not found
sudo pwd
/home/SomeUser/Workspace

/etc/sudoers프로필

Defaults env_keep += "LANG LANGUAGE LINGUAS LC_* _XKB_CHARSET"
Defaults env_keep += "HOME"
Defaults env_keep += "XAPPLRESDIR XFILESEARCHPATH XUSERFILESEARCHPATH"
Defaults env_keep += "QTDIR KDEDIR"
Defaults env_keep += "XDG_SESSION_COOKIE"
Defaults env_keep += "XMODIFIERS GTK_IM_MODULE QT_IM_MODULE QT_IM_SWITCHER"
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

Defaults mail_badpass
Defaults log_output
Defaults!/usr/bin/sudoreplay !log_output
Defaults!/usr/local/bin/sudoreplay !log_output
Defaults!REBOOT !log_output

root ALL=(ALL) ALL

%wheel ALL=(ALL) ALL

%sudo   ALL=(ALL:ALL) ALL

#includedir /etc/sudoers.d

원격 디렉토리를 사용하여 작업 디렉토리를 마운트했습니다 sshfs.

sshfs RemoteUbuntu.local:/media/ExtHDD/Workspace ~/Workspace

리모컨이 BTRFS포맷되었습니다.

답변1

나는 여기에 다른 뭔가가 있는 것 같아요 ./SomeBinary. CentOS 7 시스템에서 두 테스트를 모두 실행했는데 sudo문제가 없었습니다.

$ cat sudy.bash
#!/bin/bash

whoami
echo "hi"
pwd

결과는 다음과 같습니다.

$ sudo ./sudy.bash
root
hi
/home/vagrant

whoami실행 파일을 내 /home/vagrant디렉터리에 복사하고 실행하면 다음과 같습니다 .

$ which whoami
/usr/bin/whoami

$ cp /usr/bin/whoami .

$ ll whoami
-rwxr-xr-x 1 vagrant vagrant 28984 Aug  5 00:23 whoami

내가 그것을 실행할 때 sudo:

$ sudo ./whoami
root

명령어를 찾을수 없음

이상하게도 이 메시지를 표시할 수 있는 유일한 방법은 sudo스크립트에서 실행 비트를 제거하는 것입니다 sudy.bash. 예를 들어:

$ chmod -x sudy.bash
나처럼 달리다
$ ./sudy.bash
-bash: ./sudy.bash: Permission denied
sudo를 통해 실행
$ sudo ./sudy.bash
sudo: ./sudy.bash: command not found

노트:Duplicates에서도 sudo ./whoami같은 일이 발생합니다 .

관련 정보