`ผู้ใช้ - ปิดการใช้งานเข้าสู่ระบบ` ทำอะไร?


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": ชื่อเต็มหมายเลขห้องโทรศัพท์ที่ทำงานโทรศัพท์บ้าน ฉันไม่รู้ว่าทำไมพวกเขาถึงมีอยู่ในรุ่นหนึ่ง แต่ไม่ใช่รุ่นอื่น คุณสามารถหาเอกสารเกี่ยวกับสิ่งนี้ได้ใน manpage ของchfnเครื่องมือ
Random832

นั่นทำให้รู้สึก ฉันบังเอิญเลือก 'y' เมื่อได้รับแจ้งให้ป้อนข้อมูลนั้นเมื่อฉันเพิ่มผู้ใช้คนใดคนหนึ่ง ผู้ใช้อื่นถูกเพิ่มผ่านหุ่นเชิด
spuder

คำตอบ:


17

คำอธิบายไม่ได้รับการบันทึกไว้อย่างดี

- ปิดการใช้งานเข้าสู่ระบบตั้งรหัสผ่าน !

ค่ารหัสผ่าน

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

วิกิพีเดียครอบคลุมเรื่องนี้สั้น ๆ ปรากฏว่า * และ! ทำสิ่งเดียวกันได้อย่างมีประสิทธิภาพ ป้องกันผู้ใช้จากการเข้าสู่ระบบ (แต่ไม่ได้จาก su'ing จากผู้ใช้อื่น)


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.

ขึ้นอยู่กับเวอร์ชันของ man page ของคุณเพื่อ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.