Ich führe Cygwin derzeit auf einem Windows Server 2003 Zielrechner aus, um ein Shell-Skript auszulösen, das unter anderem eine Menge Dateien auf der Festplatte erstellt. Nachdem die Dateien erstellt wurden, habe ich keine Berechtigungen mehr, sie über Windows zu bearbeiten.
Wenn die Dateien erstellt werden, wird der Besitzer auf 'SYSTEM' gesetzt und die Berechtigungen für Administrators/Creator Group/Creator Owner/system
werden nur auf 'spezielle Berechtigungen' und nichts anderes gesetzt.
Die Berechtigungen für Jeder und Benutzer haben Lese- & amp; Ausführen, Ordnerinhalt auflisten und lesen.
Mein Problem ist, dass ich die Dateien jetzt nicht über Windows löschen / ändern kann. Ich würde es vorziehen, etwas in meine Skripte eingebaut zu haben (entweder das Shell-Skript oder etwas, das in Cygwin aufgerufen wird), das Administratoren volle Kontrolle über den Ordner und den gesamten Inhalt geben würde.
Meine aktuelle Problemumgehung bestand darin, Dateiänderungen über Cygwin vorzunehmen, aber dies ist nicht zu bevorzugen. Ich habe auch setfacl -r -m default:other:rwx
verwendet, um Schreibberechtigungen für die 'Benutzer' Gruppe hinzuzufügen, aber es scheint keine rekursive Option zu haben und gibt immer noch keine 'volle Kontrolle'
Gibt es eine bessere Möglichkeit, setfacl
zu verwenden? Kann ich das Shell-Skript mit verschiedenen / erhöhten Berechtigungen aufrufen?
Ergebnisse von getfacl
in einem neu erstellten Verzeichnis:
Sie können versuchen, umask
:
Das sollte Benutzer, Gruppe und andere Lese- / Schreib- / Ausführungsrechte für neu erstellte Verzeichnisse geben.
Wenn Sie nur die modifizierte umask
dauerhaft möchten, können Sie sie zu Ihrer .bash_profile
Bearbeiten - Beispiel für mkdir vor / nach umask hinzugefügt.
Hier ist die Ausgabe von getfacl
in einem Verzeichnis, das erstellt wurde, bevor ich umask
:
Hier ist die Ausgabe von getfacl
in einem Verzeichnis, das erstellt wurde, nachdem ich umask
: