Отключите вход в систему пользователя, не отключая учетную запись

Существуют случаи, где даже при отправке уничтожения-9 в процесс тот pid остановится, но перезапуски процесса автоматически (например, при попытке его gnome-panel, это перезапустит): это могло иметь место здесь?

90
25.08.2011, 00:44
8 ответов
passwd -l user

то, что Вы хотите.

Это заблокирует учетную запись пользователя. Но Вы все еще сможете

su - user

но Вы будете иметь к su - user как корень.

С другой стороны, можно выполнить то же самое путем предварительного ожидания a ! к паролю пользователя в /etc/shadow (это - все passwd -l делает негласно). И passwd -u отменит это.

104
27.01.2020, 19:30
  • 1
    При помощи passwd -l опция необходимо знать, что пользователь мог войти в использование другого аутентификационного маркера (например, ключ SSH). –  pl1nk 20.02.2013, 18:42
  • 2
    См. мой ответ ниже на рекомендуемом решении о том, как избежать этого. спасибо –  Jörg Gottschlich 29.10.2014, 17:58
  • 3
    Это не работает над человечностью 16.04. Это изменит истечь дату и не позволит su - пользователь больше. –  merlin 07.02.2017, 19:09
  • 4
    Это то же как --disabled-password опция, данная adduser? Делает создание пользователя без --disabled-password и затем выполнение passwd -l на том пользователе достигают того же результата как выполнение adduser с --disabled-password во-первых? –  haridsv 16.04.2018, 12:18

Набор /bin/false как оболочка в /etc/passwd

4
27.01.2020, 19:30
  • 1
    Когда каждый устанавливает оболочку на /bin/false, каждый предотвращает использование su для действия как тот пользователь. Кроме того, использование /bin/false не производит ошибки, ни другой подсказки того, что просто пошло не так, как надо - в случаях, где каждый действительно хочет предотвратить даже su от того, чтобы быть используемым получить оболочку как тот пользователь, оболочка должна быть изменена на /sbin/nologin который действительно производит ошибку. –  HedgeMage 24.08.2011, 19:22
  • 2
    Нет, su все еще возможно для пользователей с /bin/false оболочки в passwd - просто используйте опцию --shell: su - --shell /bin/sh bogus. Верный –  Matej Kovac 27.02.2014, 11:56
  • 3
    /usr/sbin/nologin имеет тот же эффект как /bin/false, но также и показывает полезное информационное сообщение. адреса –  Rörd 31.01.2018, 17:20

Существует два метода для предотвращения пользователя от способности войти в систему:

  1. можно заблокировать пользователя путем редактирования /etc/passwd
  2. путем прямого издания passwd команда с -l переключатель

Во втором случае пользователь может войти в использование другого аутентификационного маркера (например, ключ SSH).

Метод № 1

  1. Найдите, где nologin:/bin/nologin или/bin/sbin/nologin
  2. Откройте терминал и вход в систему как корень
  3. Ввести vi /etc/passwd

Теперь Вы находитесь в passwd файл нажимает Ins для редактирования файла.

Изменитесь ниже строки с nologin опция (/bin/bash означает, что пользователь может войти в систему).

root:x:0:0:root:/root:/bin/bash

к этому. nologin означает, что пользователь не может войти в систему.

root:x:0:0:root:/root:/bin/nologin

(или с/bin/sbin/nologin)

  1. Закройте vi Esc: wq

Метод № 2

Заблокировать пользователя: passwd -l username

Разблокировать пользователя: passwd -u username

28
27.01.2020, 19:30
  • 1
    В системе Ubuntu 14.04 я нашел /usr/sbin/nologin вместо /bin/nologin. –  Paused until further notice. 11.10.2014, 02:25

На странице руководства passwd (1) говорится о passwd -l :

Обратите внимание, что это не отключает учетную запись. Пользователь по-прежнему может иметь возможность войти в систему, используя другой токен аутентификации (например, ключ SSH ). Чтобы отключить учетную запись, администраторы должны использовать usermod --expiredate 1 (при этом срок действия учетной записи устанавливается на 2 января 1970 г.).

Так что

usermod --expiredate 1 [LOGIN]

мне кажется правильным способом отключить учетную запись, которую пользователь больше не может использовать (например, из-за того, что он покинул компанию).

39
27.01.2020, 19:30

Его довольно простая задача, вам просто нужно внести некоторые изменения в файл /etc/passwd.

Просто нужно изменить оболочку, которая по умолчанию /bin/bash, т.е. вы можете войти, используя эту оболочку, изменить ее на /bin/nologin или /bin/false. Рекомендуется изменить его на /bin/nologin, поскольку /bin/false устарел.

7
27.01.2020, 19:30

Когда мы блокируем пользователя с помощью команды passwd -l user, в файле /etc/shadowуказывается «!!». Но мы все еще можем переключиться на пользовательскую оболочку из учетной записи root, но не можем переключиться на учетную запись пользователя с помощью другой оболочки входа в систему обычных пользователей.

Мы также можем отключить учетную запись, указав /bin/nologinили /bin/falseв файле /etc/passwd. Таким образом, пользователь не сможет войти в систему.

0
27.01.2020, 19:30

Вы можете использовать команду

usermod -s /sbin/nologin username
-1
27.01.2020, 19:30

Предположим, вы хотите начать с новой учетной записи пользователя:

sudo adduser --no-create-home --disabled-password --disabled-login <uname>

С usermod --expiredate 1 <uname>у меня возникла проблема, что эту учетную запись больше нельзя использовать ни для чего (, например. для входа в Samba ). Мой случай использования -заключался в том, что я хочу отключить все функции для ssh, обычных,... входов в систему, но по-прежнему использовать его как пользователя Samba.

1
08.01.2021, 19:29

Теги

Похожие вопросы