Standardbesitzer / -berechtigungen für Dateien im Basisverzeichnis des Benutzers

14

Ich sehe oft Benutzer, die versuchen, ein Problem zu beheben und irgendwo zu lesen oder nur zu versuchen, chownihr Home-Verzeichnis rekursiv und manchmal sogar Berechtigungen rekursiv auf so etwas rwxr-xr-xoder ähnliches zurückzusetzen.

Stellen Sie sich ein solches Besitzer- / Berechtigungsmassaker vor - gibt es kritische Dateien / Verzeichnisse, die spezielle Berechtigungen benötigen oder im Besitz von Roots sein müssen, damit das System funktioniert?

Byte Commander
quelle
1
Was für Dateien redest du? Warum sollten sich kritische Dateien im Besitz von root in einem Benutzerhaus befinden?
mikewhatever
1
@mikewhatever Ich weiß , mindestens drei Verzeichnisse , die im Besitz von root werden müssen: ~/.gvfs/, ~/.cache/gvfs-burn/und ~/.cache/dconf. Wahrscheinlich gibt es mehr.
Byte Commander
1
drwx------ 2 romano romano 4096 dic 2 2008 .gvfsund hatte nie ein Problem .... (siehe das Datum). Alsodrwx------ 2 romano romano 4096 abr 28 14:57 .cache/dconf
Rmano
3
Es befinden sich keine "kritischen" Dateien im Home-Verzeichnis des Benutzers. Wenn dies der Fall ist, ist dies das Ergebnis einer sehr schlechten Programmierung, da der Benutzer sie absichtlich / aus Versehen blitzschnell entfernen kann. Sofern es sich nicht um einen Fehler handelt, werden "kritische" Dateien an anderer Stelle gespeichert.
Kos
FWIW, ich kann bestätigen, dass ~ / .gvfs und ~ / .cache / dconf auf meinem System beide Eigentum von root sind. Ich habe "sudo ls -Al" für beide Verzeichnisse ausgeführt, und beide sind leer. Obwohl ich Gruppen- und andere Berechtigungen für Dokumente geändert habe, bin ich noch nie chown gelaufen. Der Root-Besitz für diese beiden Verzeichnisse könnte also durchaus normal sein, zumindest für Ubuntu 15.04. Außerdem habe ich kein ~ / .cache / gvfs-burn-Verzeichnis oder die von Byte Commander erwähnten ipc-admin-Verzeichnisse, die sich im Root-Besitz befinden. Die Datei mit dem numerischen Alpha-Namen in ~ / .dbus / session-bus gehört mir, nicht root.
user173876

Antworten:

17

KEINE Datei in ~muss Eigentum von root sein.

Wenn eine Software erfordert, dass eine Datei in Ihrem Home-Verzeichnis einem anderen Benutzer gehört, ist dies ein Fehler und sollte als solcher gemeldet werden.

Ansonsten handelt es sich in der Regel um zwei sicherheitsrelevante Softwareprodukte, für die für bestimmte Dateien eingeschränkte Berechtigungen erforderlich sind:

  1. SSH
  2. GPG

SSH

Siehe man sshAbschnitt FILES:

 ~/.ssh/config
     This is the per-user configuration file.  The file format and
     configuration options are described in ssh_config(5).  Because of
     the potential for abuse, this file must have strict permissions:
     read/write for the user, and not writable by others.  It may be
     group-writable provided that the group in question contains only
     the user.

 ~/.ssh/identity
 ~/.ssh/id_dsa
 ~/.ssh/id_ecdsa
 ~/.ssh/id_ed25519
 ~/.ssh/id_rsa
     Contains the private key for authentication.  These files contain
     sensitive data and should be readable by the user but not acces‐
     sible by others (read/write/execute).  ssh will simply ignore a
     private key file if it is accessible by others.  It is possible
     to specify a passphrase when generating the key which will be
     used to encrypt the sensitive part of this file using 3DES.

Andere Dateien wie authorized_keys, known_hostsusw. sollten nur vom Benutzer beschreibbar sein, können jedoch von der Welt gelesen werden.

GnuPG

~/.gnupg(und Inhalte) sollten nur für Sie zugänglich sein. Bei anderen Berechtigungen beschwert sich GPG über unsichere Berechtigungen.

muru
quelle
Was ~/.gvfs/ist mit ~/.cache/gvfs-burn/und ~/.cache/dconf? Sie sind im Besitz von Roots, und ich denke, sie sollten es sein.
Byte Commander
2
@ByteCommander Nein. Verwenden Sie sudomit GUI-Programmen, oder?
muru
Nicht, dass ich mich daran erinnern könnte ... Ich erstelle einen neuen Benutzer und überprüfe ihn. Einen Moment bitte.
Byte Commander
@ByteCommander werfen Sie einen Blick darauf: bugzilla.gnome.org/show_bug.cgi?id=534284
muru
1
@ByteCommander Wenn das die Absicht war, dann sollte sudo -ioder sudo -Hsollte wahrscheinlich verwendet werden.
muru
11

Im Allgemeinen sollten sich Dateien und Verzeichnisse in Ihrem Zuhause in Ihrem Besitz befinden.
Ich habe einige seltsame Root-Dateien, die wahrscheinlich das Ergebnis der sudoBefehlsausführung sind. Tatsächlich gibt es Programme, unter $HOMEdenen Dinge geschrieben werden (wohlerzogene Programme, für die Superuser-Berechtigungen erforderlich sind, sollten dies nicht tun - der Effekt ist, dass der Root-Benutzer den Besitz von Dateien übernimmt, die dem Benutzer gehören sollen).
Normalerweise verursacht das Löschen oder Umbenennen (abhängig von der Datei) keine Probleme und löst häufig Probleme wie die berüchtigte .XauthorityDatei - und manchmal haben Sie nach dem Ausführen sudo dconf-editorDinge in Konfigurationen, die Sie nicht mehr ändern können.

Über spezielle Modi:

  • Skripte müssen natürlich zumindest für den Eigentümer ausführbar sein;
  • so müssen auch Verzeichnisse sein (wo xbedeutet Recht zu kreuzen);
  • .sshmuss sein drwx------(0700) und die privaten Schlüssel drin -rw-------(0600)
  • Wenn Sie ein PublicVerzeichnis zum Teilen haben, sollte es wahrscheinlich drwxr-xr-x(Leseberechtigung für jedermann) oder drwxrwxrwt(mit Schreibberechtigung und Sticky-Bit zum Aktivieren des Schreibens) sein.

... Ich kann mir nichts anderes vorstellen, das einer besonderen Behandlung bedarf.

Rmano
quelle
Was ~/.gvfs/ist mit ~/.cache/gvfs-burn/und ~/.cache/dconf? Sie sind im Besitz von Roots, und ich denke, sie sollten es sein.
Byte Commander
@ByteCommander --- alles, was mir in meinem System gehört und nichts, was nicht funktioniert. Warum müssen sie Ihrer Meinung nach root gehören? In dconfist Ihre Konfiguration, und der privilegierte Befehl / Daemon, der das Mounten von Partitionen ausführt, sollte den Besitzer wechseln - ansonsten handelt es sich um einen Fehler. Ich habe dies zu Ihrer Frage kommentiert.
Rmano
Ich habe noch zwei Dateien im Besitz von root festgestellt , dass ich bin mir nicht sicher , ob es richtig oder falsch ist: ~/.dbus/session-bus/7ae519bec942595a6925fb2d5448031b-1und /home/ipc-admin/.aptitude/config, viel Zeug unter /home/ipc-admin/.cache/pip/wheels/, /home/ipc-admin/.local/share/session_migration-(null)und /home/ipc-admin/.local/share/applications/mimeapps.list. Können Sie sich vorstellen, warum sich diese auf meinem System im Root-Besitz befinden?
Byte Commander