为什么安装软件包需要“/bin/false”?

为什么安装软件包需要“/bin/false”?

我正在ntp通过提供以下配置来安装包

useradd -c "Network Time Protocol" -d /var/lib/ntp -u 87 \
        -g ntp -s /bin/false ntp

上面的命令中/bin/false表示什么?

答案1

在这种情况下,总是从页面开始man

man useradd

-s, --shell SHELL:用户登录 shell 的名称。默认为保留此字段为空,这将导致系统选择 /etc/default/useradd 中的 SHELL 变量指定的默认登录 shell,或者默认为空字符串。

将用户的登录 shell 设置为/bin/false(或/usr/sbin/nologin)是另一种说法,表示用户无法以交互方式登录。

假设ntp不是物理用户,这对于只需要服务的帐户来说相当常见。

还要注意,这/bin/false是一个可执行文件(附带包),它除了在调用时以退出状态()1coreutils退出外,什么也不做。$?

另一点是,如果-d不需要该选项(创建主目录),您可以选择更安全的选项来创建系统用户帐户。

man useradd

-r, --system
           Create a system account.

相关内容