`adduser --disabled-login`은 무엇을합니까?


16

내가 따르는 설치 문서는 다음과 같이 사용자를 추가하도록 지시합니다.

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

--disabled-login플래그는 내가 검색 한 대부분의 사람이 페이지에서 존재하지 않는다.

두 명의 사용자를 만들었습니다. 한 명은 --disabled-login( foo)을 사용하고 다른 한 명은 ( 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

다른 차이점을 발견했습니다. 한 사용자는 *자신의 암호로, 다른 사용자는 다음 과 !같습니다.

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

--disabled-login우분투에서 정확히 무엇을 합니까?


레코드의 경우 추가 쉼표는 "gecos"필드 내의 필드 (이름, 방 번호, 회사 전화 번호, 집 전화 번호)를 구분합니다. 나는 왜 그들이 다른 버전이 아닌 한 버전으로 존재할지 모르겠습니다. chfn도구 맨 페이지에서 이에 대한 설명서를 찾을 수 있습니다 .
Random832

말이 되네요 사용자 중 하나를 추가 할 때 해당 정보를 입력하라는 메시지가 표시되면 실수로 'y'를 선택했습니다. 다른 사용자는 꼭두각시를 통해 추가되었습니다.
spuder

답변:


17

설명이 잘 설명되어 있지 않습니다.

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

wikipedia에서 간단히 설명합니다. * 및! 효과적으로 같은 일을; 사용자가 로그인하지 못하도록 방지합니다 (그러나 다른 사용자로부터 로그인하지는 않음)


3

shadow매뉴얼 페이지 에서 부분적으로 논의됩니다 .

발췌

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

매뉴얼 페이지의 버전에 따라 adduser참조됩니다.

발췌 adduser 매뉴얼 페이지

--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.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.