Beachten Sie zunächst, dass dies kein universelles Verhalten ist. Nicht alle Linux-Systeme sind auf diese Weise konfiguriert, und tatsächlich kann ich keine Distributionen nennen, die Dinge standardmäßig auf diese Weise konfigurieren, ohne ernsthafte Nachforschungen anzustellen. In den meisten Fällen erfordert ein bestimmtes Linux-System entweder Root-Rechte (wie es die meisten Systeme auch tun), oder es lässt jeder in einer bestimmten Gruppe zu, oder es lässt nur jeder zu (obwohl dies selten vorkommt, da es sich um ein solches System handelt) ziemlich bedeutende Sicherheitslücke, die einen trivialen DoS-Angriff ermöglicht, wenn ein Netzwerkdienst kompromittiert wird).
Warum?
Das Warum ist ziemlich einfach. Es ist sehr einfach, das System aus Versehen aus der Ferne herunterzufahren, wenn jemand versucht, es zu verwenden. Das System erfordert entweder physische Präsenz an der Konsole (was Sie als normale Sitzung bezeichnen) oder den Nachweis der Autorität über das System (durch Authentifizierung über sudo
, um Root-Berechtigungen zu erhalten). Dies erschwert das Auftreten einer solchen Situation erheblich. Die Implikation ist, dass Sie durch die physische Präsenz im System oder die Bereitstellung von Root-Anmeldeinformationen über ausreichende Berechtigungen verfügen, sodass es keine Rolle spielt, ob jemand anderes das System verwendet.
Wie?
Dies ist etwas schwieriger zu beantworten, ohne viel mehr über das betreffende System zu wissen, aber ein paar Methoden kommen in den Sinn:
- Sie können mit den Dateisystemfunktionen einige ziemlich nette Tricks anstellen, um dies zu ermöglichen, aber Sie müssen dies jedes Mal wiederholen, wenn die Befehle aktualisiert werden.
- Im Falle von systemd,
shutdown
, reboot
, und poweroff
werden alle durch systemd vorgesehen ist , und auf verschiedene gleichwertig Ende systemctl
Subbefehle. Aufgrund dessen und der von durchgeführten Sitzungsverfolgung logind
sollte es möglich sein, Einschränkungen wie diese ziemlich einfach durchzusetzen.
sshd
) haben unterschiedliche Konfigurationen. Sie können sie in anzeigen/etc/pam.d
. Auf diese Weise kann das System feststellen, woher die Anmeldung stammt. So macht es auch Systemd.