it-swarm-eu.dev

Jak úplně deaktivuji účet?

Jak úplně deaktivuji účet? passwd -l nedovolí nikomu přihlásit se k účtu pomocí hesla, ale stále se můžete přihlásit pomocí soukromých/veřejných klíčů. Jak úplně deaktivuji účet? Jako rychlou opravu jsem soubor přejmenoval na authorized_keys_lockme. Existuje jiná cesta?

49
user4069

Správný způsob podle usermod(8) je:

usermod --lock --expiredate 1970-01-02 <username>

(Ve skutečnosti, argument k --expiredate může být libovolné datum před aktuálním datem ve formátu YYYY-MM-DD.)


Vysvětlení:

  • --lock uzamkne heslo uživatele. Stále je však možné přihlášení jiným způsobem (např. Veřejným klíčem).

  • --expiredate YYYY-MM-DD zakáže účet k určenému datu. Podle man shadow 5 1970-01-01 je dvojznačná hodnota a nesmí se používat.

Testoval jsem to na svém stroji. Po provedení tohoto příkazu není možné přihlášení ani heslo ani veřejný klíč.


Chcete-li účet znovu povolit později, můžete spustit:

usermod --unlock --expiredate '' <username>
61
Christoph Wurm

Zamkněte heslo a změňte prostředí na /bin/nologin.

Sudo usermod --lock --Shell /bin/nologin username

(Nebo stručně řečeno, Sudo usermod -L -s /bin/nologin username.)

10
mattdm

Zde je další jednoduchý způsob. Můžete nastavit vypršení platnosti uživatelského účtu. Tím se zabrání přihlášení k účtu založeném na heslech i ssh, ale nedotkne se hesla ne.

Zamknutí účtu:

# chage -E 0 username

Uživatelský účet 'uživatelské jméno' bude v systému uzamčen. Chcete-li znovu povolit uživatelský účet, proveďte následující.

Odemknutí účtu:

# chage -E -1 username

Uživatelský účet 'uživatelské jméno' bude ve vašem systému znovu povolen se stejným heslem jako dříve. Binární 'chage' je součástí balíčku shadow-utils v Red Hat Linux nebo passwd balíček na systému Debian Linux.

4
miklosq

Nemám dostatečné opakování, abych se vyjádřil k odpovědi Legate, ale chtěl jsem sdílet, že tato odpověď nám pomohla s dalším případem použití:

1.) dotčený účet je účet místní služby provozující aplikaci, nikoli účet koncového uživatele.

2.) koncoví uživatelé ssh in jako oni, a Sudo /bin/su <user> stát se uživatelem a spravovat aplikaci z důvodu požadavku auditu, aby servisní účet nemohl mít možnost přímého přihlášení.

3.) servisní účet musí mít platný Shell (/bin/bash, ne /sbin/nologin), protože platforma Enterprise Scheduling Platform (agent je spuštěn jako lokálně root) musí mít možnost su - <user> a nemá su -s /bin/bash <user> schopnost, kterou provádí úplné prostředí, a je potřebná pro vzdálené spouštění úloh pro větší dávkové operace, které zahrnují více serverů a databází.


Tak...

passwd -l <user>
Neuspokojuje omezení, protože autentizace pomocí veřejného klíče obchází PAM a stále umožňuje přímé přihlášení.

usermod -s /sbin/nologin <user>
Nesplňuje omezení, protože narušuje plánovač podniku

usermod --lock --expiredate 1970-01-01 <user>
Toto je náš vítěz. Vzdálené přihlášení zakázáno, ale root může stále su <user>, jak mohou ostatní uživatelé prostřednictvím Sudo, takže plánovač funguje správně a autorizovaní koncoví uživatelé se mohou podle potřeby stát cílovým účtem služby.

Děkujeme za řešení!

3
user1880028

Pro úplné smazání použijte userdel.

Upozorňujeme, že pokud smažete účet, existuje riziko, že jeho ID uživatele bude někde stále použito v systému souborů a nový uživatel by zdědil vlastnictví těchto souborů, pokud by přišel pod stejným ID uživatele.

Chtěli byste změnit vlastníka všech souborů, které vlastní smazaný uživatel.

Pokud chcete uživatele přidat později, uložte jeho řádky z /etc/passwd (a na systému Solaris /etc/shadow) do dočasných souborů, například /etc/passwd_deleted.

Tímto způsobem při přidání zpět můžete použít stejné uživatelské jméno a stejné heslo (které je šifrováno v jednom z výše uvedených souborů)

Zřeknutí se odpovědnosti: Naučil jsem se UNIX sám, takže bych nebyl překvapen, pokud existuje lepší způsob, jak dočasně deaktivovat uživatele. Ve skutečnosti ani nevím, o kterých soukromých/veřejných klíčích mluvíte. Také jsem si jistý, že existuje příkaz find, který lze použít pro vyhledávání souborů s tímto uživatelským jménem userid

1
Bryan Field

Zkusil to někdo pomocí ssh_config? Možná by to mohlo pomoci http://www.techrepublic.com/blog/opensource/set-up-user-accounts-quickly-and-securely/86

Také se ujistěte, že je volba PasswordAuthentication nastavena na no, a vynutíte tak, aby všechna přihlášení používaly veřejné klíče.

0
icasimpan