Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Berechtigungen eines Freigegebenen Verzeichnisses mit cacls bearbeiten schlägt fehl

Frage Entwicklung Batch & Shell

Mitglied: Peter161

Peter161 (Level 1) - Jetzt verbinden

20.07.2009, aktualisiert 11:57 Uhr, 6650 Aufrufe, 22 Kommentare

Hallo,

ich bin schon am Verzeifeln.

Ich habe folgenden Code-Ausschnitt:

Die Variablen sind alle gesetzt. (%pfad% entspricht z.B. \\server\SNW)
01.
cacls %pfad% /e /c /P %domaene%\Admin:f SNW\Useradmin:c SNW\Lehrer:c /D SNW\schueler
Wenn ich aber das Verzeichnis \\server\SNW\test wähle geht es.
Was ist das Faul?
Danke für eure Hilfe...
Mitglied: Destry
20.07.2009 um 12:05 Uhr
Hi,

etwas mehr Code wäre nett.

Für's erste:
Wenn Du auf "\\server\SNW\test" Rechte setzen willst, sollte der Wert nicht auch in Deiner Variablen stehen?
Du schreibst dort steht nur "\\server\SNW".

Gruss,
Destry
Bitte warten ..
Mitglied: Peter161
20.07.2009 um 12:08 Uhr
01.
cacls %pfad% /e /c /P %domaene%\Admin:f SNW\Useradmin:c SNW\Lehrer:c /D SNW\schueler 
02.
cacls %pfad%\%lehrer% /e /c /P %domaene%\Admin:f %domaene%\Useradmin:c %domaene%\Lehrer:c /D %domaene%\schueler
So sieht das ungefähr aus nur wenn ich auf %pfad% die Berechtigungen setzten will, kommt die Meldung, das der Netzwerkpfad nicht gefunden werden kann, aber auf %pfad%\%Lehrer% geht es.
Bitte warten ..
Mitglied: Destry
20.07.2009 um 12:21 Uhr
Nochmal:
Wenn Du nicht den Inhalt Deiner Variablen und wie sie zusammengebaut werden mitteilst wird es schwierig Dir zu helfen.
Wir können nicht hellsehen.

Gruss,
Destry
Bitte warten ..
Mitglied: Peter161
20.07.2009 um 12:25 Uhr
Hallo, ich hab die komplette admincfg.bat mal auf meinen server geladen.
http://snw.bplaced.net/SNW/adminconfig.bat

Danke.
Bitte warten ..
Mitglied: Destry
20.07.2009 um 12:39 Uhr
Hi,

die Pfade kommen über die Nutzereingabe rein. Existiert dort nur ein Leer- oder Sonderzeichen geht alles schief, da Du die meisten Zeilen nicht in Hochkommata gestellt hast.

Wenn es daran nicht liegt dann stell vor den cacls-Befehl ein echo und lass Dir anzeigen was tatsächlich dort drinsteht.

Gruss,
Destry
Bitte warten ..
Mitglied: Peter161
20.07.2009 um 12:53 Uhr
Zitat von Destry:
Hi,

die Pfade kommen über die Nutzereingabe rein. Existiert dort nur
ein Leer- oder Sonderzeichen geht alles schief, da Du die meisten
Zeilen nicht in Hochkommata gestellt hast.
Was ist Hochkommata???

Wenn es daran nicht liegt dann stell vor den cacls-Befehl ein echo
und lass Dir anzeigen was tatsächlich dort drinsteht.
Ok, aber es klappt ja auch nicht wenn ich den befehl manuell eingebe.
01.
C:\Dokumente und Einstellungen\Willi>echo J | cacls \\iserver\SNW /e /c /P SNW\A 
02.
dmin:f SNW\Useradmin:c SNW\Lehrer:c /D SNW\schueler 
03.
Der Netzwerkpfad wurde nicht gefunden.

Gruss,
Destry

bb pete
Bitte warten ..
Mitglied: bstefan82
20.07.2009 um 13:53 Uhr
Du kannst dir auch mal icacls anschauen, das ab 2k3 sp2 dabei. ist etwas komfortabler. Soweit ich weiß, können (cacls und icacls) aber Probleme mit umlauten etc, auftreten.
Bitte warten ..
Mitglied: Peter161
20.07.2009 um 13:56 Uhr
Zitat von bstefan82:
Du kannst dir auch mal icacls anschauen, das ab 2k3 sp2 dabei. ist
etwas komfortabler. Soweit ich weiß, können (cacls und
icacls) aber Probleme mit umlauten etc, auftreten.

ok, mach ich, das Problem besteht nur wenn ich auf eine Freigabe auf einem Entfernten Rechner die Rechte ändern will.

Will ich aber auf ein Verzeichnis was unterhalb der eigendlichen Freigabe liegt die Rechte ändern, geht das.
Danke erstmal...
Bitte warten ..
Mitglied: Destry
20.07.2009 um 15:49 Uhr
Hallo Peter,

das ist ein Hochkomma: "
Hochkommata sind mehrere Hochkomma. Also: " " " "

Du solltest das echo in Dein Script schreiben. Vor den cacls-Befehl.

Also statt:
01.
cacls %pfad% /e /c /P %domaene%\Admin:f SNW\Useradmin:c SNW\Lehrer:c /D SNW\schueler
bitte:
01.
echo cacls %pfad% /e /c /P %domaene%\Admin:f SNW\Useradmin:c SNW\Lehrer:c /D SNW\schueler
Wenn Du dann Dein Skript ausprobierst wird am Ende der cacls-Befehl nicht ausgeführt sondern nur angezeigt.
Bei dieser Anzeige werden auch alle Variablen aufgelöst und Du kannst sehen auf welchen Pfad der cacls-Befehl angewandt wird.
Das sollte Dir die Möglichkeit geben zu prüfen ob der Pfad tatsächlich existiert, bzw. richtig übermittelt wird.

Gruss,
Destry
Bitte warten ..
Mitglied: Destry
20.07.2009 um 15:54 Uhr
Hi Peter,

mit cacls kannst Du nur die Rechte auf Verzeichnisse und Dateien verändern, nicht auf Freigaben.

Gruss,
Destry
Bitte warten ..
Mitglied: Peter161
20.07.2009 um 15:55 Uhr
Aber eigendlich ist das doch auch nix anderes als ein Verzeichnis, nur eben Freigegeben.

Manuell kann ichs ja auch ändern....
Bitte warten ..
Mitglied: Destry
20.07.2009 um 16:01 Uhr
Ja, aber woher soll der Befehl wissen was was ist.

Beispiel:

Du gibst das Verzeichnis C:\temp mit "temp" frei.
Jetzt ist "\\servername\temp" die Freigabe und nicht das Verzeichnis.
Aber "\\servername\c$\temp" ist das Verzeichnis und nicht die Freigabe.

Zumindest cacls unterscheidet hier.

Gruss,
Destry
Bitte warten ..
Mitglied: Peter161
20.07.2009 um 16:05 Uhr
Wie kann ich es da machen? Nur über diese C$ Freigabe??
Bitte warten ..
Mitglied: Destry
20.07.2009 um 16:21 Uhr
Ja.
Ich kenne keinen anderen Weg.

Besser wäre es Du lässt die Ebene der Freigabe in Ruhe und erstellst darunter Ordner auf denen Du dann die Rechte anpasst.
Also statt ändern auf "c:\temp". Ordner erstellen wie "c:\temp\temp1" und "c:\temp\temp2", usw.

Freigabe auf "c:\temp" setzen. Den Ordner "c:\temp" einmalig mit den richtigen Rechten versehen, z.B. "Jeder\lesen" und dann die Rechte auf den Unterordnern "..\temp1" und "temp2", usw. anpassen.

Gruss,
Destry
Bitte warten ..
Mitglied: Peter161
20.07.2009 um 16:24 Uhr
Ok, danke. Aber kannst du mir Sagen wie ich aus C:\ ein C$ machen kann? Wie ich also den ersten Buchstaben nehme?
Bitte warten ..
Mitglied: Destry
20.07.2009 um 16:36 Uhr
Ich glaube Du kennst die versteckten Standardfreigaben nicht.
Jeder Rechner hat normalerweise die Standardfreigaben "C$" und "Admin$. "C$" gibt es übrigens für jede Partition, also auch "D$", "E$", usw..
Probier mal auf Deiner Maschine auf der Kommandozeile ein: dir \\DEIN_RECHNERNAME\c$" aus. Dann verstehst Du vielleicht was ich meine.

Gruss,
Destry
Bitte warten ..
Mitglied: Peter161
20.07.2009 um 16:40 Uhr
Zitat von Destry:
Ich glaube Du kennst die versteckten Standardfreigaben nicht.
Jeder Rechner hat normalerweise die Standardfreigaben "C$"
und "Admin$. "C$" gibt es übrigens für jede
Partition, also auch "D$", "E$", usw..
Probier mal auf Deiner Maschine auf der Kommandozeile ein: dir
\\DEIN_RECHNERNAME\c$" aus. Dann verstehst Du vielleicht was ich
meine.

Gruss,
Destry

Ich weiß schon was du meinst
nur Mein Script weiß nur das der ORdner SNW den Pfad:
D:\Daten\test\SNW hat.

Der Pfad kann aber immer unterschiedlich sein. Der kann auch mal Z:\SNW sein
also brauche ich nur den ersten buchstaben und kann ich das mit ~machen?
Bitte warten ..
Mitglied: Destry
20.07.2009 um 16:58 Uhr
Versuche den UNC-Pfad zu nehmen.
Hast Du hier mehrere Möglichkeiten musst Du diese wohl abfangen.
Ganz deutlich wird mir Dein Problem nicht.

Gruss,
Destry
Bitte warten ..
Mitglied: Peter161
20.07.2009 um 17:02 Uhr
Zitat von Destry:
Versuche den UNC-Pfad zu nehmen.
Hast Du hier mehrere Möglichkeiten musst Du diese wohl
abfangen.
Ganz deutlich wird mir Dein Problem nicht.

Gruss,
Destry

Das Problem ist, dass alles, wie ich schon öfters betonte VARIABEL sein muss. Also für verschiedene Nutzer, und auch auf verschiedenen Basisen laufen muss.

Wie du meinen Abfrage entnehmen kannst, frage ich nach der Freigabe auf dem Server
diese lautet im Normalfall (\\server\SNW)
Daraus ermittelt der Computer den lokalen Pfad auf dem Server.
Nun müsste ich nur den lokalen Pfad z.b. R:\test\SNW in \\%server%\r$\test\SNW ändern können. Danke.
Bitte warten ..
Mitglied: Destry
20.07.2009 um 17:25 Uhr
Aha.
Nimm doch von "R:\test\SNW" den Teil nach dem Doppelpunkt, also "\test\SNW" und setze ihn mit der Serverfreigabe, also "\\%server%\c$", zusammen, also: "\\%server%\c$\test\SNW".

Sowas wie, je nach Laufwerksbuchstabe nehme ich die Serverfreigabe gibt es nicht.
Hast Du eine Freigabe auf dem PC unter dem Laufwerksbuchstaben R eingerichtet so bedeutet das doch nicht das die Freigabe auf dem Server unter R liegt. Normalerweise wird sie unter C liegen, oder vielleicht noch unter D. Je nachdem wieviel Partitionen Du hast.

Du stellst da einen Zusammenhang her, den es nicht gibt. Das eine sind die Partitionen und damit Laufwerke des Servers, das andere sind Laufwerksbuchstaben welche Du für die Clients benutzt um Netzlaufwerke zu verbinden.

Ich kann Deinen Wunsch nach maximaler Variabilität verstehen. Den haben wir alle.
Aber es allem und jedem Recht zu machen bedeutet erhöhten Programmieraufwand. Eventuell sind gruppen- oder personenabhängige Loginskripts das Richtige für Dich.

Gruss,
Destry
Bitte warten ..
Mitglied: Peter161
20.07.2009 um 17:34 Uhr
Zitat von Destry:
Aha.
Nimm doch von "R:\test\SNW" den Teil nach dem Doppelpunkt,
also "\test\SNW" und setze ihn mit der Serverfreigabe, also
"\\%server%\c$", zusammen, also:
"\\%server%\c$\test\SNW".

wie kommst du von R: auf C:?
Sowas wie, je nach Laufwerksbuchstabe nehme ich die Serverfreigabe
gibt es nicht.
Doch muss es doch geben, denn wenn einer den Splin hat und seine Partitionen ghi nennt, sind auch die Standardfreigaben h$, g$, und i$.
Hast Du eine Freigabe auf dem PC unter dem Laufwerksbuchstaben R
eingerichtet so bedeutet das doch nicht das die Freigabe auf dem
Server unter R liegt.
Warum?
Normalerweise wird sie unter C liegen, oder
vielleicht noch unter D. Je nachdem wieviel Partitionen Du hast.
Wieso???

Du stellst da einen Zusammenhang her, den es nicht gibt. Das eine
sind die Partitionen und damit Laufwerke des Servers, das andere sind
Laufwerksbuchstaben welche Du für die Clients benutzt um
Netzlaufwerke zu verbinden.
Doch.

Mir würde es reichen, wenn du mir sagen kannst, wie ich nur den ersten Buchstaben verwenden kann. Danke.

Ich kann Deinen Wunsch nach maximaler Variabilität verstehen.
Den haben wir alle.
Ja aber es sollen auch welche damit arbeiten, die nicht so viel Ahnung haben.
Eigendlich soll es so einfach wie möglich sein.
Aber es allem und jedem Recht zu machen bedeutet erhöhten
Programmieraufwand. Eventuell sind gruppen- oder
personenabhängige Loginskripts das Richtige für Dich.

Gruss,
Destry
Viele Grüße Pete
Bitte warten ..
Mitglied: Peter161
20.07.2009 um 17:44 Uhr
So, habs jetzt gelöst,

%lbasis% sieht so aus C:\test\SNW
kann aber auch R:\SNW
F:\Test\neu\SNW sein
Also Variabel.
Wie gefordert....
01.
rem  Pfad über Standardfreigabe zur Basis 
02.
set "A=%lbasis:~0,1%" 
03.
set "B=%lbasis:~2%" 
04.
set "sbasis=\\%a%$%B% 
05.
rem Irgendwie hab ich das Gefühl du hast selber keine Ahnung. Berichtige mich, wenn ich falsch liege.
Bitte warten ..
Ähnliche Inhalte
Windows Userverwaltung
Berechtigungen Verzeichnisse
Frage von uridium69Windows Userverwaltung1 Kommentar

Tag zusammen Ich bin dabei unsere Berechtigungen zu überarbeiten, wir haben an die 40 Verzeichnisse die auf dem "Root" ...

Windows Netzwerk
SSH Berechtigungen auf Verzeichnisse
Frage von joes1609Windows Netzwerk5 Kommentare

Hallo, ich habe folgendes Problem. Ich habe einen Windows 2012R2 Server, auf dem OpenSSH installiert ist. Nun sollen drei ...

Exchange Server
Exchange online: Freigegebenes Postfach Berechtigungen
gelöst Frage von rrobbyyExchange Server1 Kommentar

Hallo zusammen, wir nutzen die freigegebenen Postfächer in Exchange online. Hier kann man in der Konsole unter Postfachstellvertretung die ...

Windows Server
Speicherplätze: gelöschter Platz wird nicht freigegeben, PS Optimize-Volume schlägt fehl
Frage von hcfel1Windows Server1 Kommentar

Hallo! Habe auf meinem privaten HP N40L ein kurioses Problem. Verwende alte Festplattenbestände mit den Storage Spaces/Speicherplätzen für private ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Necur-Botnet soll Erpressungstrojaner Scarab massenhaft verbreiten

Information von BassFishFox vor 2 StundenErkennung und -Abwehr

12,5 Millionen Spam-Mails aus einem Bot-Netz mit 6 Millionen Computern? Eigentlich eine schwache Leistung. Die Erpresser setzen dabei auf ...

Microsoft

Nadeldrucker-Problem unter Windows - Microsoft liefert Updates

Information von BassFishFox vor 3 StundenMicrosoft

Hat ja nicht lange gedauert. Nachdem die November-Updates für Windows 7, 8.1 und 10 zahlreiche Nadeldrucker lahmgelegt hatten, stellt ...

Linux

Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde

Information von Frank vor 10 StundenLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 1 TagBatch & Shell9 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Heiß diskutierte Inhalte
Linux
Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde
Information von FrankLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Router & Routing
Zwei Netzwerke erstellen
Frage von bunteblumeRouter & Routing14 Kommentare

Hallo Zusammen, Ich möchte gerne ein backup von einem bestimmten Folder welcher auf dem Server regelmässig synchronisiert wird auf ...

Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...

Windows Server
Kann man im KMS nachschauen , wieviele Clients den Key in Anspruch genommen haben
gelöst Frage von rainergugusWindows Server12 Kommentare

Hallo, wir haben einen KMS Windows 10 Key. Dieser ist ja W7 kompatibel. Aber unser Windows 7 Pool registriert ...