Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

OS Linux

Linux scripts: Script uitvoeren na het inloggen

wes_55
11 antwoorden
  • Ik ben nu al een tijdje bezig mijn Ubuntu goed werkend te krijgen binnen een Active Directory omgeving. Gebruikers uit de Active Directory kunnen probleemloos inloggen. Het mounten van de Home share is nog wat problematisch, maar dit komt door een beperking van samba (kan geen submap mounten)

    Het probleem is wanneer een gebruiker uit de Active Directory inlogt, die geen toegang heeft tot de devices. Das best lullig. Dit is "simpel" op te lossen door de gebruiker toe te voegen aan de groepen die toegang hebben tot de devices.

    Nu wil ik dus een script schrijven die $USER toevoegd aan de debetreffende groepen. Maar deze moet dus uitgevoerd worden na het inloggen (anders heb je geen $USER)

    Enig idee hoe ik dit voor elkaar krijg? init.d gaat niet werken, want dan wordt het uitgevoerd voor het inloggen. Google geeft mij alleen oplossingen die voor het inloggen uitgevoerd worden.
  • cron-job in de dir v/d user plaatsen en laten starten met de desktop mss?
  • Nou, dat wordt erg moeilijk. Aangezien het script er voor is om nieuwe users (nieuw op dat werkstation, ze bestonden al in de active directory) toegang te geven tot de devices. Dus wanneer pietje voor het eerst inlogt, wordt hij teogevoegd aan de device groepen.
  • waarom bij het inloggen en niet bij het aanmaken van de nieuwe user?
  • Omdat de users al aangemaakt zijn. Ze bestaan al in de Active Directory.

    Wanneer je lokaal een user aanmaakt, word deze automatisch al in de groepen geplaatst die toegang hebben tot de devices.

    Het zou erg jammer zijn als ik voor elke gebruiker een lokale user aan moest maken. Zou ook lastig zijn wanneer er nieuwe gebruikers komen. Daarom wil ik dus een script die na het inloggen van de user de waarde $USER toevoegd aan de desbetreffende groepen.

    Tenzij iemand een elegantere oplossing weet.
  • Je log grafisch in he, en je wilt dit voor alle users, irrelevant waar deze vandaan komt?

    Dan zou je een paar regels toe kunnen voegen aan een "/etc/X11/Sessions/<jouw gebruikte grafische desktop>" script - Dan word bij het inloggen in de desktop omgeving deze commandos uitgevoerd.

    Is wel een wat minder elegante oplossing dan ~.xsession of ~/.xstartup gebruiken, maar je hoeft tenminste niet voor alle users apart deze files klaar te zetten.

    Ik weet alleen niet of het toevoegen van een gebruiker aan een group direct al geld, of dat je moet uitloggen en weer inloggen voordat de wijziging aan je account actief word.
  • maar een script starten vanuit de home directory van een user impliceert dat het script onder de rechten draait van die user.

    Kun je als user zonder meer toegangsrechten aanpassen van het systeem?
    Lijkt me een vrij onwenselijke situatie?

    Rinse
  • [quote:ef2965f06e="maximilaan"]maar een script starten vanuit de home directory van een user impliceert dat het script onder de rechten draait van die user.

    Kun je als user zonder meer toegangsrechten aanpassen van het systeem?
    Lijkt me een vrij onwenselijke situatie?

    Rinse[/quote:ef2965f06e]

    mm zit wat in ja.. :wink: Volgens mij, heb je helemaal gelijk.

    Een beter oplossing zou zijn de devices aan te passen dat ze toegang verlenen aan gebruikers uit de betreffende groep(en) waar de user zich al in bevind.
  • [code:1:591cfd6ab5]
    awk –field-separator=':' '{ if ($3 >= 1000) {printf("%s,", $1)}}' \
    /etc/passwd | sed -r 's/.$//'
    [/code:1:591cfd6ab5]

    Je krijgt dan een mooi geformateerd veld met alle gebruikers. Dit kun je achter de group entry zetten in /etc/groups. Je zou het resultaat natuurlijk ook in een string op kunnen slaan, en de group entry met sed kunnen updaten. Dan voor nieuwe gebruikers gewoon instellen dat ze standaard deel uitmaken van de groep.
  • [quote:53c980f627="maximilaan"]maar een script starten vanuit de home directory van een user impliceert dat het script onder de rechten draait van die user.[/quote:53c980f627]

    Dat gaat ook niet lukken, je kunt geen scripts SUID root draaien ;).

    [quote:53c980f627]Kun je als user zonder meer toegangsrechten aanpassen van het systeem?
    Lijkt me een vrij onwenselijke situatie?[/quote:53c980f627]

    Yep.
  • [quote:02ad91b828="Tekkie"]
    Dan zou je een paar regels toe kunnen voegen aan een "/etc/X11/Sessions/<jouw gebruikte grafische desktop>" script - Dan word bij het inloggen in de desktop omgeving deze commandos uitgevoerd.
    [/quote:02ad91b828]

    Whoa, thanks,

    Das dus precies wat ik zoek.

    Ik weet ook niet of het direct geld, zal het zo even proberen. Maar als een user verteld dat hij dan geen toegang heeft tot de devices laat je hem gewoon even uit en inloggen.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.