Установочный документ, которому я следую, дает указание добавить пользователя следующим образом:
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
на Ubuntu?
chfn
инструмента.Ответы:
Объяснение не очень хорошо документировано.
--disabled-login устанавливает пароль на
!
Значения пароля
Примеры
Википедия кратко описывает это. Похоже, что * и! эффективно делать то же самое; запретить пользователю входить в систему (но не получать права от другого пользователя)
источник
Это частично обсуждается здесь, на
shadow
странице руководства .выдержка
В зависимости от вашей версии
adduser
справочной страницы на нее есть ссылки.Отрывок страница людей AddUser
источник