Auteur Topic: Rechten? Veranderingen in links?? Python simlinks?  (gelezen 5530 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

Ben(V)

  • Gast
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.

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

Ben(V)

  • Gast
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?

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

Ben(V)

  • Gast
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

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

Ben(V)

  • Gast
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.

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

Ben(V)

  • Gast
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.

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: 1399
  • -Ontvangen: 8046
  • Berichten: 44.179
  • Fijne feestdagen.......
    • Truebase


CS406      DSM 2.0-0731    DS508      DSM 4.0-2265      DS411+II  DSM 6.2.4-25556-8   DS115J    DSM 7.1.1-42962-5   DS918+    DSM 6.2.4-25556-8
DS107+     DSM 3.1-1639    DS411slim  DSM 6.2.4-25556   DS213J    DSM 6.2.4-25556-7   DS1515+   DSM 6.2.4-25556-8   DS220+    DSM 7.2.2-72806-2
DS107+     DSM 3.1-1639    DS111      DSM 5.2-5967-9    DS413J    DSM 6.2.3-25426-2   DS716+II  DSM 7.2.2-72806-2   RT2600ac  SRM 1.3.1-9346-12
BeeDrive   1TB             BeeServer  BSM 1.2-65567                                                                 MR2200ac  SRM 1.3.1-9346-12

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: 1399
  • -Ontvangen: 8046
  • Berichten: 44.179
  • Fijne feestdagen.......
    • Truebase
Re: Rechten? Veranderingen in links?? Python simlinks?
« Reactie #13 Gepost op: 14 februari 2018, 13:11:01 »
Jazeker maar, WinSCP werd genoemd.


CS406      DSM 2.0-0731    DS508      DSM 4.0-2265      DS411+II  DSM 6.2.4-25556-8   DS115J    DSM 7.1.1-42962-5   DS918+    DSM 6.2.4-25556-8
DS107+     DSM 3.1-1639    DS411slim  DSM 6.2.4-25556   DS213J    DSM 6.2.4-25556-7   DS1515+   DSM 6.2.4-25556-8   DS220+    DSM 7.2.2-72806-2
DS107+     DSM 3.1-1639    DS111      DSM 5.2-5967-9    DS413J    DSM 6.2.3-25426-2   DS716+II  DSM 7.2.2-72806-2   RT2600ac  SRM 1.3.1-9346-12
BeeDrive   1TB             BeeServer  BSM 1.2-65567                                                                 MR2200ac  SRM 1.3.1-9346-12

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


 

FTP gebruikers/mappen/rechten

Gestart door FavreleubaBoard FTP, NFS and Samba Server

Reacties: 7
Gelezen: 5880
Laatste bericht 16 november 2011, 23:09:34
door Favreleuba
[Handleiding] DSM 5 rechten 3rd Party Packages

Gestart door Martijn85Board 3rd party Packages

Reacties: 6
Gelezen: 8437
Laatste bericht 20 april 2014, 15:31:16
door Martijn85
Instellen rechten van mappen en gebruikers

Gestart door zaanhoeveBoard Cloud Station & Drive

Reacties: 2
Gelezen: 1812
Laatste bericht 14 februari 2016, 14:08:16
door zaanhoeve
FileStation 3 - rechten met verwijderen

Gestart door AnonymousBoard File Station

Reacties: 0
Gelezen: 1939
Laatste bericht 30 april 2010, 19:22:00
door Anonymous
Film hernoemen lukt niet, te weinig rechten?

Gestart door stefveBoard CouchPotato

Reacties: 3
Gelezen: 2543
Laatste bericht 24 januari 2013, 09:52:01
door wpee