В OS X можно иметь пользователей без паролей. Если вы осмотрите их сdscl
их паролем, отображаются как *
. Это используется для системных пользователей , таких как пользователи для баз данных , таких как mysql
, и pgsql
т.д. Что приятно об этом заключается в том , что эти пользователи не отображается на экране входа в систему, и вы не можете войти в них без и sudo
т.д.
После удаления такого пользователя, пробующего что-то, я захотел воссоздать его, но не смог. Мне удалось получить пользователя с пустым паролем, и я мог установить пароль *
. Но ни один из них не имел такого же эффекта, как указано выше, поскольку пользователь появился на экране входа в систему.
Как вы создаете такого пользователя?
useradd
начинается добавление идентификаторов на 1000, и менеджеры входа в систему не будут показывать идентификаторы пользователей ниже этого, но все выше. так что, хотя это не ответ на этот вопрос, это может быть решением проблемы. обратите внимание, что 1000 является произвольным и может быть ниже или выше в вашем дистрибутиве. Чтобы исправить это, просто измените пользовательскую запись,/etc/passwd
чтобы иметь более низкий uid. Теперь мне нужно задать аналогичный вопрос.Ответы:
Вы можете запустить
passwd --delete <username>
после создания пользователя сadduser
. После этого вы сможете войти без ввода пароля.источник
Пользователь в / etc / passwd с домашним каталогом / dev / null и оболочкой / sbin / nologin, может использоваться для выполнения команд sudo, но на самом деле он не может войти в систему, например;
из моего / etc / passwd
Я наполовину помню, что это заставит его исчезнуть с экрана входа в XDM, но я больше не использую XDM, так что это предположение :-)
источник
Вы можете использовать
usermod
, который будет отключать пароль, используя!
вместо*
.Со страницы руководства на usermod:
источник
Использование
dscl
дало быисточник
Я не могу быть уверен в OSX, но во FreeBSD вы можете использовать:
значение,
-
переданное-h
параметру, указываетpw
установить поле пароля в master.passwd*
, создавая таким образом учетную запись без регистрации. Установка оболочки не является строго необходимой, но избегает проверки оболочки из /etc/pw.conf.источник
Оставив поле пароля пустым для пользователя в
passwd
файле будет работать.источник
Если вы находитесь в Ubuntu, вы можете поменять пароль для пользователя Ubuntu в / etc / shadow, ознакомьтесь с этой статьей:
http://www.psychocats.net/ubuntucat/creating-a-passwordless-account-in-ubuntu/
источник
В Linux я использую:
Следующая альтернатива должна быть более кроссплатформенной (если
-r
опция недоступна):Вот:
пароль в / etc / shadow будет установлен на
*
. Без-p \*
этого будет!
Оболочка будет
/sbin/nologin
(вы можете использовать/bin/false
тоже, но я думаю, что/bin
может быть установлен слишком поздно на некоторых системах). Пользователь не может войти-d
устанавливает домашний каталог пользователяВАЖНАЯ ЗАМЕТКА
Здесь
-r
создается системный пользователь:Этот флаг используется для создания системной учетной записи. То есть, пользователь со значением,
UID
меньшим, чем значение,UID_MIN
определенное в /etc/login.defs, и пароль которого не имеет срока действия. Обратите внимание, что useradd не создаст домашний каталог для такого пользователя, независимо от значения по умолчанию в /etc/login.defs . Вы должны указать-m
опцию, если вы хотите создать домашний каталог для системной учетной записи. Это опция, добавленная Red Hat .Опция
-r
может отсутствовать в вашей системе. Поэтому для создания системного пользователя, который не отображается на экране входа в систему, я думаю, вы можете использовать-K
опцию. Что - то вроде:-K UID_MIN=100 -K UID_MAX=499
. Вы можете попробовать вариант как:чтобы автоматически определить вас
UID_MAX
, но я не тестировал на OS X. Вам нужно использоватьSYS_UID_MAX
для,UID_MIN
если это не комментируется в /etc/login.defsТо же самое для
GID_MAX
иGID_MIN
для системного идентификатора группы. (См.GID_MIN
И если раскомментированоSYS_GID_MAX
в /etc/login.defs использовать какGID_MAX
)источник