我有理由不将/ usr / local / sbin,/ usr / sbin,/ sbin添加到Debian上的路径中吗?


25

比较Debian(左)和Ubuntu(右):

$ ifconfig                                 $ ifconfig
bash: ifconfig: command not found          eth0     Link encap ...
$ which ifconfig                           $ which ifconfig
$                                          /sbin/ifconfig

然后以超级用户身份:

# ifconfig                                 # ifconfig
eth0      Link encap ...                   eth0     Link encap ...
# which ifconfig                           # which ifconfig
/sbin/ifconfig                             /sbin/ifconfig

此外:

# ls -l /sbin/ifconfig                     # ls -l /sbin/ifconfig
-rwxr-xr-x 1 root root 68360 ...           -rwxr-xr-x 1 root root 68040 ...

在我看来,我无法ifconfig在Debian上拥有超能力而无法奔跑的唯一原因是,它不在我的路上。当我使用/sbin/ifconfig它确实有效。

有什么理由应该增加/usr/local/sbin:/usr/sbin:/sbin我在Debian上的工作吗?这是个人计算机,我是唯一的人类用户。


使用的版本(uname -a):
Ubuntu:

Linux ubuntu 3.13.0-51-generic #84-Ubuntu SMP Wed Apr 15 12:08:34 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Debian:

Linux debian 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u3 (2015-08-04) x86_64 GNU/Linux

伟大的问题-赞成:)顺便说一下,这是一些有关Debian决定不/usr/local/sbin:/usr/sbin:/sbin为普通用户设置默认PATH的历史。除了经验丰富的用户以外,Ubuntu的方法似乎对所有用户都更加友好。
sampablokuper

Answers:


27

Debian Policy中,Debian遵循文件层次结构标准 2.3版。该标准的注释#19表示:

确定将什么内容放入“ sbin”目录很简单:如果普通用户(不是系统管理员)直接运行它,则必须将其放在“ bin”目录之一中。普通用户不必在其路径中放置任何sbin目录。

例如,用户仅偶尔使用的诸如chfn之类的文件仍必须放在/ usr / bin中。ping,尽管这对于用户经常使用root(网络恢复和诊断)是绝对必要的,并且由于这个原因它必须位于/ bin中。

我们建议用户对/ sbin中的所有内容都具有读取和执行权限,但某些setuid和setgid程序除外。不是出于安全原因或为了防止用户看到操作系统而在/ bin和/ sbin之间创建分区,而是在每个人使用的二进制文件和主要用于管理任务的二进制文件之间提供良好的分区。为用户设置/ bin禁区没有固有的安全优势


简短答案:

有什么理由不应该增加/usr/local/sbin:/usr/sbin:/sbin我在Debian上的工作吗?

正如注释所指出的,没有理由不应该这样做。由于您是唯一使用该系统的人,并且您需要sbin目录中的二进制文件,请随时将它们添加到您的中$PATH。在这一点上,让我指导您一个很好的答案,如何正确地做到这一点。


4

不添加它们的唯一原因是,它会使命令的制表符完成速度变慢(因为搜索了更多目录)并且效率降低(因为更有可能来自那些对非root用户没有意义的命令进行虚假匹配) )。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.