GNU/Linux >> Znalost Linux >  >> Linux

Systém odmítá SSH a po instalaci systemd se zasekl při 'bootování'

Mám podezření, že existuje /etc/nologin soubor (jehož obsah by byl "Systém se spouští."), který není po instalaci systemd odstraněn.

[update] Co vás ovlivňuje, je chyba, která byla nahlášena na BTS Ubuntu loni v prosinci. Je to kvůli /var/run/nologin soubor (=/run/nologin od /var/run je symbolický odkaz na /run ), který není na konci instalace systemd odstraněn.

/etc/nologin je standardní nologin soubor. /var/run/nologin je alternativní soubor, který může používat nologin Modul PAM (man pam_nologin ).

Všimněte si, že žádný z nologin soubory ovlivňují připojení uživatele root, pouze běžní uživatelé se nemohou přihlásit.


@xhienne mi dala správný směr.

Po prohledání systému souborů jsem našel /run/nologin (@xhienne navrhl /etc/nologin), odstranění, které problém vyřešilo.

Podmínka existovala v /usr/lib/tmpfiles.d/systemd.conf

Tento krok zahrnu do svého skriptu.

sudo rm /run/nologin

Note:  This answer is applicable whether or not systemd was recently installed or not.
       The issue was observed even after systemd had been installed a long time.

Zdá se, že nástroj na sledování chyb distribuce Mageia má otevřený související problém:Chyba 21080 - přihlášení ssh zakázáno /run/nologin po restartu.

Poté, co jste se s tímto problémem setkali poměrně často, nalezení sledovacího nástroje pomohlo identifikovat řešení, které by mohlo být vhodnější než pouhé odstranění /run/login soubor.

Zde jsou některá data související s dotazy na informace v tomto nástroji pro sledování chyb:

$ ls -l /run/nologin 
-rw-r--r-- 1 root root 42 Mar  6 10:11 /run/nologin
$ cat /run/nologin
"System is booting up. See pam_nologin(8)"
$ date
Tue Mar  6 11:10:38 CST 2018
$ uptime
11:15:10 up  1:04,  0 users,  load average: 0.07, 0.07, 0.08
$ systemctl status systemd-user-sessions.service
● systemd-user-sessions.service - Permit User Sessions
   Loaded: loaded (/usr/lib/systemd/system/systemd-user-sessions.service; static
   Active: inactive (dead)
     Docs: man:systemd-user-sessions.service(8)
$ systemctl show -p Requires,Wants,Requisite,BindsTo,PartOf,Before,After  systemd-user-sessions.service --no-pager
Requires=system.slice sysinit.target
Requisite=
Wants=
BindsTo=
PartOf=
[email protected] prefdm.service crond.service multi-user.target plymouth-quit-wait.service session-c2.scope display-manager-failure.service systemd-ask-password-wall.service session-c1.scope [email protected] shutdown.target [email protected] user-983.slice user-1000.slice plymouth-quit.service
After=system.slice systemd-journald.socket remote-fs.target network.target systemd-journal-flush.service sysinit.target nss-user-lookup.target basic.target

Zdá se, že nástroj na sledování chyb a výše uvedené informace ukazují, že problém je ve skutečnosti způsoben selháním spuštění služby systemd-user-sessions.service démon.

To se ve skutečnosti děje v mém případě, takže následující řešení dočasně opravuje podmínku zakázaného přihlášení:

$ sudo systemctl start systemd-user-sessions.service

Poté, co to uděláte, /run/nologin soubor již není přítomen a lze SSH z jiného systému. Upozorňujeme však, že to není spolehlivé, protože někdy uživatel nemá přístup ke konzoli postiženého systému.


Linux
  1. Spravujte spouštění pomocí systemd

  2. Osm způsobů, jak chránit přístup SSH ve vašem systému

  3. Superblock, Inode, Dentry a soubor?

  1. Jak připojit a odpojit souborový systém v Linuxu

  2. Jak přesměrovat výstup služby systemd do souboru

  3. Jak spustit službu systemd po přihlášení uživatele a zastavit ji před odhlášením uživatele

  1. 25 nejčastějších otázek a odpovědí v rozhovoru pro Linux

  2. Spustit službu Systemd po automatickém připojení, ale poté, co k ní přistoupíte?

  3. Deaktivujte službu systemd po době nečinnosti