为什么有些系统用户使用/usr/bin/false作为shell?

一旦开始深入研究Linux系统,您可能会发现一些令人困惑或意想不到的事情,例如/usr/bin/false。它为什么在那里?它的目的是什么?今天的超级用户问答帖子回答了一位好奇读者的问题。...

为什么有些系统用户使用/usr/bin/false作为shell?

一旦开始深入研究Linux系统,您可能会发现一些令人困惑或意想不到的事情,例如/usr/bin/false。它为什么在那里?它的目的是什么?今天的超级用户问答帖子回答了一位好奇读者的问题。

今天的问答环节是由SuperUser提供的,SuperUser是Stack Exchange的一个分支,是一个由社区驱动的问答网站分组。

问题

超级用户读者user7326333想知道为什么一些系统用户使用/usr/bin/false作为shell:

Why do some system users have /usr/bin/false as their shell? What does that mean?

为什么有些系统用户使用/usr/bin/false作为shell?

答案

超级用户贡献者杜德,托比·斯佩特,和BBaasssiee为我们提供了答案。首先,伙计:

This helps to prevent users from logging onto a system. Sometimes you need a user account for a specific task. Nevertheless, no one should be able to interact with this account on the computer. These are, on one hand, system user accounts. On the other hand, this is an account for which FTP or POP3 access is possible, but just no direct shell login.

If you look more closely at the /etc/passwd file, you will find the /bin/false command as a login shell for many system accounts. Actually, false is not a shell, but a command that does nothing and then also ends with a status code that signals an error. The result is simple. The user logs in and immediately sees the login prompt again.

接下来是托比·斯佩特的回答:

These users exist to be the owner of specific files or processes and are not intended to be login accounts. If the value of the “shell” field is not listed in /etc/shells, then programs such as FTP daem*** do not allow access. Additionally, for programs that do not check /etc/shells, they make use of the fact that /bin/false will immediately return and deny an interactive shell.

BBaasssiee最后的回答是:

Some users have /usr/bin/false, others have /**in/nologin, or they may even have /usr/bin/passwd. They can either be system users that are needed to isolate program permissi*** or human users of programs that use the password files for authentication.


有什么要补充的解释吗?在评论中发出声音。想从其他精通技术的Stack Exchange用户那里了解更多答案吗?在这里查看完整的讨论主题。

图片来源:OpenStack文档(OpenStack项目)

  • 发表于 2021-04-08 05:49
  • 阅读 ( 121 )
  • 分类:互联网

你可能感兴趣的文章

使用简单的shell脚本修复html格式

... 为什么使用shell脚本?如果你是编程新手,从小事做起会更好。不仅你不太可能放弃,而且你还有机会停下来学习。也就是说,你的第一个程序可以非常有用,即使它们也...

  • 发布于 2021-03-13 00:12
  • 阅读 ( 237 )

什么是shell脚本,为什么要使用它

shell是Linux或Unix操作系统中的一个程序,它允许您输入命令供系统执行。当在linux计算机上打开终端窗口时,它启动shell程序,该程序提供一个输入命令的界面。此接口称为命令行接口。输入命令后,shell将执行该命令,并在屏幕...

  • 发布于 2021-03-13 04:53
  • 阅读 ( 248 )

在linux中,“bash”是什么意思?

...应用程序,Bash还是一种脚本语言。实际上,您的Linux操作系统在启动过程中使用了许多Bash脚本来启动各种进程。 ...

  • 发布于 2021-03-28 13:14
  • 阅读 ( 452 )

哪个linux shell最好?比较了5种常见的贝壳

... 因此,shell是您与操作系统(OS)交互的接口。当您在shell中输入命令时,它负责解释这些命令并实现这些神奇的效果。复制文件、管道、列表文件等操作都在shell的职权范围内。 ...

  • 发布于 2021-03-30 18:45
  • 阅读 ( 372 )

如何使用受限shell来限制linux用户可以做什么

...临时用户设置安全边界,但不要依赖受限shell来实现生产系统的任何真实安全。 相关:Bash、Zsh和其他Linux shell之间有什么区别? 限制重击 当您将Bash作为受限shell运行时,用户将从中删除一些功能。具体来说,用户不能: 使用cd...

  • 发布于 2021-03-31 10:57
  • 阅读 ( 387 )

如何使用chsh在linux上更改默认shell

...使用chsh命令将其设置为默认shell。我们会教你怎么做。 为什么贝壳很重要 shell位于您和操作系统之间。它在终端窗口内提供环境,允许您键入命令和运行程序。shell检查您的输入并找出您想要的内容。如果它能执行你的出价本...

  • 发布于 2021-04-02 06:04
  • 阅读 ( 338 )

如何在linux上的bash中设置环境变量

...所以,自然地,它们被称为环境变量。 一些环境变量是系统范围的,或者是全局的。其他人是全会,只能由你看到。其他人无法引用您的会话环境变量。在shell中定义了第三组环境变量。您的区域设置、时区和键盘设置、shell尝...

  • 发布于 2021-04-02 06:44
  • 阅读 ( 221 )

如何在linux上使用cd命令

...尾随的正斜杠,这样就可以重复制表符完成过程。这也是为什么第一个命令后面有一个正斜杠。第二张没有,因为那张是打出来的。 您可以使用波浪号(~)作为从文件系统中任意位置快速返回主目录的速记方式;只需键入以下...

  • 发布于 2021-04-02 08:58
  • 阅读 ( 173 )

如何在macos catalina上将默认shell更改为bash

...行以下命令,可以看到包含的shell列表: cat /etc/shells 从系统首选项 如果愿意,还可以从系统首选项以图形方式更改此选项。 前往Mac上的系统首选项>用户和组。单击锁定图标并输入密码。按住Ctrl键,在左窗格中单击您的用户...

  • 发布于 2021-04-03 01:32
  • 阅读 ( 201 )

命令行:为什么人们还在为它们烦恼?

...计算机,或控制无头或嵌入式系统等明显的锁定情况外,为什么要在图形桌面上使用命令行? 行话解释 命令行、终端窗口和shell等术语几乎可以互换使用。那是不正确的行话。他们都很不一样。他们是有关系的,但他们不是一...

  • 发布于 2021-04-03 05:30
  • 阅读 ( 183 )
vjowekughn075
vjowekughn075

0 篇文章

相关推荐