Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Hoe geef ik een script root rechten, opgelost  (gelezen 741 keer)

Hoe geef ik een script root rechten, opgelost
« Gepost op: 2014/02/25, 07:50:01 »
Ik wil Teamviewer draaien, en heb dat geinstalleerd.
Als ik teamviewer start krijg ik de melding dat ik de teamviewer daemon moet starten
Dat gaat dan goed met een sudo opdracht.
nu heb ik het commando sudo teamviewer -- daemon start in een sript gezet maar dan moet ik steeds mijn password ingeven.
Nu dacht ik dit scrip onder te brengen bij Opstart toepassingen (Ubuntu Gnome classic) maar dan wordt het script nog steeds niet uitgevoerd.
Ik veronderstel dat dat komt door de rechten.
Hoe krijg ik dat werkend?
Peter
« Laatst bewerkt op: 2014/02/26, 15:56:48 door petervanderlee »

Offline vanadium

  • Lid
Re: Hoe geef ik een script root rechten
« Reactie #1 Gepost op: 2014/02/25, 11:20:34 »
Als dat iets is wat systeembreed moet opgestart worden, dan kan het het script automatisch laten opstarten door het op te nemen in /etc/rc.local, de autoexec.bat van linux zeg maar.
Om programma's als gewone gebruiker zo te kunnen opstarten dat ze toch als "root" draaien, is er de SUID bit, een mogelijke permissie van een bestand.

Re: Hoe geef ik een script root rechten
« Reactie #2 Gepost op: 2014/02/25, 14:48:38 »
Ik heb met chmod +t teamvierscript  het sticky bit gezet maar het script blijft nog steeds om mijn password vragen als ik het start.
En het script heeft ook niet gewerkt bij het opstarten, Ik heb heb het toegevoegd aan "Opstart toepassingen", want teamviewer is niet gestart.
Wat mankeert er nog?

Peter


Re: Hoe geef ik een script root rechten
« Reactie #3 Gepost op: 2014/02/25, 15:27:25 »
Een ander punt is, hoe kan als gewone gebruiker rc.local wijzigen?

Offline aartje

  • Lid
Re: Hoe geef ik een script root rechten
« Reactie #4 Gepost op: 2014/02/25, 16:38:12 »
Ik heb met chmod +t teamvierscript  het sticky bit gezet maar het script blijft nog steeds om mijn password vragen als ik het start.
En het script heeft ook niet gewerkt bij het opstarten, Ik heb heb het toegevoegd aan "Opstart toepassingen", want teamviewer is niet gestart.
Wat mankeert er nog?

Peter
Het stickybit heeft er niets mee te maken. Als je dat op een directory zet kan je alleen je eigen files
in die directory verwijderen (geld bv bij /tmp, doe maar eens "ls -ld /tmp" ). Als je het zet op een file, dan
blijft het in memory staan en wordt het (eventueel) niet uitgeswapt.
Als je een programma de rechten van iemand anders (eventueel root) wil geven  bij uitvoering gebruik je het
suid-bit. Maar het suid-bit voor root op een excecutable script zetten is een heeeeel gevaarlijke
zaak en kan op heel veel manieren een mogelijkheid op je systeem geven om root te worden voor indringers!.
Ik leg het daarom niet verder uit. In de loop van de tijd (ik heb het over meer dan 30 jaar) is
de Unix-gemeenschap gaan streven naar het uitbannen van dat suid-bit en daarom raad ik je aan
om het niet te gebruiken maar op de eerst genoemde manier te proberen een deamon op te
starten.
« Laatst bewerkt op: 2014/02/25, 16:43:40 door aartje »

Offline vanadium

  • Lid
Re: Hoe geef ik een script root rechten
« Reactie #5 Gepost op: 2014/02/25, 19:08:01 »
Niet alleen moet het suid bit gezet worden (en dat is dus niet het sticky bit), de eigenaar van het script moet ook gezet worden naar "user". Uitvoerpermissies moeten openstaan voor iedereen. Pas dan kan je als gewone gebruiker het script aanroepen, en zal het uitgevoerd worden met de permissies van de eigenaar van het bestand (root) en niet, zoals normaal, met de permissies van de aanroepende gebruiker.

Doe het inderdaad beter via /etc/rc.local. Hoie je dat aanpast? Als beheerder natuurlijk, want het is een systeembestand
sudo -H gedit /etc/rc.local

Voor de "exit" voeg je het gewenste commando toe. Dit script wordt automatisch voor het starten van de grafische omgeving bij opstart uitgevoerd met root permissies.

Re: Hoe geef ik een script root rechten
« Reactie #6 Gepost op: 2014/02/26, 11:55:53 »
Ik heb het commando nu inderdaad toegevoegd aan /etc/rc.local
En dat werkt!
Nu ben ik alleen nog nieuwsgierig wat de parameter "-H" hier doet, heeft dat iets met Hidden te maken?

Peter


Offline daniel

  • Lid
Re: Hoe geef ik een script root rechten, opgelost
« Reactie #7 Gepost op: 2014/02/28, 12:01:42 »

Kun je de -H optie van sudo niet terug vinden onder de manuel page van sudo?
Type in terminal venster.  man sudo