`adduser` 命令的 `--disabled-login` 和 `--gecos` 选项代表什么?

Pri*_*ate 32 command-line adduser

运行 Ubuntu 12.04,我设置了一个私有 git 服务器并创建了一个名为 git 的组。现在我正在遵循安装 gitlab 的指南,当涉及到将用户添加到 git 组并创建它时,我看到我已经有了它。

命令是这样的:

sudo adduser --disabled-login --gecos 'GitLab' git
Run Code Online (Sandbox Code Playgroud)

取自Gitlab 安装教程。

我想正确理解该命令。对我来说,我以为我将用户添加到这样的组中:

adduser user group
Run Code Online (Sandbox Code Playgroud)

那么做什么--disabled-login和--gecos代表什么?

Rad*_*anu 35

手册页上都写了!

在此处输入图片说明

您无需安装任何东西、在谷歌上搜索或连接互联网。只需打开您的终端,首先您必须运行以下命令:

man adduser
Run Code Online (Sandbox Code Playgroud)

打开adduser命令的手册页。

然后,在手册页类型:/--disabled-login其次Enter然后按重复n查找包含所有出现--disabled-login。对--gecos.

运气好的话你会发现:

--disabled-login
          Do not run passwd to set the password.  The user won't be able 
          to use  her  account until the password is set.
Run Code Online (Sandbox Code Playgroud)

和:

--gecos GECOS
          Set  the  gecos field for the new entry generated.  adduser will 
          not ask for finger information if this option is given.
Run Code Online (Sandbox Code Playgroud)

对于那些想知道 gecos 实际上是什么的人,维基百科将其定义如下:

gecos 字段或 GECOS 字段是 Unix 和类似操作系统上 /etc/passwd 文件中的一个条目。它通常用于记录有关帐户或其用户的一般信息,例如他们的真实姓名和电话号码。

  • 实际上,手册页中对 GECOS 的解释非常糟糕。这是它要求提供真实姓名、电话等的部分。 https://en.wikipedia.org/wiki/Gecos_field (47认同)
  • 这个答案并没有解释 gecos 是什么。我也是来找这个信息的。它也没有解释 --disabled-login 实际上并没有像男人暗示的那样禁用登录。它只是禁用通过密码登录。通常在为基于证书的 ssh 登录设置证书时使用。 (20认同)
  • 该死的从来不知道那种手册。谢谢你,先生。 (3认同)
  • 多么可怕的答案。我特意来到这里是因为手册页中没有充分解释 GECOS 选项的格式。 (2认同)

Rei*_*ein 9

--disabled-login,类似于--disabled-password,用于创建没有任何密码的用户帐户并避免提示输入密码。这是为了避免任何尝试git在您的 Git 服务器上登录。这样做的原因是你不应该直接登录它,你应该git只通过命令与它交互。

--gecos设置有关您正在创建的用户的附加信息(并且与 git 没有任何特别的事情要做)。这几天用得不多。如果您为帐户设置 gecos 值,其他用户可以使用该finger命令读取该信息,以便他们可以获得有关他/她/它的更多信息。您也可以使用chfn命令单独设置它。该--gecos开关后跟五个逗号分隔的值,用作有关用户的附加注释。这些值是:

  1. 全名
  2. 房间号
  3. 工作电话
  4. 家庭电话
  5. 其他

您可以省略任何值并跳过结尾,例如--gecos 'Donald Trump,3'可以工作,就像'Donald Trump,3,,,President'.

--gecos我想,您被要求使用该选项的主要原因是为了避免提示输入这些值,这些值现在很烦人而且没有多大意义,实际上可能存在安全风险。切勿将您的个人数据放在这里!

  • 有没有人有一个好的方法将其设置为默认值?啊,这很简单: `alias adduser='adduser --gecos ""'` (2认同)