Ich habe einen Benutzer mit eingeschränktem Zugriff auf das System (dh er ist kein Sudoer). Nennen wir ihn Bob .
Ich habe ein Skript oder eine Binärdatei, der ich als Systemadministrator vertraue und die ich problemlos als Root ausführen kann. Rufen wir das Skript auf get-todays-passphrase.sh
. Die Aufgabe dieses Skripts besteht darin, Daten aus einer "privaten" Datei (die einem anderen Benutzer / einer anderen Gruppe als Bob oder sogar einer Root-Datei gehört) zu lesen /srv/daily-passphrases
und nur eine bestimmte Zeile aus der Datei auszugeben: die Zeile, die dem heutigen Datum entspricht .
Benutzer wie Bob dürfen die Passphrase von morgen nicht kennen, obwohl sie in der Datei aufgeführt ist. Aus diesem Grund ist die Datei /srv/daily-passphrases
durch Unix-Berechtigungen geschützt, sodass Nicht-Root-Benutzer wie Bob nicht direkt auf die Datei zugreifen dürfen. Sie dürfen das get-todays-passphrase.sh
Skript jedoch jederzeit ausführen , wodurch die "gefilterten" Daten zurückgegeben werden.
Zusammenfassend (die TL; DR- Version):
- Bob kann die geschützte Datei nicht lesen
- Das Skript kann die geschützte Datei lesen
- Bob kann jederzeit das Skript ausführen, das die Datei lesen kann
Ist dies innerhalb von Unix-Dateiberechtigungen möglich? Oder wenn Bob ein Skript startet, ist das Skript dann immer dazu verdammt, mit denselben Berechtigungen wie Bob ausgeführt zu werden?