Linux und der mysteriöse Fall verschwindender (und wieder auftauchender) Verzeichnisse

Linux und der mysteriöse Fall verschwindender (und wieder auftauchender) Verzeichnisse

Ich habe meinen allerersten Ubuntu-Server eingerichtet und mich sofort (als myuser) angemeldet, um mit der Anpassung zu beginnen. Ich gehe zu /optund führe aus mkdir sandbox.

mkdir: Verzeichnis „Sandbox“ kann nicht erstellt werden: Berechtigung verweigert

Zugriff verweigert?!? Okay. Also führe ich es aus sudo -iund gebe myuserdas Passwort von ein. Führe den mkdirBefehl erneut aus und voilà! Das Verzeichnis wird erstellt. Ich melde mich ab.

Ich melde mich wieder an myuser, navigiere zu /optund führe aus ls: nichts! Keine sichtbaren Verzeichnisse darin /opt! Was!?!?

Also verwende ich erneut sudo sudo -iund führe es erneut aus ls.Jetztes sieht sandbox/.

Ich glaube, mir fehlen grundlegende Linux-Kenntnisse in Bezug auf Benutzer und Roots. Während der Serverkonfiguration/-installation wurde ich aufgefordert, einen Benutzer anzulegen, was ich auch getan habe ( myuser). IchvermutetDies wäre auch der Root-Benutzer (mit vollständigen Administratorrechten), da dies nicht nur der Benutzer ist, den ich während der Installation erstellt habe, sondern der allererste Benutzer im System!

Warum ist das also myusernicht möglich:

  • Verzeichnisse außerhalb von erstellen, /home/myuserohne sudo zu verwenden?
  • Im „Sudo-Modus“ erstellte Verzeichnisse anzeigen

Auch der Unterschied zwischen und dem Benutzer ist mir sudonicht suklar root.

Letztendlich möchte ich neben dem vollständigen Verständnis dieser Grundlagen auch eine Reihe von Serversoftware installiert haben, /opt/sandbox/die rund um die Uhr laufen und mit dem lokalen Dateisystem interagieren kann. Jetzt bin ich mir nicht sicher, ob ich diese Anwendungen installieren soll, während ich einfach als angemeldet bin, myuserals sudo myuseroder auf eine andere Weise.

Diese Server befinden sich in einem gesicherten, privaten Heim-LAN, daher brauche ich keinen „echten Administrator“ und keine verrückten Sicherheitskontrollen. Ich richte nur eine einfache Entwicklungsumgebung für ein kleines Softwaretool ein, das ich schreibe. Vielen Dank im Voraus für jede Hilfe bei den obigen Fragen.

Antwort1

/opt ist standardmäßig Eigentum des Benutzers rootund der Gruppe root.

Versuchen Sie es und Sie werden sehen, dass der Ordner /opt dem Benutzer bzw. der Gruppe l /" " gehört .root root

Wenn Sie als Nicht-Root-Benutzer wirklich Dateien in /opt erstellen und ändern möchten, müssen Sie dort einen Ordner erstellen und dessen Berechtigungen so ändern, dass ein Nicht-Root-Benutzer frei darauf zugreifen kann.

Beispiel:

sudo mkdir /opt/sandbox
sudo chown myuser:users /opt/sandbox

Der erste Befehl erstellt den Ordner, aber sein Eigentümer ist rooteine Gruppe root
. Der zweite Befehl ändert den Eigentümer ( chown) zu Ihrem Benutzernamen myuserund macht ihn zu einem Teil der Gruppe users(die myuserTeil von ist).

Antwort2

Warum kann mein Benutzer also nicht: ...

Versuchen

ls -l sandbox
getfacl sandbox

Wenn die Ausgabe nicht klar ist oder nicht erklärt, was Sie sehen, schneiden Sie die Ausgabe aus und fügen Sie sie in eine Bearbeitung Ihrer Frage ein.

Auch der Unterschied zwischen sudo, su und dem Root-Benutzer ist mir nicht klar.

sudogibt Ihnen erhöhte Root-Rechte (also Administratorrechte) für nur einen Befehl. Es gibt eine Konfigurationsdatei für sudo, in der Sie steuern können, welche Benutzer was tun dürfen.

sugibt Ihnen erweiterte Privilegien für mehrere Befehle, indem Ihnen eine neue Shell-Sitzung mit der effektiven Benutzer-ID „root“ zugewiesen wird.

Der Root-Benutzer ist ein spezieller Benutzer namens root, den Sie in /etc/passwd sehen können. Es gibt etwa ein Dutzend anderer Benutzer, die Sie in einem Unix- oder Linux-System immer haben. Normalerweise haben die Leute ein normales Konto und verwenden dieses für alle Arbeiten außer den Aktionen, die unbedingt Root-Berechtigungen erfordern (z. B. das Installieren von Software zur Verwendung durch alle Benutzer des Systems). Dies macht es für Malware schwieriger, schädliche Dinge anzurichten, und erschwert es Ihnen, irreparable Fehler zu machen.

Ich möchte eine Reihe von Serversoftware installiert haben

Ich finde es am besten, den Paketmanager des Systems zum Installieren von Paketen zu verwenden. Ich würde es vorziehen, Ordner in /opt nicht manuell zu erstellen, das wäre meine allerletzte Wahl.

verwandte Informationen