Machen Sie eine Datei unter Windows für den Besitzer unlesbar

Machen Sie eine Datei unter Windows für den Besitzer unlesbar

Ich arbeite mit der automatisierten Testsuite eines Softwareprojekts. Ich habe einen automatisierten Testfall, der überprüfen soll, ob der Code korrekt funktioniert, wenn eine bestimmte Datei gefunden wird, aber das Programm hat nicht die erforderliche Berechtigung, den Inhalt dieser Datei zu lesen. Dieser Testfall funktioniert derzeit unter Linux und macOS, aber ich versuche, ihn auch unter Windows zum Laufen zu bringen.

Die Datei wird durch den Testprozess erstellt und so geändert, dass die Leseberechtigung entfernt wird. Anschließend versucht der Code, die Datei zu lesen. Der Test überprüft, ob der Code wie erwartet fehlschlägt. Nachdem der Test ausgeführt wurde, werden die Berechtigungen (falls erforderlich) wiederhergestellt und die Datei entfernt.

Unter Linux und macOS wird die Leseberechtigung durch entfernt chmod 000 unreadable.txt, wodurch die Datei für alle (außer root) unlesbar wird. Ich versuche, eine ähnliche Lösung unter Windows zu finden, wo ich diese Testdatei mithilfe von Befehlszeilentools für den aktuellen Benutzer unlesbar machen kann, sodass das getestete Programm fehlschlagen kann.

Nach meinem Verständnis icacls unreadable.txt /deny 'Everyone:(RC)'hätte ein Befehl wie dieser den Zweck erfüllt. icaclsBestätigen Sie die Ablehnungsregel:

         Everyone:(DENY)(Rc,S)

aber ich habe trotzdem vollen Zugriff, um die Datei zu lesen.

Ich habe verschiedene Beschwörungsformeln von Aufrufen von icaclsund ausprobiert cacls, mit unterschiedlichen Kombinationen von Versuchen, dies für mein spezielles Benutzerkonto explizit abzulehnen usw. Alles ohne Erfolg.

Ich frage mich allmählich, ob es in Windows nicht möglich ist, dem Besitzer einer Datei das Lesen dieser Datei zu verbieten.

Oder, falls möglich, welche Befehlszeile benötige ich, um die Datei für den Besitzer unlesbar zu machen?

verwandte Informationen