Vraag Hoe de eigendom van bestanden van de opdrachtregel te nemen?


Om de zoveel tijd kom ik een bestand tegen waar ik eigenaar van moet zijn. Ik gebruik normaal cacls voor het wijzigen van NTFS-machtigingen, maar het lijkt geen eigendom te zijn. Onder * nix zou ik zoiets doen chown me:me <file>. Is er een venster equivalent aan chown?


33
2018-06-17 14:55


oorsprong


too bad setACL werkt niet met het bovenstaande script. foutmeldingen op Win XP, 7 en 8 en je moet proffesor zijn om te ontdekken wat er mis mee is


antwoorden:


subinacl is een hulpprogramma voor Windows-sysadmin voor alles wat te maken heeft met eigendom en ACL's. Je kunt het eigendom veranderen in iemand anders dan alleen jij (je kunt dit niet doen met de GUI).

subinacl /file test.txt /setowner=domain\foo

Hiermee kun je de rechten instellen voor elke gewenste gebruiker, zonder een beheerder te hoeven zijn (zoals ik geloof dat takeown.exe vereist).


24
2018-06-17 15:05



Niet geldig voor windows xp Kan ik SUBINACL.exe (Windows 2003 Resource Kit) downloaden en gebruiken in Windows XP? - Kiquenet
Natuurlijk kan je dat! Dat is waarschijnlijk waar ik het vandaan heb. Proberen hier. - crb


U zoekt "TAKEOWN.EXE", dat als eerste in Windows Server 2003 als standaardonderdeel werd gebruikt en ik geloof eerder in een resourcekititem. Het is beschikbaar op Windows 7 en mogelijk nieuwere systemen.

takeown /f <some-file-or-folder> /r

/r voert de bewerking recursief uit op alle onderliggende items van de opgegeven map. anders subinacl, u moet inloggen als de gebruiker waarmee u eigenaar probeert te worden; of u kunt eenvoudig het eigendom toewijzen aan de groep "Administrators".

Hier is een kopie van de documentatie, zoals bewaard op SS64:

Syntaxis         TAKEOWN [/ s Computer [/ u [Domein] Gebruikersnaam [/ p [Wachtwoord]]]]            / f Bestandsnaam [/ a] [/ r [/ d {Y | N}]]

Sleutel / s Computer              De naam of het IP-adres van een externe computer (gebruik geen backslashes).              standaard = lokale computer.              Deze parameter is van toepassing op alle bestanden en mappen die in de opdracht zijn opgegeven.

/ u [Domein] Gebruikersnaam              Voer het script uit met de machtigingen van het opgegeven gebruikersaccount.              default = systeemrechten.

/ p [Wachtwoord]              Het wachtwoord van het gebruikersaccount dat is opgegeven in de parameter / u.

/ f Bestandsnaam              De bestandsnaam, UNC-pad of directorynaampatroon.              Accepteert het jokerteken *

/ a Geef eigenaar aan de groep Administrators in plaats van de   huidige gebruiker.

/ r Voer een recursieve bewerking uit op alle bestanden in de opgegeven   directory              en submappen.

/ d {Y | N}              Onderdruk de bevestigingsprompt die wordt weergegeven wanneer de huidige gebruiker              beschikt niet over de machtiging "Lijstmap" in een opgegeven map,              en in plaats daarvan een standaardwaarde gebruiken:                 Y: Neem bezit van de directory.                 N: de map overslaan.              Merk op dat u deze optie moet gebruiken in combinatie met de optie / r. Als de parameter / a niet is opgegeven, is het eigendom van het bestand   gegeven aan de gebruiker die momenteel is aangemeld op de computer.

Gemengde patronen met (? En *) worden niet ondersteund door de takeown   commando.

Nadat u de eigenaar van een bestand / map heeft gewijzigd, kunt u vervolgens de volmelding toewijzen   machtigingen voor de bestanden en vervolgens lezen of verwijderen.


24
2018-06-17 15:00



Gepensioneerde inhoud  microsoft.com/en-US/download/details.aspx?id=53314 - Kiquenet
SS64 Heeft een betere documentatielink: ss64.com/nt/takeown.html - jpaugh


Neem het eigendom en de volledige rechten van de map en alles binnen:

takeown /F somedir /A /R
icacls somedir /grant:r User:F /T

Ik moest een bevelherinnering als beheerder beginnen, maar het werkte voor me in Windows 8.1. Met Windows 8.1 onhandig, moest ik zoeken naar "commando", klik met de rechtermuisknop op het pictogram van de opdrachtprompt om de optie "uitvoeren als beheerder" te zien. Ik had een opdrachtprompt vastgemaakt aan mijn taakbalk, maar door er met de rechtermuisknop op te klikken, werd de optie "uitvoeren als beheerder" niet weergegeven.

Icacls [/ GRANT [: r]: [...]] [/ Denegar: [...]] [/ Remove [: g |: d]] [...]] [/ t] [/ c] [/ l] [/ q] [/ setintegritylevel: [...]] Icacls [/ sustituir [...]] [/ restore [/ c] [/ l] [/ q]]


14
2017-08-31 16:41



Houd er rekening mee dat icacls verslikt op lange padnamen. Het foutbericht "bestand niet gevonden" is een beetje misleidend, erger icalcs verbreekt de verwerking van de rest van de boom zonder bericht. Je kunt de truc gebruiken om een ​​SUBST-volume dieper in de boom te maken om dit soms te omzeilen. Takeown.exe tolereert lange namen. - Andrew Dennison
Niet geldig voor Windows XP - Kiquenet


Ik weet dat dit een is werkelijk oude bericht, maar er is een manier ingebouwd in Windows 7 en nieuwer (mogelijk in Windows Vista, maar ik weet het niet zeker). Voer het volgende uit vanaf een geëscaleerde opdrachtprompt in de map die u opnieuw wilt instellen. /t vertelt icacls om de bewerking recursief uit te voeren.

icacls .\* /setowner %UserDomain%\%UserName% /t
icacls .\* /reset /t

De eerste opdracht reset de eigenaar naar wie er ooit is aangemeld via de omgevingsvariabelen. Natuurlijk kan in plaats daarvan een specifieke naam worden gebruikt.

Het tweede commando dwingt vervolgens de permissies die opnieuw in de boomstructuur moeten worden doorgevoerd naar alle onderliggende mappen en bestanden.

Ik hoop dat dit iemand in de toekomst helpt.


5
2017-11-09 15:35



Het eerste commando was genoeg voor mij. - Benoit Blanchon


Misschien wil je eens een kijkje nemen SetACL, het Zwitserse legermes van toestemmingsbeheer. Hier is een voorbeeld over het toewijzen van het eigendom van alle bestanden op station C: aan 'beheerders' en de bescherming van overerving van alle onderliggende objecten in één keer verwijderen:

SetACL.exe -on "C:\\" -ot file -actn setprot
           -op "dacl:np;sacl:nc"
           -rec cont_obj
           -actn setowner -ownr "n:S-1-5-32-544;s:y"

Je kunt ook toevoegen -silent.


5
2018-01-14 08:53





In Windows Server 2003 R2 (en hoger) kunt u profiteren van de ingebouwde tool icacls.exe om het eigendom van de commandoregel te veranderen, evenals alle traditionele cacls.exe-manipulaties waarop het wordt uitgebreid ...

Merk op dat icacls.exe standaard naar de "bewerk" modus gaat, terwijl cacls.exe standaard naar de "vervang" modus gaat - een welkome verandering voor degenen van ons die (meer dan eens) gebeten zijn door die kleine nuance van cacls!


3
2018-03-22 14:06



icacls is leuk omdat het is opgenomen in recente versies van vensters en het eigendom aan elke gebruiker kan toewijzen. - David


Gebruik voor Windows 2003, 2008 of Vista of 7 takeown.

Gebruik voor Windows 2000 Fileowners.pl.


3
2018-06-17 15:03



Niet gevonden support.microsoft.com/es-es/help/320046 Geen oplossing voor Windows XP - Kiquenet


Een ander alternatief is fileacl  Het is klein en kan de "erven / niet-erven" -markering op het object in- of uitschakelen, in tegenstelling tot de meeste Windows-utils.


1
2018-05-05 21:28





Ik heb een oplossing gevonden met Windows Tools: cacls

cacls <file or directory> /E /T /G <user>:F

0
2017-07-18 13:49