Fouten van de systemd-gebruikersservice

U kunt een van de volgende fouten ondervinden tijdens het upgraden of uitvoeren van initialize-tsm tijdens een nieuwe installatie:

  • ‘Kan geen D-Bus-verbinding tot stand brengen: bestand of map bestaat niet’
  • ‘$XDG_RUNTIME_DIR niet gevonden’
  • ’systemd unit user@<userID> is niet actief. Controleer /var/log/messages of /var/log/syslog’.

Achtergrond

Vanaf 2018.1 gebruikt Tableau Server de gebruikersservice systemd om processen te beheren. Dit betekent dat er een systemd-proces is dat wordt uitgevoerd als een gebruiker zonder machtigingen. Standaard maakt Tableau Server Setup een account zonder machtigingen aan met de naam tableau. De Tableau Server-processen worden gegenereerd vanuit het proces systemd en niet als het systeembrede proces systemd, dat als hoofdproces wordt uitgevoerd.

Belangrijk: deze opmerking voor probleemoplossing is voornamelijk van toepassing op distributies op basis van RHEL 7. Als u een van deze fouten ziet, is het echter mogelijk dat dezelfde problemen ook voorkomen bij Ubuntu-distributies.

De gebruikersservice systemd wordt niet zo vaak gebruikt als de normale procesmanager van systemd. Red Hat heeft de gebruikersservice systemd uitgeschakeld in RHEL 7 (en dus in alle distributies die van RHEL afkomstig zijn, zoals CentOS, Oracle Linux 7, Amazon Linux 2). RedHat heeft Tableau echter verzekerd dat het uitvoeren van de gebruikersservice systemd wordt ondersteund zolang de service opnieuw wordt ingeschakeld.

Upgraden van Tableau Server op Linux 10.5

Als u een upgrade uitvoert vanaf Tableau Server 10.5, controleer dan of de gebruiker zonder machtigingen een geldige shell en home directory heeft. Voor Tableau Server 10.5 heeft Tableau opzettelijk de gebruiker zonder machtigingen aangemaakt met de shell directory ingesteld op /sbin/nologin en de home directory op ‘/’. Als de gebruiker zonder machtigingen is aangemaakt door initialize-tsm, dan werkt Tableau tijdens de upgrade naar 2018.1 de shell en de home directory bij.

Als u tijdens de eerste installatie van 10.5 een gebruiker zonder machtigingen hebt aangemaakt, krijgt u echter een foutmelding wanneer u probeert te upgraden.

Om dit te verhelpen, moet u de shell instellen op /sbin/nologin en de home directory ’/’. Dan voert u de upgrade opnieuw uit.

Problemen oplossen bij nieuwe installatiefouten

Controleer of de gebruikersservice systemd wordt uitgevoerd.

Controleer dit met de opdracht: ps -fww $(pgrep -f "systemd --user")

Als de gebruikersservice systemd niet wordt uitgevoerd, kan deze niet worden gestart.

Volg deze lijst om problemen op te lossen:

  • Controleer de logboeken in /var/log/messages

  • Voer journalctl uit.

  • Controleer of eventuele aanpassingen aan uw PAM-configuratie, pam_systemd.so niet hebben verwijderd.

    Als in het RHEL 7 PAM-bestand /etc/pam.d/system-auth de volgende regel ontbreekt:

    -session optional pam_systemd.so

    dan moet deze opnieuw worden toegevoegd om Tableau Server te laten functioneren.

  • Als -session optional pam_systemd.so aanwezig is in uw PAM-configuratie, kan de gebruikersservice niet starten en wordt de foutmelding $XDG_RUNTIME_DIR not found getoond in /var/log/messages. Probeer de omgevingsvariabele niet in te stellen. In dit scenario is de fout onjuist.

    De echte fout is dat de PAM-module pam_systemd.so de gebruikersessie niet kan toewijzen. De standaardconfiguratie onderdrukt foutmeldingen van pam_systemd.so. Om foutmeldingen en foutopsporingsberichten aan de oppervlakte te brengen, wijzigt u de regel in /etc/pam.d/system-auth van -session optional pam_systemd.so naar session optional pam_systemd.so debug. (Als u het eerste koppelteken verwijdert, worden de foutmeldingen zichtbaar en als u debug toevoegt, zal dit meer uitgebreide logboeken opleveren.)

    Nu kunt u de bestanden /var/log/messages, /var/log/secure en /var/log/audit/audit.log bekijken en foutmeldingen zien.

Voorbeeld

Mogelijk ziet u het volgende foutbericht:

systemd-logind: Failed to mount per-user tmpfs directory /run/user/0: Permission denied

In dit geval leidt online zoeken naar de fout naar het Redhat KB-artikel: https://access.redhat.com/solutions/2460611(Link wordt in een nieuw venster geopend).

Het artikel beveelt aan om het pakket selinux-policy te updaten door het uitvoeren van sudo yum update selinux-policy.

In sommige gevallen lost een upgrade van versie 3.12.X naar 3.13.X een probleem met $XDG_RUNTIME_DIR not found op. Voer sudo reboot uit na updaten van het pakket.