Допустим, я создал пользователя с именем «фиктивный» с помощью adduser
команды. Как я могу убедиться, что у этого пользователя НЕ будет жизнеспособной опции входа в систему, без отключения учетной записи. Короче говоря, я хочу, чтобы учетная запись была доступна через su - bogus
, но я не хочу, чтобы она была доступна через обычное приглашение входа в систему.
В поисках, кажется, мне нужно отключить пароль этого пользователя, но это passwd -d bogus
не помогло. На самом деле, все стало еще хуже, потому что теперь я мог войти в фальшивку, даже не вводя пароль.
Есть ли способ отключить регулярные входы в систему для данной учетной записи?
Примечание. Просто чтобы прояснить ситуацию, я знаю, как удалить пользователя из пунктов меню графических экранов входа в систему, таких как gdm, но эти методы просто скрывают учетную запись, фактически не отключая вход в систему. Я ищу способ полностью отключить обычный вход в систему, включая текстовый режим.
источник
-d
флаг для удаления пароля. Это отличается от его отключения (упоминается как блокировка, см. Ответ Чада).Ответы:
это то, что вы хотите.
Это заблокирует учетную запись пользователя. Но вы все равно сможете
но вам придется
su - user
как root.В качестве альтернативы, вы можете сделать то же самое, добавив
!
пароль к паролю пользователя/etc/shadow
(это всеpasswd -l
делает за кулисами). Иpasswd -u
отменит это.источник
passwd -l
опцию, вы должны знать, что пользователь может войти в систему, используя другой токен аутентификации (например, ключ SSH).--disabled-password
опцияadduser
? Достигает ли создание пользователя без него,--disabled-password
а затем работаетpasswd -l
на нем того же результата, что и работаadduser
с--disabled-password
первым?Страница руководства
passwd(1)
говорит оpasswd -l
:Так
мне кажется правильным способом отключить учетную запись, которую пользователь больше не сможет использовать (например, потому что он покинул компанию).
источник
passwd -l
блокируетssh
соединение для пользователя, иusermod --expiredate 1
нет!passwd -l
больше не блокируетssh
соединения для пользователя, аusermod --expiredate 1 user
блокирует. Заman passwd
вы также можете использовать,chage -E 0 user
чтобы заблокировать пользователя. После подачи заявкиusermod
илиchage
я могуsudo su user
usermod --expiredate 0 [LOGIN]
также работает, он устанавливает дату истечения срока до 1 января 1970 года, тогда как 1 устанавливает это до 2 января 1970 года.Существует два способа запретить пользователю вход в систему:
/etc/passwd
passwd
команду с-l
переключателемВо втором случае пользователь может войти в систему, используя другой токен аутентификации (например, ключ SSH).
Способ № 1
vi /etc/passwd
Теперь вы находитесь в
passwd
файле нажмите, Insчтобы редактировать файл.Измените строку ниже с
nologin
параметром (/bin/bash
означает, что пользователь может войти в систему).к этому.
nologin
означает, что пользователь не может войти в систему.(или с / bin / sbin / nologin)
Способ № 2
Чтобы заблокировать пользователя:
passwd -l username
Чтобы разблокировать пользователя:
passwd -u username
источник
/usr/sbin/nologin
вместо/bin/nologin
.Это довольно простая задача, вам просто нужно внести некоторые изменения в
/etc/passwd
файл.Просто вы должны изменить оболочку, которая обычно используется по умолчанию,
/bin/bash
т.е. вы можете войти в систему, используя эту оболочку, изменив ее на/bin/nologin
или/bin/false
. Желательно, чтобы изменить его,/bin/nologin
потому что/bin/false
устарел.источник
Установить
/bin/false
как оболочку в/etc/passwd
источник
/bin/false
, вы не можете использовать su, чтобы действовать как этот пользователь. Кроме того, использование не/bin/false
приводит ни к ошибке, ни к другому намеку на то, что просто пошло не так - в тех случаях, когда кто-то хочет запретить использование даже su для получения оболочки от имени этого пользователя, оболочка должна быть заменена на/sbin/nologin
ошибку, вызывающую ошибку.su
это еще возможно для пользователей/bin/false
оболочекpasswd
- просто используйте опцию--shell
:su - --shell /bin/sh bogus
./usr/sbin/nologin
имеет тот же эффект/bin/false
, что и полезное информационное сообщение.Когда мы блокируем пользователя с помощью
passwd -l user
команды,!!
в/etc/shadow
файле указывается «» . Но мы все еще можем переключаться на пользовательскую оболочку из учетной записи root, но не можем переключаться на учетную запись пользователя с помощью оболочки входа других обычных пользователей.Мы также можем отключить учетную запись, предоставив
/bin/nologin
или/bin/false
в/etc/passwd
файл. Таким образом, пользователь не может войти в систему.источник
Вы можете использовать команду
источник