
Dies ist eine zweigleisige Frage.
Ich entwickle eine Anwendung, die Netzwerkfreigaben in Windows Server 2003 über die Befehlszeile erstellen muss. Also zunächst: Wie erstelle ich Freigaben in Windows über die Befehlszeile? Ich habe versucht, das herauszufinden, und konnte nur herausfinden, dass ich verwenden sollte net
, aber ansonsten gibt es nicht viel Dokumentation.
Außerdem befinden sich in dieser Freigabe einige Verzeichnisse mit den Namen von Benutzern der Domäne, und ich möchte, dass diese Verzeichnisse für niemanden sonst lesbar oder beschreibbar sind. Angenommen, ich habe zwei Verzeichnisse: jsmith
und jdoe
. Ich möchte, jsmith
dass der Benutzer in das Verzeichnis schreiben und daraus lesen kann jsmith
, aber nicht in das Verzeichnis mit dem Namen jdoe
und umgekehrt.
Antwort1
Dies sollten die Informationen sein, nach denen Sie suchen:
::Create a drive letter map to an existing network share
net use z: \\servername\share password /USER:domain\username /PERSISTENT:YES
:: grant user 'jsmith' full control access to the jsmith directory
cacls z:\jsmith /T /E /G jsmith:f
Sie können auch Berechtigungen entfernen oder Berechtigungen für das Verzeichnis mit cacls.exe bearbeiten. Ich empfehle, sich über cacls.exe zu informieren.
Cacls
http://technet.microsoft.com/en-us/library/bb490872.aspx
oder einfach „cacls /?“ von der Befehlszeile aus sollte auch funktionieren.
Antwort2
Der gesuchte Befehl ist net share
. Die /?
Hilfe zum Befehl ist ziemlich unkompliziert, aber hier ist ein Beispiel:
net share MyShareName="C:\My Local Path\SomeFolder" /GRANT:Everyone,FULL
Was die Sicherheit angeht, ist es meines Wissens nach die beste Vorgehensweise, wie oben beschrieben vorzugehen und der Gruppe „Jeder“ die volle Kontrolle über dieAktie, und verwalten Sie dann die Berechtigungen für die Dateien und Ordner selbst. Dies liegt daran, dass die Freigabeberechtigungen ein Einschränkungsfilter über den eigentlichen Datei- und Ordnerberechtigungen sind.