Auteur Topic: Rechten? Veranderingen in links?? Python simlinks?  (gelezen 1129 keer)

Dit onderwerp bevat een als beste antwoord gemarkeerd bericht. Klik hier om er direct naartoe te gaan.

Offline a.appel

  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 0
  • Berichten: 24
Rechten? Veranderingen in links?? Python simlinks?
« Gepost op: 12 februari 2018, 19:54:23 »
Mijn Synology NAS (was een DS214+, is sinds afgelopen week een DS415Play) fungeert onder andere als videorecorder. Met een HDHomeRun digitale tuner in mijn netwerk en met DVBLink als server kan ik programma's opnemen en afspelen.

Om de programmagids (EPG) van informatie te voorzien gebruik ik een Python script, te weten tv_grab_nl3.py. Dit script heeft altijd voor een periode van 2 weken programma informatie gedownload en daar ook netjes een logboek over gevuld. Sinds een paar maanden wordt het logboek niet meer van de juiste text voorzien.

Het script wordt gerunt in een user directory, waarbij de text files elders staan. Als ik het script run als SUDO werkt het prima en krijg ik de Nederlandse tekst te zien. Run ik het als gewone user of als admin, krijg ik foutmeldingen.

Ik heb de rechten van directories en files op 777 gezet, maar dat maakt niet uit. Ik heb de verschillende directories in het path opgenomen, maar ook dat helpt niets.

Weet iemand of er iets gewijzigd is in de Python links? In de rechtenstructuur onder Python? In de simlinks? (ik gebruik Python 2.7.13-16 op DSM 6.1.5.15254)
  • Mijn Synology: DS214+
  • HDD's: 2 * 3 TB WD RED

Offline Ben(V)

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 67
  • -Ontvangen: 1521
  • Berichten: 8.608
Re: Rechten? Veranderingen in links?? Python simlinks?
« Reactie #1 Gepost op: 13 februari 2018, 09:18:54 »
Het gaat natuurlijk om de rechten van de logboek file.
Is dat een bestaand bestand of wordt dat elek keer door het python script aangemaakt?

Bij een bestaand bestand moet je die rechten aanpassen zodat de user waaronder je het python script uitvoert lees/schrijf rechten heeft op die file.

Op het moment dat die file aangemaakt wordt krijgt hij normaal gesproken de rechten van de folder waarin hij aangemaakt wordt en zal de owner van die file hetzelfde zijn als degene die de file aanmaakt.

Ik ken je opzet niet maar als je privilege bits van een file gaat zetten die al open is heeft dat geen effect.
Dus als je script draait terwijl je dat doet werkt het niet.
  • Mijn Synology: DS414
  • HDD's: 4 x 3TB WD30EFRX
  • Extra's: DS116
All truth passes through three stages: First it is ridiculed, second it is violently opposed and third it is accepted as being self-evident.

Offline a.appel

  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 0
  • Berichten: 24
Re: Rechten? Veranderingen in links?? Python simlinks?
« Reactie #2 Gepost op: 13 februari 2018, 10:28:30 »
"het gaat natuurlijk om de rechten van de logboek file"
Tja, dat zou je bijna gaan denken, toch?
Maar nee, ik ben eigenaar van het logfile, ik heb alle rechten en ik ben ook de user die het script uitvoert. De folder is door mij aangemaakt en ook daar heb ik alle rechten op.
  • Mijn Synology: DS214+
  • HDD's: 2 * 3 TB WD RED

Offline Ben(V)

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 67
  • -Ontvangen: 1521
  • Berichten: 8.608
Re: Rechten? Veranderingen in links?? Python simlinks?
« Reactie #3 Gepost op: 13 februari 2018, 10:37:57 »
Tja dan zul toch iets niet goed zien, want anders kan het niet gaan werken als je het script root rechten geeft via sudo.
Hoe start je dat script op?
Met de hand via putty of is het een package dat geinstalleerd is of gebruik je de taakplanner?
  • Mijn Synology: DS414
  • HDD's: 4 x 3TB WD30EFRX
  • Extra's: DS116
All truth passes through three stages: First it is ridiculed, second it is violently opposed and third it is accepted as being self-evident.

Offline a.appel

  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 0
  • Berichten: 24
Re: Rechten? Veranderingen in links?? Python simlinks?
« Reactie #4 Gepost op: 13 februari 2018, 10:50:08 »
Het script wordt standaard via taakplanner uitgevoerd, letterlijk: "/bin/su -c "/var/services/homes/a.appel/tvgrabpyAPI-stable-1.0.7/tv_grab_nl3.py --language nl --disable-ttvdb -C /var/services/homes/a.appel/.xmltv/tv_grab_nl3_py.conf -A /var/services/homes/a.appel/.xmltv/program_cache3.db -W /var/packages/DVBLinkServer/target/share/xmltv/data.xml" a.appel"

waarin -C het te gebruiken config file is, -A de cache database, -W het output file.

Echter, ook als ik de NAS via putty benader (met mijn user ID), en de boel run krijg ik ook geen NL output in de logfile.
  • Mijn Synology: DS214+
  • HDD's: 2 * 3 TB WD RED

Offline Ben(V)

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 67
  • -Ontvangen: 1521
  • Berichten: 8.608
Re: Rechten? Veranderingen in links?? Python simlinks?
« Reactie #5 Gepost op: 13 februari 2018, 11:40:17 »
Ik zou in de eerste plaats maar eens dat su eruit halen.
Als je iets door de taakplanner laat uitvoeren kun je daar kiezen als welke user (of als root) het script wordt uitgevoerd.
dus dit in de taakplanner zetten:
"/var/services/homes/a.appel/tvgrabpyAPI-stable-1.0.7/tv_grab_nl3.py --language nl --disable-ttvdb -C /var/services/homes/a.appel/.xmltv/tv_grab_nl3_py.conf -A /var/services/homes/a.appel/.xmltv/program_cache3.db -W /var/packages/DVBLinkServer/target/share/xmltv/data.xml"

Verder moet je toch even kijken naar de locatie waar de log wordt weggeschreven.
Die staat niet op je commandline dus zit die ergens hardcoded in het script? Of bedoel je met die log de output file?

Ook zie ik dat hij de output probeert weg te schrijven in de folder waar het package geinstalleerd staat, daar heb je als normale gebruiker geen schrijfrechten, dus tenzij dat package daar de rechten heeft aangepast, kan jouw script daar niet schrijven.

Het zal allemaal wel met DSM 6 te maken te hebben waar packages niet meer draaien onder een user die in de group users zit en je dus niet via group rechten daar kunt schrijven.

Je hebt dus drie opties.
  • Het package ook group rechten uit laten geven
  • Een group aanmaken en met winscp de folder waar de output komt plus jezelf aan die group toevoegen
  • Het script als root laten draaien in de taakplanner
  • Mijn Synology: DS414
  • HDD's: 4 x 3TB WD30EFRX
  • Extra's: DS116
All truth passes through three stages: First it is ridiculed, second it is violently opposed and third it is accepted as being self-evident.

Offline a.appel

  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 0
  • Berichten: 24
Re: Rechten? Veranderingen in links?? Python simlinks?
« Reactie #6 Gepost op: 13 februari 2018, 16:29:08 »
Ik zou in de eerste plaats maar eens dat su eruit halen.
Als je iets door de taakplanner laat uitvoeren kun je daar kiezen als welke user (of als root) het script wordt uitgevoerd.
dus dit in de taakplanner zetten:
"/var/services/homes/a.appel/tvgrabpyAPI-stable-1.0.7/tv_grab_nl3.py --language nl --disable-ttvdb -C /var/services/homes/a.appel/.xmltv/tv_grab_nl3_py.conf -A /var/services/homes/a.appel/.xmltv/program_cache3.db -W /var/packages/DVBLinkServer/target/share/xmltv/data.xml"
Dat zou je wel zeggen, he.... Maar nee, hier heb ik de vorige keer, met Synology support al een paar weken over zitten stoeien. Dit script heeft een beveiliging, zodat het niet als root gerund kan worden. Als ik die su eruit haal, draait de taakplanner hem altijd als root. Ook als ik aangeef dat ie hem als a.appel moet draaien. Vraag me niet waarom, maar het gebeurt. En Synology support snapt ook niet waarom... Uiteindelijk zijn we op deze "omweg" uitgekomen om toch als a.appel het script te laten draaien.

Verder moet je toch even kijken naar de locatie waar de log wordt weggeschreven.
Die staat niet op je commandline dus zit die ergens hardcoded in het script? Of bedoel je met die log de output file?
De log wordt geschreven in de .xmltv directory en is hardcoded in het script. Tenminste, ik kan het niet met een optie of parameter aangeven dat ie het ergens anders moet schrijven. En er wordt wel in het log geschreven, alleen niet de juiste tekst. Het script haalt in een taal file de juiste tekst op en schrijft dat in het log file. Echter, dat ophalen gaat niet goed. En dus schrijft het script een error (of eigenlijk 3 Mb aan error regels) in het log file.

Ook zie ik dat hij de output probeert weg te schrijven in de folder waar het package geinstalleerd staat, daar heb je als normale gebruiker geen schrijfrechten, dus tenzij dat package daar de rechten heeft aangepast, kan jouw script daar niet schrijven.
De output wordt geschreven naar de XML import directory van DVBLink. Daar heeft elke user lees- en schrijfrechten.

Je hebt dus drie opties.
1. Het package ook group rechten uit laten geven
2. Een group aanmaken en met winscp de folder waar de output komt plus jezelf aan die group toevoegen
3. Het script als root laten draaien in de taakplanner
1 en 2 begrijp ik niet goed. Kun je dat iets uitgebreider uitleggen?
3. werkt niet; de beveiliging in het script laat het niet als root draaien. Vraag me niet waarom, maar het kan niet...
  • Mijn Synology: DS214+
  • HDD's: 2 * 3 TB WD RED

Gemarkeerd als beste antwoord door a.appel Gepost op 14 februari 2018, 14:57:55

Offline Ben(V)

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 67
  • -Ontvangen: 1521
  • Berichten: 8.608
Re: Rechten? Veranderingen in links?? Python simlinks?
« Reactie #7 Gepost op: 13 februari 2018, 18:09:57 »
Het probleem is dat het package vanaf DSM 6 niet meer onder een normale user draait en de folders en files ook niet van een normale user zijn, maar van een hidden user die ook niet in de group users zit.

Als je geen verstand hebt van packages maken dan is optie 1 niet voor je weggelegd en optie 3 kan volgens jouw niet omdat dat in het package hardcode is afgevangen.

Blijft optie 2 over.

Installeer winscp op je PC en hoe je die verder moet configureren staat in een tutorial van Birdy, die moet je maar even opzoeken.
Dan maakt je in DSM een groep aan en voeg de gebruiker a.appel toe aan die groep.
Ga met winscp naar de folders waar die taal bestanden staan en ga op de folder staan waar die bestanden instaan.
Rechtsklik op properties en pas de groep aan naar de groep die je net hebt aan gemaakt.
Doe dat ook voor de folder waar de output terecht moet komen.
  • Mijn Synology: DS414
  • HDD's: 4 x 3TB WD30EFRX
  • Extra's: DS116
All truth passes through three stages: First it is ridiculed, second it is violently opposed and third it is accepted as being self-evident.

Offline a.appel

  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 0
  • Berichten: 24
Re: Rechten? Veranderingen in links?? Python simlinks?
« Reactie #8 Gepost op: 14 februari 2018, 10:05:22 »
Wat bedoel je eigenlijk met "package"? Is dat de kernel? Of DSM? Of iets anders? Ik begrijp namelijk niet helemaal wat je ermee bedoelt.

Verder heb ik winscp geinstalleerd, een nieuwe groep op mijn nas aangemaakt (NASUsers) en mezelf in die groep gezet. Echter, als ik vervolgens in winscp naar de directory ga en op eigenschappen klik, kan ik alleen kiezen tussen de groepen Users en Root. De nieuwe groep staat daar dus niet bij.

Maar als ik het goed begrijp, moet ik de eigenaar en groep veranderen. Dat kan toch ook gewoon in Putty met chown?
  • Mijn Synology: DS214+
  • HDD's: 2 * 3 TB WD RED

Offline Ben(V)

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 67
  • -Ontvangen: 1521
  • Berichten: 8.608
Re: Rechten? Veranderingen in links?? Python simlinks?
« Reactie #9 Gepost op: 14 februari 2018, 10:38:30 »
Een package is een applicatie die ingepakt is als een package zodat je het kunt installeren op je NAs.
Met andere woorden de .spk file.

Je moet in winscp gewoon de juiste group zelf invullen.
Die kun je niet kiezen uit de pulldown, daar zie je alleen de al toegekende groepen.
  • Mijn Synology: DS414
  • HDD's: 4 x 3TB WD30EFRX
  • Extra's: DS116
All truth passes through three stages: First it is ridiculed, second it is violently opposed and third it is accepted as being self-evident.

Offline a.appel

  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 0
  • Berichten: 24
Re: Rechten? Veranderingen in links?? Python simlinks?
« Reactie #10 Gepost op: 14 februari 2018, 10:53:56 »
Ok. In WinSCP krijg ik de melding dat ik niet de juiste rechten heb en om uit te zoeken hoe ik sudo commando's moet geven, heb ik even geen zin in. In principe zeg je dat ik groep van de owner van de directories moet veranderen, toch? Alleen de groep of ook de owner zelf?
  • Mijn Synology: DS214+
  • HDD's: 2 * 3 TB WD RED

Offline Birdy

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 913
  • -Ontvangen: 4921
  • Berichten: 28.869
  • Synology is :-)
Birdy.


DS107+    HDS722020ALA330     DSM 3.1-1639       [ARCHIEF OPSLAG]
DS111     WD40EZRZ            DSM 6.1.7-15284-2  [ARCHIEF OPSLAG]
DS411slim Wisselende HD's     DSM 6.2.1-23824    [SPEELTJE]
DS411+II  4 x HDS724040ALE640 DSM 6.1.7-15284-2  [PROD]
DS413j    4 x WD20EARX        DSM 6.1.7-15284-2  [BACKUP]
DS716+II  2 x DT01ACA050      DSM 6.2-23739-2    [TEST]
RT2600ac                      SRM 1.1.7-6941-3   [PROD]

Offline a.appel

  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 0
  • Berichten: 24
Re: Rechten? Veranderingen in links?? Python simlinks?
« Reactie #12 Gepost op: 14 februari 2018, 12:52:48 »
Thx voor de link Birdy. Maar in principe kan het ook gewoon via de command line in Putty met chown, toch?
  • Mijn Synology: DS214+
  • HDD's: 2 * 3 TB WD RED

Offline Birdy

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 913
  • -Ontvangen: 4921
  • Berichten: 28.869
  • Synology is :-)
Re: Rechten? Veranderingen in links?? Python simlinks?
« Reactie #13 Gepost op: 14 februari 2018, 13:11:01 »
Jazeker maar, WinSCP werd genoemd.
Birdy.


DS107+    HDS722020ALA330     DSM 3.1-1639       [ARCHIEF OPSLAG]
DS111     WD40EZRZ            DSM 6.1.7-15284-2  [ARCHIEF OPSLAG]
DS411slim Wisselende HD's     DSM 6.2.1-23824    [SPEELTJE]
DS411+II  4 x HDS724040ALE640 DSM 6.1.7-15284-2  [PROD]
DS413j    4 x WD20EARX        DSM 6.1.7-15284-2  [BACKUP]
DS716+II  2 x DT01ACA050      DSM 6.2-23739-2    [TEST]
RT2600ac                      SRM 1.1.7-6941-3   [PROD]

Offline a.appel

  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 0
  • Berichten: 24
Re: Rechten? Veranderingen in links?? Python simlinks?
« Reactie #14 Gepost op: 14 februari 2018, 15:03:23 »
Nou, ik heb een (gewoon met PuTTy) de eigenaar en groep veranderd van diverse directories en files. Na het veranderen, liep het script op een onverwachte manier tegen een probleem aan, maar daardoor kwam wel de oplossing naar voren. Uiteindelijk bleek het in een van de simlink van zowel files en directories te zitten, in /usr/lib/python2.7/site-packages/tvgrabpyAPI/texts.

Maar, feit blijft dat Synology op een aparte manier omgaat met eigenaarschap en groepen, zowel qua files als processen. Tnx voor de hulp!
  • Mijn Synology: DS214+
  • HDD's: 2 * 3 TB WD RED


 

share rechten domein gebruikers / inloggen domein gebruikers

Gestart door surfertjeBoard Synology DSM algemeen

Reacties: 1
Gelezen: 715
Laatste bericht 08 maart 2017, 15:37:54
door Briolet
plex user, waarvoor is deze nodig en welke rechten heeft deze nodig?

Gestart door pcraenmeBoard Plex Media Server

Reacties: 3
Gelezen: 3410
Laatste bericht 25 juli 2014, 00:13:29
door r00n
Rechten op "home" mappen

Gestart door tcourtensBoard Windows

Reacties: 5
Gelezen: 3538
Laatste bericht 19 januari 2011, 17:33:41
door tcourtens
DSM6 DS1515+ , problemen met shares en rechten. (en inlog problemen)

Gestart door florisvnBoard Synology DSM 6.0

Reacties: 21
Gelezen: 3817
Laatste bericht 17 april 2016, 22:15:24
door florisvn
File rechten anders dan de map voor user (file mag niet gedelete kunnen worden)

Gestart door MichaelCBoard Synology DSM 5.1 en eerder

Reacties: 14
Gelezen: 4069
Laatste bericht 31 januari 2014, 11:08:33
door MichaelC
Synology-Forum.nl is een Nederlands gebruikersforum en staat volledig los van het merk Synology. Lees onze privacyverklaring.