16. april 2005 - 09:12Der er
19 kommentarer og 1 løsning
.bat fil til angivelse af brugeradgang på filer og mapper
Jeg sidder i en forening med en pc hvor delte dokumenter er delte afhængig af enkelte brugeres navne samt grupper. Fx kan har en gruppe fuld adgang, en anden har begrænset adgang og en tredie har ingen adgang. Mit problem er at de brugere som har begrænset adgang skal kunne lægge ting ud som andre brugere med begrænset adgang skal kunne se. Problemet er så blot at de ikke ved eller de glemmer at sætte sikkerheden og derved er det kun dem selv og administratoren som har adgang. Som administrator kunne jeg derfor godt tænke mig at lave en *.bat fil som sætter rettighedder. Jeg forestiller mig at mappen "delte dokumenter" skal løbes igennem. I mappen er der to mapper "børn" og "voksne" Alt der ligger i "børn" såvel filer som mapper og deres filer og mapper osv skal løbes igennem og rettighederne skal sættes for de tre grupper. Således at gruppe1 har fuld adgang, gruppe2 begrænset(læse/oprette) og gruppe 3 kun har læse rettigheder Alt der ligger i "voksne" såvel filer som mapper og deres filer og mapper osv skal løbes igennem og rettighederne skal sættes for de tre grupper. Således at gruppe1 har fuld adgang, gruppe2 begrænset(læse/oprette) og gruppe3 ikke har nogen rettigheder Det kunne også være godt hvis man kunne specificere en enkelt person Dernæst forestiller jeg mig at jeg kan køre *.bat filen engang om ugen så jeg er sikker på alle retighedder er korrekt sat Nogen som kan hjælpe med et udkast til en sådan fil?
men hvis rettigheder er sat som nedarvet, så vil de altid blive korrekte - hvis du vil sikre, at ingen kan ændre rettigheder, så giver du ikke F(ull) men C(hange) i stedet for - så kan rettigheder ikke rettes.
Blot for at teste har jeg lavet en gruppe som hedder Brugere. Men pc nacn bliver det BUSSCHOU\Brugere. Jeg har lavet en test mappe som hedder test. Gruppen har jeg givet ret til "læsning og kørsel" "visning af mappeindhold" og "læsning" markeret med flueben på sikkerheds siden. Dernæst kører jeg følgende som så burde sætte gruppens adgang til afvis i alle flueben. Men det virker ikke og den giver ingen fejlmedelelse? nb hvis jeg bruger " omkring såvel stien som gruppen så giver den en "ugyldig argumenter" fejl. ----------- cacls c:\Documents and Settings\All Users\Dokumenter\test /T /C /G BUSSCHOU\ Brugere:n /P BUSSCHOU\Brugere:n
for det første er det ikke smart at dele mapper under profilen, men derudover er problemet, at du har blanktegn i filnavnet - derfor skal du sætte ":
cacls c:"\Documents and Settings\All Users\Dokumenter\test" /T /C /G "BUSSCHOU\Brugere":N
derudover laver du dobbeltkonfekt - både /G(rant) og /P(rePlace) - du bruger kun det ene eller det andet - og du bør nemmest bruge /G
Det vil også kun virke, hvis du selv har rettigheder til at sætte rettigheder på mappen - ofte vælges at tilføjge "administrators" Full control samtidig:
cacls c:"\Documents and Settings\All Users\Dokumenter\test" /T /C /G "BUSSCHOU\Brugere":N "BUSSCHOU\Administrators":F
lap >> 1) for det første er det ikke smart at dele mapper under profilen - hvad mener du med det? 2) men derudover er problemet, at du har blanktegn i filnavnet - derfor skal du sætte ": - Når jeg sætter gåseøjne omkring såvel sti som gruppen så siger den "Ugyldige argumenter". Uanset om det er den ene eller den anden eller begge to med gåseøjne 3) dobbelt konfekten var et forsøg som test og jeg skal også sætte de andre når jeg har fået det til at virke :o) Ville lige teste med een mappe uden indhold først
-- Men dvs problemet nok er at der er mellemrum i sti navnet? Hvordan kan man så undgå det for det er der jo nu engang i windows
Alle mapper under document and settings er profilen - altså noget som er "personligt" - på trods af all users - så er det en mappe, som alle brugere som logger på PC'en kan se. Jeg troede at det var en netværksdeling - men har netop genlæst dit første indlæg - det er muligvis lokalt på maskinen.
Har netop testet følgende:
cacls c:"\Documents and Settings\lap\My Documents\test" /T /C /G "b1-pc\lap":F
hvilket virker, men det skal være korrekte store/små bogstaver (er dog ikke helt sikker). Jeg får ingen fejl og rettighederne bliver sat.
Der er tale om en enkelt pc med en masse brugerer som deler mappen Når jeg taster følgende ----- cacls C:"\Documents and Settings\All Users\Dokumenter\test" /T /C /G "BUSSCHOU\Brugere":N ----- Så skriver den stadig ugyldige argumenter og intet sker... pokkers ..stien må være korrekt for den er taget i kommandopromten via tabulator Er det fordi det kun virker for enkelte brugere og ikke grupper?
Her min promt ---- C:\>cacls c:"Documents and Settings\All Users\Dokumenter\test" /T /C /G "Brugere ":N Ugyldige argumenter.Viser eller modificerer ACL(Access Control Lists) til filer
CACLS filnavn [/T] [/E] [/C] [/G bruger:tilladelse] [/R bruger [...]] [/P bruger:tilladelse [...]] [/D bruger [...]] filnavn Viser ACL. /T Ændrer angivne filers ACL i den aktuelle mappe og alle undermapper. /E Rediger ACL i stedet for at udskifte den. /C Fortsæt ved adgang nægtet-fejl. /G bruger:tilladelse Giv angiven bruger rettigheder. Rettighed kan være: R Læsning W Skrivning C Ændring (skrivning) F Fuld kontrol /R bruger Ophæv angiven brugers rettigheder (kun gyldig med/E). /P bruger:tilladelse Erstat angiven brugers rettigheder. Rettighed kan være: N Ingen R Læsning W Skrivning C Ændring (skrivning) F Fuld kontrol /D bruger Nægt angiven bruger adgang. Jokertegn kan bruges til at angive mere end en fil i en kommando. Du kan angive mere end en bruger i en kommando.
Forkortelser: CI - Nedarvning fra objektbeholder. ACE nedarves af mapper. OI - Nedarvning fra objekt. ACE nedarves af filer. IO - Kun nedarvning. ACE anvendes ikke på den aktuelle fil/mappe.
Altså ideen er at jeg for en gruppe vil fjerne alle retigheder på mappen og alt under den. For en anden gruppe vil jeg give alle retigheder på nær slette. På en sidste vil jeg give alle retigheder. Lige nu tester jeg jo blot den ene funktion Men jeg prøver da lige om den vil det andet
ok når jeg vælget :F så spørge den pludselig om jeg er sikker Når jeg højreklikker på mappen og ser under sikkerhed så er der hakket af i følgende under tillades: "læsning og kørsel" "visning af mappeindhold" og "læsning" Men ikke i følgende: "Fuld kontrol" "Redigering" og "Skrivning" Der er ikke hakket af i nogen under afvis --- Hvis jeg prøver den med :N igen så giver den fejl igen Min mening er at gruppe1 skal have hakket af i alle felter under tilladelser, gruppe to skal have hakket af i alle felter under afvis. og treide gruppe skal have afvist alt på tre tilladelser i "læsning og kørsel" "visning af mappeindhold" og "læsning"
det er lidt forkert tankegang - de som ingen adgang skal have skal slet ikke nævnes. Hvis de (en person) ikke er medlem af en af grupperne med rettighed, så har de ingen.
Du er sikker på, at du selv har "full control" når du forsøger dig? De rettigheder du nævner er R.
Prøv at oprette en mappe med navn c:\dokumenter\voksne - jeg er bange for, at profilmappen tvinger nogle rettigheder på, som du ikke kan rette.
Jeg har sat rettigheder på ca. 500Gb data på denne måde, så jeg er helt sikker på, at det virker.... :-)
ahh doh du har ret i at de selvfølgelig slet ikke skal nævnes - altså dem som ingen adgang skal have Jeg har tænkt mig køre scriptet engang imellem Er det muligt at fjerne dem hvis de ved en fejl har fået rettigheder? Jeg er logget på som administrator så jeg har vist så full control som jeg kan få ;o) Prøver lige med R
ok det virker når jeg sætter mappen i roden Jeg har jo i sin tid lavet det så under mapper "arver" fra overmapper måske er det det som er galt? Findes der en måde så jeg nemt kan resette det hele og derefter starte på en frisk?
og endnu et spørgsmål kunne være om jeg kan undgå at svare ja når jeg laver det som en bat fil? Jeg har ikke mulighed for at rette det hele nu nemlig men så vil jeg forsøge i morgen
nej, du kan ikke bare resette - og det er "farligt" at rode med rettighederne i profilerne.
Du kan godt fjerne nedarvningen hvis du ved hvor du har startet fra, men jeg vil altså foreslå dig mapper i roden. Til gengæld kan du lave et par genveje i desktop/skrivebord for all users - så er der genveje for alle.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.