须藤:./:从安装的文件夹运行时找不到命令

须藤:./:从安装的文件夹运行时找不到命令

https://stackoverflow.com/questions/12996397/command-not-found-when-using-sudo正是我正在寻找的东西,但没有一个答案对我有用。我正在使用 Arch Linux。我正在尝试在当前工作目录中运行命令

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

笔记:复制的sudo ./whoami也会发生同样的情况。

相关内容