背景:
PATH环境变量指定在未指定路径的情况下发出命令时要搜索的目录. “sbin”路径(/ sbin,/usr/sbin)用于存放管理实用程序,因此许多* nix发行版在PATH的默认设置中不包含这些目录.也就是说,在许多情况下,非管理帐户合法地需要访问这些实用程序,并且必须指定完整路径或修改其PATH变量才能这样做.此任务相对容易执行,但对于新用户来说可能很麻烦.更糟糕的是,当您涉及PAM,sudo,ssh和其他与之交互并且有时会修改PATH设置的实用程序时,会遇到更多难题.搜索这个网站或整个互联网会产生许多这些问题的样本,这些问题会影响到新老用户.
问题:
有了上述背景,是否有充分的理由不将sbin目录添加到默认PATH? (可能是通过/ etc / profile,/ etc / profile.d或等效的)
我认为“好”是主观的,但在我看来,这里有一些不成水的理由.也许你不同意?
不好的理由:
>安全
>提升权限和保存实用程序的目录与世界可访问的目录(r-x)无关.一个默默无闻的说法可能是,足够不熟练的坏人找不到“隐藏”的公用事业,但这将是一个可悲的透明窗帘.
>命名空间
>有人可能会争辩说,用户可能想要编写自己的reboot命令,他们通过自己的自定义目录访问这些命令,并将其添加到PATH中,而sbin目录中的系统默认值将胜过他们的配置.这是一个极端情况,并且有问题的用户已经了解了PATH的含义,并且可以修改他们的配置以在序列中使用他们的目录.
>标准
>这绝不是对文件系统层次结构标准的更改;实用程序仍然根据其功能组织到其目录中.
>没有解决问题,因为“我们习惯于遇到这个问题”很愚蠢.