`adduser --disabled-login` ne yapar?


16

Takip ettiğim bir yükleme belgesi, aşağıdaki gibi bir kullanıcı eklemenizi ister:

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

--disabled-loginBayrak Ben araştırdım en adam sayfalarından yoktur.

Biri --disabled-login( foo) ve diğeri ( git) olmayan iki kullanıcı yaptım .

--disabled-loginBayrağın hiçbir şey yapmadığını söyleyebildiğim kadarıyla . Ben hala suher iki kullanıcı için de, ve her ikisi /bin/bashde kendi giriş kabuk olarak kullanabilirsiniz .

Görebildiğim tek fark getent passwd, oturum açma devre dışı bırakılmış kullanıcı üzerindeki ana klasörden önce fazladan virgül bulunması. Orada hiçbir belge bu ne anlama geldiğini belirtmek için bulabilir.

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

GÜNCELLEME # 1

Başka bir fark buldum, bir kullanıcının *kendi şifresi var, diğeri var !:

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

--disabled-loginUbuntu'da tam olarak ne yapar ?


Kayıt için, ek virgüller "gecos" alanındaki alanları ayırır: tam ad, oda numarası, iş telefonu, ev telefonu. Neden bir versiyonda, diğerinde olmasalardı bilmiyorum. Bununla ilgili belgeleri chfnaracın kılavuzunda bulabilirsiniz .
Random832

Mantıklı. Kullanıcılardan birini eklediğimde bu bilgileri girmem istendiğinde yanlışlıkla 'y' seçtim. Diğer kullanıcı kukla ile eklendi.
spuder

Yanıtlar:


17

Açıklama iyi belgelenmemiştir.

--disabled-login parolayı şu şekilde ayarlar: !

Şifre değerleri

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

Örnekler

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::::::

wikipedia kısaca bunu kapsar. Görünüşe göre * ve! aynı şeyi etkili bir şekilde yapın; kullanıcının giriş yapmasını engelle


3

Burada kısmen shadowman sayfasında tartışılmaktadır .

alıntı

$ man shadow
...
...
encrypted password
     Refer to crypt(3) for details on how this string is interpreted.

     If the password field contains some string that is not a valid result of 
     crypt(3), for instance ! or *, the user will not be able to use a unix
     password to log in (but the user may log in the system by other means).

     This field may be empty, in which case no passwords are required to 
     authenticate as the specified login name. However, some applications which
     read the /etc/shadow file may decide not to permit any access at all if the
     password field is empty.

     A password field which starts with a exclamation mark means that the 
     password is locked. The remaining characters on the line represent the 
     password field before the password was locked.

Man sayfası sürümünüze bağlı olarak bu sayfaya yönlendirilir adduser.

alıntı adduser man sayfası

--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.

--disabled-password
       Like --disabled-login, but logins are still possible (for  exam-
       ple using SSH RSA keys) but not using password authentication.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.