Welche Berechtigungen benötigt man, um den Befehl chmod, chown für einen Ordner / ein Element auszuführen?


9

Ich habe als sudo-Benutzer immer chmod / chown-Befehle ausgeführt. Aber heute habe ich mich gefragt, ob ich nicht benutze sudo, welche Berechtigungen brauche ich, um tatsächlich einen chmod/chownBefehl für einen Ordner / eine Datei auszuführen ? Ich habe versucht, die Frage zu googeln, aber es ist nichts aufgetaucht, das diese Frage speziell beantwortet.

Antworten:


18

Unter Linux:

chown : "Nur ein privilegierter Prozess (Linux: einer mit der CAP_CHOWN Fähigkeit) kann den Besitzer einer Datei ändern." (Quelle: chown (2)) Der einfache Weg, ein solcher Prozess zu sein, besteht darin, von ausgeführt zu werden root. Hier finden Sie explain_chownHilfe, um herauszufinden, warum ein bestimmter chownFehler aufgetreten ist. Suchen Sie capabilitiesnach Möglichkeiten, um Prozessen andere Funktionen als die Ausführung als zuzuweisen root.

chmod : Der Eigentümer der Datei oder rootkann Berechtigungen sowie andere Prozesse mit dieser CAP_FOWNERFunktion ändern . (Quelle)

chgrp : "Der Eigentümer einer Datei kann die Gruppe der Datei in eine beliebige Gruppe ändern, zu der dieser Eigentümer gehört. Ein privilegierter Prozess (Linux: mit CAP_CHOWN) kann die Gruppe willkürlich ändern." (chown (2))


1
Linux begann um 2004 mit der Implementierung von Funktionen, aber der entsprechende POSIX-Vorschlag wurde bereits 1997 zurückgezogen. Wenn Sie ein modernes Betriebssystem wie Solaris verwenden, müssen Sie PRIV_FILE_CHOWNalle lokalen Dateien und PRIV_FILE_CHOWN_SELFlokale Dateien, die Ihnen gehören, chownen. Übrigens: Ein Betriebssystem, mit dem Remote-Dateien von NFS entfernt werden können, kann als Sicherheitsrisiko angesehen werden. Unter HP-UX kann jeder normale Benutzer seine Dateien chown und dies wird auch als Sicherheitsrisiko angesehen.
— schily

PS: Der POSIX-Funktionsvorschlag wurde zurückgezogen, da nur die Berechtigungen zwischen einem regulären Benutzer und dem historischen Root-Benutzer verarbeitet werden. Solaris verfügt über doppelt so viele fein abgestimmte Berechtigungen wie Linux und erlaubt das Entfernen von Berechtigungen wie z. B. fork () und exec ().
— schily

Beachten Sie, dass Sie unter Linux, wenn Sie nicht privilegiert sind, chowndie Dateien verwenden können, die Sie besitzen, aber nur den GID-Teil (für jede der Gruppen, denen Sie angehören). Ich kann chown stephane:other-group myfile(oder chown :other-group) solange ich Mitglied bin other-group.
— Stéphane Chazelas

Was ist mit chgrpBefehl? Können Sie bitte eine Erklärung dafür hinzufügen?
— Maxim Koretskyi

@ StéphaneChazelas, danke, basierend auf Ihrer Antwort gehe ich davon aus, dass ein Eigentümer erfolgreich ausgeführt chgrpwerden kann, ohne ein privilegierter Benutzer zu sein?
— Maxim Koretskyi
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.