Ř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.
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ší.
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).
Existují dva způsoby, jak zabránit uživateli v přihlášení:
/etc/passwd
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
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)
Metoda # 2
Zamknutí uživatele: passwd -l username
Odemčení uživatele: passwd -u username
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é.
Set /bin/false
jako Shell in /etc/passwd
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.