Wie kann ich einen Benutzer mit schreibgeschütztem Zugriff auf alle Dateien erstellen? (dh root ohne Schreibberechtigung)


9

Zum Sichern meines Servers möchte ich über SSH remote darauf zugreifen. Um alle Risiken zu minimieren, sollte ein Benutzer verwendet werden, der nur Lesezugriff hat, jedoch auf alle Dateien, genau wie root. Er sollte jedoch keine Schreibrechte haben.

Irgendwelche Ideen, wie man das erreichen kann?


Antworten:


7

Könnte ich eine andere Methode vorschlagen, um Ihr Problem zu lösen, die weniger wartungsintensiv ist?

Sie können SSH-Schlüssel erstellen, die nur eingeschränkten Zugriff auf bestimmte Programme haben. Ich mag es nicht, uneingeschränkten Root-Zugriff zu gewähren, aber manchmal müssen Sie bestimmte Befehle aktivieren, damit sie über Remote ausgeführt werden können. Mit ssh-Schlüsseln können Sie Ihr Sicherungsprogramm über den Befehl ssh ausführen lassen.

Lesen Sie den Abschnitt 'AUTHORIZED_KEYS FILE FORMAT' in Ihrer sshd-Manpage (ich gehe davon aus, dass Sie OpenSSH verwenden).

http://man.openbsd.org/OpenBSD-current/man8/sshd.8


1
Ich mag die Idee. Für einfach ziehen Sie die Dateien über rsyncall die no-*-Optionen wie im skizzierten Menschen sollten sicher sein. Besonders no-pty in Kombination mit from ist ein guter Anfang, um die Sicherheit zu erhöhen. Beispiel:from="the_pulling_hostname_or_IP",no-pty,...
user569825

1

Sie können dies mit ACLs erreichen. Sie benötigen weiterhin ein Skript, das als Root ausgeführt wird und die Berechtigungen jeder Datei ändert. Wenn Sie interessiert sind, lesen Sie die Manpages für ACL, setfacl und getfacl.


1

Es gibt eine etwas andere Möglichkeit, dies ohne Verwendung von ACLs zu erstellen. Aber Sie müssen hier Vorsicht walten lassen. Erstellen Sie zunächst eine Gruppe mit dem Namen roroot (schreibgeschützte Wurzel). Wenden Sie diese Gruppen-ID dann auf alle Verzeichnisse an. Stellen Sie die Berechtigungen für die Gruppenbits auf r-- oder 400 oktal ein. Anschließend können Sie ein Benutzerkonto wie bei einem normalen Benutzer erstellen, z. B. rorootusr, wobei die nächste ID auf die auf Ihrem System festgelegte ID festgelegt ist Wenn Sie nur Mitglied einer Gruppe sind , machen Sie es nicht zu einem Teil von Rad, Behälter usw., je nachdem, welche Gruppen sich in Ihrer Installation befinden. Das nächste Stück wird klobig sein. Öffnen Sie die Datei / etc / passwd mit vim / nano / emacs / joe / jedem Editor, der Ihr Boot rockt, und suchen Sie nach der ID, die Sie gerade erstellt haben, d. H. rorootusr, die passwd-Datei sieht folgendermaßen aus

root: x: 0: 0 :: / root: / bin / sh

Lesen von links nach rechts getrennt durch Doppelpunkte Sie haben Benutzername, Passwort (verschlüsselt + schattiert), Benutzer-ID, Gruppen-ID, Kommentar, Home-Verzeichnis und Shell. Aus dem obigen Beispiel

rorootusr: x: 512: 450: Root-Benutzer RO: / home / rorootusr: / bin / bash

Es ist das 3. Feld (512), das Sie in 0 ändern. 450 wäre die Gruppen-ID für roroot. Speichern Sie die Bearbeitungssitzung und Sie sind fertig. Jetzt hat rorootusr Root-Zugriff, ist jedoch ausschließlich Mitglied der Gruppe roroot und hat nur Lesezugriff auf das System.

Hoffe das hilft, Mit freundlichen Grüßen, Tom.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.