Das hatten wir schon in der Schule besprochen.
Geht ungefähr so,
- Erstellen Sie ein Verzeichnis (benannt
data
, als Referenz hier)
- Berechtigungen als "
chmod 711 data
" ändern
- Gruppe und andere haben nur
x
- Zugriff, um das Verzeichnis zu betreten
- Sie können das Verzeichnis nicht auflisten
- Erstellen Sie nun ein Verzeichnis
difficult-name-here
(dies könnte eine Hash-Zeichenfolge sein).
- Berechtigungen als "
chmod a+rx difficult-name-here
" ändern
- Der Inhalt dieses Verzeichnisses ist sicher, während das äußere Verzeichnis nicht aufgelistet werden kann
- Personen, die den "schwierigen Namen" kennen, können in dieses zweite Verzeichnis springen
- "
cd path/to/data/difficult-name-here
"
- Andere können den Namen nicht sehen und nicht auf Verzeichnisinhalte zugreifen
- Der
root
kann aber immer auf alles zugreifen (was hier kein Problem ist)
- Teilen Sie das
difficult-name-here
mit den Personen, denen Sie diese Daten geben möchten
- Bewahren Sie freigegebene Dateien in diesem zweiten Verzeichnis auf
Ziemlich grob, aber wenn dies ohne den Bruch der Unix-Zugriffskontrolle kaputt gehen kann, würde ich gerne wissen.
Update auf Kommentar von dmckee
,
Dies ist genau die Schlussfolgerung, zu der wir gekommen sind!
"Sicherheit durch Dunkelheit" hat begrenzte Sicherheit .
Bei der Gestaltung des Schutzes von Daten ist
es jedoch wichtig, deren Wert zu ermitteln.
Sie sollten zielen auf,
- Die Kosten für das Brechen der Sicherheit sind höher als:
- Die Kosten für gesicherte Inhalte,
- Um einen Faktor proportional zu Ihrer Paranoia
In diesem Fall ist
Ihr Geheimnis root
gelüftet , wenn der beschließt, den Verzeichnisbaum irgendwo im öffentlichen Zugriff
aufzulisten! Aber schützen Sie sich vor der Wurzel oder ihrer möglichen Verantwortungslosigkeit?
Wenn dies der Fall ist, müssen Sie sich um viel mehr Sorgen machen als um freigegebene Dateien.
Update über nicht funktionierende Notiz in der Frage .
Ich habe dies in den frühen Tagen von Linux verwendet, um zu wissen, dass es funktioniert.
Wenn Sie cannot access non-existant file
"statt 'permissions denied
" erhalten, haben Sie höchstwahrscheinlich einen Fehler in der Sequenz gemacht. Was Sie wollen, sollte so aussehen,
755 711 755 was auch immer - === Zugriffsberechtigungen
BasePath / CoverDir / Obscure / protectedFile.txt
| | ^^^^^^^^^^^^^^^^^ Kann ohne nicht gesehen werden
| ^^^^^^^ Verzeichnisname Lesezugriff auf
^^^^^ Öffentlich mit Freund geteilt. Dunkles Verzeichnis.
zugänglich
Verzeichnis.
- Wenn Sie '
CoverDir
' Zugriff als 'rwx--x--x
' festlegen , können
group und andere nur das Verzeichnis betreten, dessen Inhalt jedoch nicht lesen.
- Wenn Sie nun einen obskuren Verzeichnisnamen
' Obscure
' verwenden und mit ' rwxr-xr-x
' vollständigen Lesezugriff gewähren ,
kann jeder, der diesen Namen kennt, seinen Inhalt auflisten.
- Dieser Zugriff muss von außen mit einem "
ls BasePath/CoverDir/Obscure
" erfolgen,
da Personen in Ihrer Gruppe und andere nicht in der Lage sind, " ls BasePath/CoverDir
".