Auteur Topic: Generic service approach  (gelezen 6411 keer)

Offline Theox

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 0
  • Berichten: 5
Generic service approach
« Gepost op: 23 mei 2018, 10:33:17 »
Hey!

Ik ben al jaren synology gebruiker en, naast vele andere zaken, draai ik Transmission / Sickrage en Plex.

Sinds enige jaren heeft dit best veel inspanning opgeleverd, omdat enerzijds Sickrage door twee partijen werd ontwikkeld en Echel0n zijn pakket niet up-to-date had en daarnaast omdat het bij iedere softwareupdate weer een gedoe is met permissies. (Ik moet iedere keer via SSH inloggen om in start-stop-status de run of runas user aan te passen naar een door mij van te voren aangemaakte DSM user).

Maar, toen ik zojuist Transmission wilde updaten, zag ik het volgende staan:
"Use DSM 5+6 generic service approach for correct permissions."

Dus ik dacht, misschien is er een veel makkelijkere manier? Uiteraard heb ik gegoogled voordat ik hier naar ging vragen, maar ik kwam eigenlijk niet het antwoord tegen dat ik zocht. Wel kwam ik dit tegen: https://github.com/SynoCommunity/spksrc/issues/3138
Alleen snap ik dan nog steeds niet wat een generic service account is.

Is iemand hier bekend mee? Snapt iemand dit? Zou echt onwijs fijn zijn!  ;D
  • Mijn Synology: DS712+
  • HDD's: 1x SDSSDH3500G 1x WD
  • Extra's: 4 GB Ram

Offline mesa57

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 35
  • Berichten: 263
Re: Generic service approach
« Reactie #1 Gepost op: 23 mei 2018, 10:42:04 »
Hier staat wat meer :
https://github.com/SynoCommunity/spksrc/wiki/Service-Support

Maar of sickrage daar onder valt (daemons ?) weet ik niet.

Ben(V)

  • Gast
Re: Generic service approach
« Reactie #2 Gepost op: 23 mei 2018, 11:33:46 »
Aangezien ik dit issue al een aantal keren heb zien langs komen zal ik het nu eens uitgebreid uitleggen en misschien kan een van de admins als ze het ook belangrijk vinden hier een aparte sticky van maken.

Wat voornamelijk van belang is zijn deze twee wiki's

https://github.com/SynoCommunity/spksrc/wiki/Permission-Concept
https://github.com/SynoCommunity/spksrc/wiki/Permission-Management

De achtergrond is als volgt.

Ooit heeft Synology besloten dat elke "user" in de groep "users' opgenomen werd en dus ook de "user" waar een package onder draait.
Dat heeft tot gevolg dat in feite elk bestand dat door iets of iemand wordt aangemaakt, ook door alle ander "users" te lezen/schrijven is.

Synology heeft (en terecht) besloten dat zoiets niet wenselijk is en heeft met ingang van DSM 6 dit gewijzigd.
Vanaf DSM 6 draaien package onder een hidden user die niet in de groep 'users' is opgenomen en ook niet zichtbaar is in de DSM GUI.

Dit had tot gevolg dat een bestand die het ene package aanmaakte door een ander package niet meer gelezen kon worden.
Dus alle packages moesten aangepast worden om dit weer werkbaar te krijgen en er moest uitgezocht worden hoe dat gedaan moest worden en ik kan je verzekeren dat het niet simpel was.

Tevens vielen rond het moment dat DSM 6 uitkwam wat belangrijke steunpilaren van de SynoCommunity weg en moesten nieuwe mensen zich het framework weer eigen maken.
Het heeft dus een hele tijd geduurd voordat de package aangepast werden voor DSM 6.
Nu is er een nieuw framework ontwikkelt en gebouwd en worden langzamerhand alle packages daar heen gemigreerd.
Echter er wordt ook wat actie van de eindgebruikers verwacht zoals het zetten van de juiste rechten, zoals het in die twee wiki's wordt uitgelegd.

Er is dus een hele tijd geweest waarin een behoorlijk aantal packages van de SynoCommunity niet goed functioneerden of niet goed wilden draaien.
Daar zijn toen door goedwillende mensen allerlei lapmiddelen voor bedacht in de vorm van scripts aanpassen waardoor de packages ofwel als root draaiden ofwel als een user die wel in de groep users zat.

Hierdoor hebben bestaande folders en files niet de juiste rechten gekregen voor de groepen zoals in de wiki's beschreven.
Dus naast het zetten van de rechten zoals in de wiki's staat (niet vergeten het stuk over ACL's toe te passen) moet je ook met FileStation de rechten voor bestaande folders, subfolders en files die packages gebruiken aanpassen.


Offline Theox

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 0
  • Berichten: 5
Re: Generic service approach
« Reactie #3 Gepost op: 23 mei 2018, 12:54:41 »
Chille post, thanks voor de moeite!

Links + uitleg verklaren veel. Ik ga ermee aan de slag! Hopelijk hoef ik dan niet meer al die start-stop-status files aan te passen  (:
  • Mijn Synology: DS712+
  • HDD's: 1x SDSSDH3500G 1x WD
  • Extra's: 4 GB Ram

Offline mesa57

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 35
  • Berichten: 263
Re: Generic service approach
« Reactie #4 Gepost op: 23 mei 2018, 13:49:25 »
@Ben(V) : is die wiki waarvan ik de link plaatste niet meer geldig ?

Ben(V)

  • Gast
Re: Generic service approach
« Reactie #5 Gepost op: 23 mei 2018, 13:53:20 »
Jawel hoor maar dat is meer informatie voor mensen die packages maken.

Offline mesa57

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 35
  • Berichten: 263
Re: Generic service approach
« Reactie #6 Gepost op: 23 mei 2018, 14:11:17 »
Dus sickrage zou ook gebruik moeten maken van sc-download en sc-media ?

Btw. ik doe het spotweb package, heb je een idee aan welke user ik de spotweb/cache (die create/update/delete rechten moet hebben) zou moeten koppelen ?

Ben(V)

  • Gast
Re: Generic service approach
« Reactie #7 Gepost op: 23 mei 2018, 17:24:00 »
Alles gaat via die twee groepen.

Offline mesa57

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 35
  • Berichten: 263
Re: Generic service approach
« Reactie #8 Gepost op: 23 mei 2018, 17:28:34 »
Ok, weet je een voorbeeld hoe ik b.v. de cache folder kan koppelen aan b.v. sc-media gedurende de installatie ?

Ben(V)

  • Gast
Re: Generic service approach
« Reactie #9 Gepost op: 23 mei 2018, 18:55:06 »
Geen verstand van dat package.
Als het niet in het package is opgenomen kan dat niet.
Als dat een vaste locatie is zal de package maker het wel geregeld hebben.
Als het een locstie is die je zelf kiest dan kun je die tevoren aanmaken en die groep daar rechten geven.

Je kunt die rechten natuurlijk achteraf toekennen.
Handig is dan om het package bij de installatie niet meteen te starten

Offline sciurius

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 22
  • -Ontvangen: 37
  • Berichten: 412
  • Arms are made for hugging
Re: Generic service approach
« Reactie #10 Gepost op: 23 mei 2018, 19:23:06 »
@mesa57: Spotweb is een web service, zou je dan niet user http moeten gebruiken?
  • Mijn Synology: DS418
  • HDD's: 2 x WD8003FFBX
DS418 / DSM 6.2.4-25556 Update 7 / 2 x WD8003FFBX (SHR) / Dovecot / Nextcloud / Transmission / ResilioSync / SynchThing / Spotweb / Logitech Media Server + Spotify
DS413 / DSM 6.2.4-25556 Update 7 / 2 x ST3000DM001-1CH166 (SHR) 2 x WD40EFRX-68WT0N0 (SHR) / Testing
RaspberryPi 4 4GB / SSD 256GB / Nextcloud / Logitech Media Server + Spotify / PostgreSQL / DAViCal / Domoticz / Custom services
HP tn520 / HomeAssistant

Offline mesa57

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 35
  • Berichten: 263
Re: Generic service approach
« Reactie #11 Gepost op: 23 mei 2018, 20:43:14 »
@Ben(V) : mdevries was de package maker, maar ik heb het overgenomen, dus nu ben ik de package maker.
@sciurius  : spotweb wordt inderdaad geinstalleerd onder de http user, maar heeft daarbij dus geen CRUD rechten op de cache map.
Diverse gebruikers lopen daar telkens tegen aan, en het zou mooi zijn als dat gedurende de installatie opgelost wordt.

Ben(V)

  • Gast
Re: Generic service approach
« Reactie #12 Gepost op: 23 mei 2018, 21:42:49 »
Ik vrees dat je eerst het package geschikt moet maken voor DSM 6 voor je andere zaken kunt aanpakken.
Je kunt onder DSM 6 een package niet meer onder een zichtbare user laten draaien.

Alleen wat rechten zetten zal dus niet werken.
Heb je een link voor me waar ik de .spk kan downloaden dan zal ik eens kijken of ik het voor je kan ombouwen.

Offline mesa57

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 35
  • Berichten: 263
Re: Generic service approach
« Reactie #13 Gepost op: 23 mei 2018, 22:07:12 »
Hmmmz, ik heb de source (nog) niet op github staan (behalve spotweb zelf).
Maar de .spk kun je hier downloaden : http://synology.nzbusenet.com/packages/Spotweb_noarch-all_20180518-1.spk
Alvast bedankt voor de aangeboden hulp  :)