Ich bin überrascht, dass niemand Binaries erwähnt hat, die mit besonderen Privilegien laufen. Wireshark hat hier einen realen Anwendungsfall: Eine seiner Hauptfunktionen ist das Erfassen des Netzwerkverkehrs, was normalerweise nur Root kann. Es ist sinnvoll, dass Sie bestimmten Benutzern erlauben möchten, Datenverkehr mit Wireshark zu erfassen, ohne ihnen vollständigen Root-Zugriff dumpcap
gewähren zu müssen. Daher wird Wireshark mit einer Binärdatei ausgeliefert , die die erforderlichen Funktionen (CAP_NET_RAW und CAP_NET_ADMIN) aktiviert hat. Diese Binärdatei ist 0754 (rwxr-xr--
) und die zugehörige GID ist eine spezielle Gruppe, die Wireshark installiert. Auf diese Weise kann jeder Benutzer in der Gruppe die Binärdatei ausführen (im Allgemeinen über Wireshark), um den Datenverkehr zu erfassen, und sie wird mit den dazu erforderlichen Berechtigungen ausgeführt. Ich habe keine Ausführungserlaubnis. Sie könnten es immer noch in ihr Home-Verzeichnis kopieren, aber für ihre Kopie wären nicht die erforderlichen Funktionen festgelegt, sodass tatsächlich kein Datenverkehr erfasst werden kann.
Weil * nix nicht gehirnschädigend genug ist, um eine Datei "binär ausführbar" zu machen, wenn Sie sie ".exe" nennen, oder "Skript ausführbar", wenn Sie sie ".bat" nennen.
Unter Linux spielt der Name der Datei keine Rolle.
Und die Berechtigungen , die Sie eine Datei geben Sie wichtig sind .
Welche Art von macht Sinn. MEINER BESCHEIDENEN MEINUNG NACH...
quelle
Das Ausführungsbit ist etwas verwechselt zwischen einer Berechtigung und einer Objekttypkennung.
Und nein, Sie können die Datei nicht immer in Ihr Home-Verzeichnis "kopieren": Nur wenn sie für Sie lesbar ist.
Dateien können für Sie ausführbar, aber nicht lesbar sein.
Sie haben Recht, wenn eine Datei für Sie lesbar, aber nicht für Sie ausführbar ist, können Sie sie kopieren und das Ausführungsbit umdrehen und verwenden. Könnte sein. Aber es könnte nicht funktionieren. Die ausführbare Datei hängt möglicherweise davon ab, wo sie installiert ist. Oder die Datei hängt von ihrem setuid-Root-Bit ab.
Ich würde ein Berechtigungssystem nicht so entwerfen, wenn ich von einer leeren Tafel ausgehe. es macht nicht ganz Sinn. Die Berechtigung zum Ausführen ist von einem Attribut des ausführbaren Typs getrennt, und die Berechtigung zum Ausführen wird nicht mit der Suchberechtigung überladen (selbst wenn sie auf diese Weise gespeichert wurde; die API würde sie nicht auf Bitmaskenebene anzeigen).
quelle
Das ist ein guter Punkt, und ich glaube, ich sehe, wohin Sie damit wollen.
So interpretieren Sie Ihre Frage neu: Trifft die folgende Behauptung zu: "Das Festlegen einer ausführbaren Datei im nicht ausführbaren Modus für einen Benutzer schränkt die Funktionen des Benutzers nicht ein."
Ich glaube es ist wahr.
Ich glaube nicht, dass noch etwas fehlt, das Sie haben würden, wenn Sie die Exec-Perm der Originaldatei aktiviert hätten.
Mit pwd meine ich jetziges Arbeitsverzeichnis.
quelle
Es gibt viele Gründe, warum Sie eine Datei als lesbar, aber nicht ausführbar markieren möchten, insbesondere für bestimmte Benutzer oder Gruppen. Folgendes berücksichtigen:
Dies kann sinnvoll sein, wenn:
/usr/local/sbin:/home/user/bin
. Durch die Berechtigungen wird sichergestellt, dassfoo.sh
die geänderte Kopie des Benutzers ausgeführt wird, auch wenn die Kopie von root im Suchpfad an erster Stelle steht, wenn das Ausführungsbit gesetzt ist.Letztendlich hindert Sie nichts daran, Dateien zu kopieren, die Sie lesen können, oder sie einfach direkt mit auszuführen
sh /path/to/file
. Das fehlende Ausführungsbit für Ihren Benutzer oder Ihre Gruppe verhindert lediglich, dass Sie dies versehentlich tun . Es ist keine Sicherheitsmaßnahme und sollte nicht für eine genommen werden.quelle
Nach meinem Verständnis möchten Sie wissen, warum eine schreibgeschützte, von Ihnen nicht ausführbare Datei in Ihr Ausgangsverzeichnis kopiert werden kann, in dem Sie sie ausführbar machen und ausführen können, wodurch die Illusion entsteht, dass das "ausführbare" Bit nicht benötigt wird.
In Ihrem Fall kann dies hilfreich sein, da die ausführbare Datei möglicherweise nur am ursprünglichen Speicherort ausgeführt werden kann. Wenn Sie sie also an einen neuen Speicherort kopieren, schlägt die Ausführung fehl.
Auf der anderen Seite gibt Ihnen ein eigenes Home-Verzeichnis mit vollem Zugriff bereits ein gewisses Maß an Vertrauen in das System. Es gibt viele Situationen, in denen Benutzer nur Lesezugriff haben. In diesem Fall können Sie die ausführbare Datei lesen, sie jedoch in keiner Weise ausführen
quelle