it-swarm-eu.dev

Zakažte přihlášení uživatele bez deaktivace účtu

Řekněme, že vytvořím uživatele s názvem „falešný“ pomocí příkazu adduser. Jak se mohu ujistit, že tento uživatel NEBUDE realizovatelnou možností přihlášení, aniž by byl účet deaktivován. Stručně řečeno, chci, aby byl účet přístupný přes su - bogus, ale nechci, aby byl přístupný prostřednictvím řádného přihlašovacího řádku.

Při procházení kolem se zdá, že musím zakázat heslo tohoto uživatele, ale děláme passwd -d bogus nepomohlo. Ve skutečnosti to všechno zhoršilo, protože jsem se nyní mohl přihlásit k falešnému účtu, aniž bych dokonce zadal heslo.

Existuje způsob, jak zakázat pravidelné přihlášení pro daný účet?

Poznámka: Jednoduše řečeno, vím, jak odstranit uživatele z možností nabídky grafických přihlašovacích obrazovek, jako je gdm, ale tyto metody účet jednoduše skryjí, aniž by skutečně zakázaly přihlášení. Hledám způsob, jak úplně zakázat pravidelné přihlášení, včetně textového režimu.

92
Malabarba
passwd -l user

je to, co chcete.

To uzamkne uživatelský účet. Ale budete stále schopni

su - user

ale budete muset su - user jako root.

Stejně tak můžete dosáhnout toho, že předáte ! k uživatelskému heslu v /etc/shadow (to je vše passwd -l dělá v zákulisí). A passwd -u toto zruší.

105
Chad Feller

Manová stránka passwd(1) říká o passwd -l:

Upozorňujeme, že tím účet nezakážete. Uživatel se stále může přihlásit pomocí jiného autentizačního tokenu (např. Klíče SSH). Chcete-li účet deaktivovat, měli by administrátoři použít usermod --expiredate 1 (toto nastaví datum ukončení platnosti účtu na 2. ledna 1970).

Tak

usermod --expiredate 1 [LOGIN]

zdá se mi, že správný způsob, jak zakázat účet, který by uživatel již neměl používat (např. protože opustil společnost).

39

Existují dva způsoby, jak zabránit uživateli v přihlášení:

  1. můžete uživatele uzamknout úpravou /etc/passwd
  2. přímým vydáním příkazu passwd pomocí příkazu -l přepínač

Ve druhém případě se uživatel může přihlásit pomocí jiného autentizačního tokenu (např. SSH klíč).

Metoda # 1

  1. Najděte, kde je nologin:/bin/nologin nebo/bin/sbin/nologin
  2. Otevřete terminál a přihlaste se jako root
  3. Zadejte vi /etc/passwd

Nyní jste v passwd stisknutí souboru Ins k úpravě souboru.

Změňte spodní řádek pomocí možnosti nologin (/bin/bash znamená, že se uživatel může přihlásit).

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

k tomuto. nologin znamená, že se uživatel nemůže přihlásit.

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

(nebo s/bin/sbin/nologin)

  1. Zavřete vi Esc:wq

Metoda # 2

Zamknutí uživatele: passwd -l username

Odemčení uživatele: passwd -u username

28
Mansur Ul Hasan

Je to docela snadný úkol, který musíte jednoduše provést v /etc/passwd soubor.

Jednoduše musíte změnit Shell, což je obvykle výchozí /bin/bash I.e můžete se přihlásit pomocí tohoto Shell změnit na /bin/nologin nebo /bin/false. Je vhodné jej změnit na /bin/nologin protože /bin/false je zastaralé.

7
PRABHAT PARASHAR

Set /bin/false jako Shell in /etc/passwd

4
danadam

Když uzamkneme uživatele pomocí passwd -l user příkaz, "!! "jsou označeny v /etc/shadow soubor. Stále však můžeme přepnout na uživatelský účet Shell z kořenového účtu, ale nemůžeme jej přepnout na uživatelský účet jiným běžným uživatelem přihlašovacím Shell.

Můžeme také deaktivovat účet zadáním /bin/nologin nebo /bin/false in to /etc/passwd soubor. Uživatel se tedy nemusí přihlásit.

0
Sushil Musande