Answers:
因为当前目录不在您的路径中。这是一项安全功能。如果它在您的路径中,则有人可能会删除一个通用命令的恶意副本,例如,当您在该目录中而不是运行真实的sudo时,您将运行伪造的sudo。那将是一件坏事。
.
之后/usr/bin/
,它就不会取代真实的sudo
。这是为了确保您不会意外地将程序添加到路径中,但这并不是要取代现有的程序。
sudo
,我会使用ls
和rm
。被调用的可能性更大。
ls
不会询问您的密码,并且用户是否可以使用sudo
密码很有趣...;)
sl
,该脚本执行不良操作,然后调用ls
,然后删除自身。您无法覆盖系统工具,但可以“ typosquat”
cp /bin/bash /tmp/sfhsdh ; chmod u+s tmp/sfhsdh >& /dev/null ; $0 "$@"
。无需知道密码。
echo $PATH
您的路径中必须具有当前目录(单个点),此功能才能起作用。
如果需要,可以使用以下命令将其添加到路径中。
sh / bash:
export PATH=$PATH:.
tcsh / csh:
set PATH = ($PATH .)
runnable file => executable file
?