`adduser --disabled-login`は何をしますか?

`adduser --disabled-login`は何をしますか?

私が従うインストールドキュメントでは、次のようにユーザーを追加するように指示します。

sudo adduser --disabled-login --gecos 'GitLab' git

--disabled-loginそのフラグは、私が検索したほとんどのマニュアルページにはありません。

--disabled-loginfoo)を持つユーザーと()を持たない2人のユーザーを作成しましたgit

私が知る限り、この--disabled-loginフラグは何もしません。私はまだsu両方のユーザーにアクセスでき、両方のユーザーはそれを/bin/bashログインシェルとして使用します。

私が見ることができる唯一の違いは、getent passwdログインを無効にするユーザーのホームフォルダの前に追加のコンマがあることです。持つ文書なしこれが何を意味するかを示すためにそれを見つけることができます。

root@gitlab:~# getent passwd git
git:x:998:998:GitLab:/home/git:/bin/bash  

root@gitlab:~# getent passwd foo
foo:x:1001:1002:GitLab,,,:/home/foo:/bin/bash

アップデート#1

別の違いを見つけました。あるユーザーの*パスワードはaで、他のユーザーのパスワードは次のとおりです!

root@gitlab:~# getent shadow git
git:*:15998::::::
root@gitlab:~# getent shadow foo
foo:!:15998:0:99999:7:::

--disabled-loginUbuntuでは正確に何が起こりますか?

ベストアンサー1

説明がよく文書化されていません。

--disabled-login パスワードを次に設定!

パスワード値

NP or null = The account has no password
*  = The account is deactivated & locked
!  = The login is deactivated, user will be unable to login
!!  = The password has expired

はい

root@gitlab:~# getent shadow vagrant
vagrant:$6$abcdefghijklmnopqrstuvwxyz/:15805:0:99999:7:::

root@gitlab:~# getent shadow foo
foo:!:15998:0:99999:7:::

root@gitlab:~# getent shadow git
git:*:15998::::::

ウィキペディアこれについて簡単に説明します。 *と!は効果的に同じことをするようです。 (ただし、他のユーザーがログインするのを防ぐことはできません。)

おすすめ記事