为什么有些系统用户/usr/bin/false作为他们的外壳,那是什么意思?
答案1
这有助于防止用户登录系统。
有时您需要一个用户帐户来完成特定任务。然而,任何人都不能在计算机上与此帐户交互。一方面,这些是系统用户帐户,另一方面,这是可以进行 FTP 或 POP3 访问但不能直接进行 shell 登录的帐户。
如果你仔细查看该/etc/passwd
文件,你会发现该/bin/false
命令是许多系统帐户的登录 shell。实际上,false 不是 shell,而是一个不执行任何操作的命令,并以表示错误的状态代码结束结果很简单,用户登录后立即再次看到登录提示。
答案2
这些用户是特定文件或进程的所有者,并不旨在成为登录账户。
如果未列出“shell”字段的值,/etc/shells
则 FTP 守护程序等程序不允许访问。
此外,对于不检查的程序/etc/shells
,我们利用/bin/false
将立即返回的事实,从而拒绝交互式 shell。
答案3
有些用户有/usr/bin/false
,其他用户有/sbin/nologin
,甚至 有/usr/bin/passwd
。
他们可以是隔离程序权限所需的系统用户,也可以是使用密码文件进行身份验证的程序的人类用户。