我读到使用echo $PATH
, 对于非 root 用户应该类似于:
/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/username/bin:
我读到使用echo $PATH
, 对于 ROOT 用户应该类似于:
/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin
当我输入 时echo $PATH
,我得到:
/home/uname/bin:/home/uname/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
这看起来应该是 root 用户的输出。这是我应该关注的事情吗,例如我的目录中有一个“恶意可执行程序”,在我没有启动 root 访问权限时提供(未经授权的远程)root 访问权限?
虽然不太可能是“恶意”攻击,但 PATH 是您应该关注的问题。让我们考虑一下 PATH 中的目录:
我有两个意见:
因为
/home/uname/bin
和home/uname/.local/bin
是 PATH 中列出的第一个目录,所以那里的可执行文件可能会覆盖标准系统可执行文件。可能有人认为此类可执行文件优于标准可执行文件。然而,这些可执行文件与标准可执行文件之间的任何不兼容都可能在令人惊讶的时刻很容易导致脚本失败。可以肯定的是,将这些目录放在 PATH 的开头并不罕见并且很有用。你应该意识到潜在的不利因素。
如您所知,像
/usr/local/sbin
、/usr/sbin
和之类的目录/sbin
通常只对 root 有用。虽然将它们放在您PATH
的 .