linux添加理由,linux – 有没有理由不将sbin添加到默认PATH?

背景:

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的含义,并且可以修改他们的配置以在序列中使用他们的目录.

>标准

>这绝不是对文件系统层次结构标准的更改;实用程序仍然根据其功能组织到其目录中.

>没有解决问题,因为“我们习惯于遇到这个问题”很愚蠢.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当您在Linux系统中安装Nginx但找不到`sbin`目录时,这可能是因为Nginx的安装包没有默认将可执行文件放置在传统的`/sbin`位置,而是选择了一个不同的位置。Nginx通常会将sbin(system binary)目录包含在其自定义的安装路径中,例如`/usr/local/nginx/sbin`或`/opt/nginx/sbin`,特别是在使用自定义安装或者非标准软件包管理器(如Apt、Yum之外的)时。 有几个可能的原因: 1. **非标准安装**:如果使用了非标准的安装方法,比如手动下载源代码并编译,或者使用了特定的包管理工具(如`nginx-extras`),Nginx可能会被安装到非传统路径。 2. **配置文件**:检查`nginx.conf`或其他配置文件中的`sbin_path`或`prefix`变量,以确定Nginx实际查找sbin的路径。 3. **软件包管理**:某些发行版(如Debian或Ubuntu的`nginx`包)可能会将其可执行文件放在其他位置,如`/usr/bin`。 4. **更新或重新安装**:如果你之前安装过Nginx然后进行了更新或卸载,新的安装可能没有保留旧的sbin目录。 为了解决这个问题,你可以按照以下步骤操作: - **检查安装位置**:通过`which nginx`命令找到Nginx的实际可执行文件路径。 - **修改配置**:如果需要,可以在`nginx.conf`中更改`sbin_path`。 - **软链接**:如果sbin文件在预期位置,但`/sbin`目录不存在,可以创建一个软链接指向正确的路径。 - **更新权限**:确保Nginx可执行文件的权限正确,以便系统用户可以访问。 相关问题: 1. Nginx的sbin文件默认会在哪个位置寻找? 2. 如何查看Nginx的安装路径? 3. 如何通过配置文件修改sbin路径?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值