Permissions Windows 10 en Cygwin op NTFS volume

Pagina: 1
Acties:

Vraag


  • ZatarraNL
  • Registratie: Mei 2015
  • Laatst online: 13:48
Ik heb een probleem met het kopieren van bestanden binnen een windows netwerk naar een NTFS volume, waar Cygwin met de permissions knoeit. Wie kan mij helpen?

De situatie
Ik maak wekelijks een incremental backup met Rsync van een Windows 10 computer met Cygwin naar een externe NAS. Deze Windows 10 computer deelt zijn HDD (NTFS) met andere PC's in het interne netwerk. Omdat de backup met Rsync naar een NAS op een fysiek externe locatie gaat, gebruik ik in het script de volgende commando's:

chmod -R 700 /cygdrive/e/video

RSYNC -ahv --chmod=a+rwx --delete --stats --progress --timeout=120 --exclude=".*" --log-file="[logbestand]" -e 'ssh -p [port]' /cygdrive/e/video "[doel]"

chmod -R 777 /cygdrive/e/video

De reden van de chmod aanpassing is dat ik niet wil dat andere gebruikers van de externe NAS deze video's kunnen bekijken/veranderen/enz, maar dat ik deze zelf lokaal wel kan gebruiken. Ik pas dus eerst de permissions aan, kopieer vervolgens de bestanden inclusief de aangepaste permissions, en verander daarna de permissions weer terug. Dit werkt naar wens, maar heeft blijkbaar een neveneffect.

Het probleem
Ik ontdek dat dit gevolgen heeft voor de permissions van nieuw te kopieren bestanden naar deze directory op de Windows 10 server. Windows geeft nieuwe bestanden automatisch de permission 070, terwijl dat afwijkt van de oorspronkelijke permissions van het bestand.

Het ongewenste effect
Het gevolg is dat ik deze video's niet meer kan bekijken (tenzij ik handmatig met cygwin de permissions weer aanpas). Voor andere gebruikers op het netwerk is dit onwerkbaar, aangezien ik niet met elke nieuwe video de permissions kan aanpassen. Meerdere Kodi systemen (Rpi's) kunnen de nieuwe video's niet vinden/afspelen na het plaatsen van de video's op de betreffende locatie, maar ook op andere windows 10 systemen kunnen de video's niet worden afgespeeld (en dus ook niet op de windows 10 systeem waar het bestand op staat).

Wat ik heb ontdekt
Het lijkt er sterk op dat cygwin een conflict heeft met de NTFS permissions van de directory. ACL heet dat, meen ik. Ik heb commando's gevonden als 'setfacl' en 'getfacl', maar ik heb geen idee hoe ik dat in deze situatie moet toepassen. Wie kan mij helpen?

Beste antwoord (via ZatarraNL op 24-02-2017 11:45)


  • Brahiewahiewa
  • Registratie: Oktober 2001
  • Laatst online: 30-09-2022

Brahiewahiewa

boelkloedig

Rolf82 schreef op donderdag 23 februari 2017 @ 22:08:
...Het lijkt er sterk op dat cygwin een conflict heeft met de NTFS permissions van de directory. ACL heet dat, meen ik. Ik heb commando's gevonden als 'setfacl' en 'getfacl', maar ik heb geen idee hoe ik dat in deze situatie moet toepassen. Wie kan mij helpen?
CACLS zoek je.
Maar ik zou je aanraden om je probleem op de NAS op te lossen. Nu verplaats je het probleem wat je op de NAS hebt, naar de Windows machine. Dat brengt dan weer z'n eigen afgeleide probleem met zich mee en dat is misschien wel op te lossen. Maar ideaal is het niet.

Waarom laat je op de Windows machine de rechten niet gewoon staan en doe je na afloop de van backup een chmod xyz remote op de NAS?

QnJhaGlld2FoaWV3YQ==

Alle reacties


Acties:
  • Beste antwoord
  • 0 Henk 'm!

  • Brahiewahiewa
  • Registratie: Oktober 2001
  • Laatst online: 30-09-2022

Brahiewahiewa

boelkloedig

Rolf82 schreef op donderdag 23 februari 2017 @ 22:08:
...Het lijkt er sterk op dat cygwin een conflict heeft met de NTFS permissions van de directory. ACL heet dat, meen ik. Ik heb commando's gevonden als 'setfacl' en 'getfacl', maar ik heb geen idee hoe ik dat in deze situatie moet toepassen. Wie kan mij helpen?
CACLS zoek je.
Maar ik zou je aanraden om je probleem op de NAS op te lossen. Nu verplaats je het probleem wat je op de NAS hebt, naar de Windows machine. Dat brengt dan weer z'n eigen afgeleide probleem met zich mee en dat is misschien wel op te lossen. Maar ideaal is het niet.

Waarom laat je op de Windows machine de rechten niet gewoon staan en doe je na afloop de van backup een chmod xyz remote op de NAS?

QnJhaGlld2FoaWV3YQ==


Acties:
  • 0 Henk 'm!

  • ZatarraNL
  • Registratie: Mei 2015
  • Laatst online: 13:48
Hallo Brahiewahiewa, bedankt voor je reactie.

Ik wil het probleem wel op de NAS oplossen, maar ik weet nu nog niet hoe ik dat via een script over ssh doe. Ik ben nog steeds een aardige linux-noob, al wordt dat beter. Dat is me met Rsync al wel gelukt.

Desalniettemin is de NTFS permissie van de huidige directorystructuur naar de kloten. En dat wil ik graag repareren. Jij zegt dat ik daar CACLS voor nodig heb? Hoe werkt dat?

Edit: gevonden. Ik heb met opdrachtprompt op de juist locatie de volgende opdracht gegeven:

icacls video /T /Q /C /RESET


Blijkbaar is is icacls een windows programma, en geen linux ;)
Hartelijk bedankt voor deze tip.

Als je me nog tips kunt geven over aanpassen van permissions via ssh in een script, dan houdt ik mij aanbevolen!

[ Voor 43% gewijzigd door ZatarraNL op 25-02-2017 17:43 ]


Acties:
  • 0 Henk 'm!

  • Brahiewahiewa
  • Registratie: Oktober 2001
  • Laatst online: 30-09-2022

Brahiewahiewa

boelkloedig

Er van uit gaande dat de NAS onder linux of bsd draait, zou zoiets moeten werken:
chmod -R 700 /<doel>/video


Eventueel zou je weg kunnen komen met een éénmalige wijziging van de parent directory
Stel dat het volledige pad is /<nas>/Rolf82/video. Als je dan /<nas>/Rolf82 op 700 zet, worden subdirectories überhaupt niet weergegeven voor andere users. Maar ik weet niet zeker of het pad /nas/Rolf82/video dan wel weer toegangkelijk is

QnJhaGlld2FoaWV3YQ==


Acties:
  • 0 Henk 'm!

  • ZatarraNL
  • Registratie: Mei 2015
  • Laatst online: 13:48
chmod zou werken als het script op de nas stond. Dat is niet zo. Het script staat op de Windows 10 pc. Dus een script op de Windows pc moet via ssh een chmod opdracht geven aan de nas.

Zo'n soort commando zoek ik:
Chmod -R 700 -e ssh rolf82@[ipadres] /mnt/HD_a2/video

Maar dit werkt naar alle waarschijnlijkheid niet ;)

Zou dit werken in het script?
RSYNC -ahv --chmod=a+rwx --delete --stats --progress --timeout=120 --exclude=".*" --log-file="[logbestand]" -e 'ssh -p [port]' /cygdrive/e/video "[doel]"

ssh rolf82@[ipadres]

chmod -R 700 /mnt/HD_a2/video

~.

[ Voor 29% gewijzigd door ZatarraNL op 25-02-2017 15:55 ]