webForumDet fria alternativet

köra program som annan användare

5 svar · 500 visningar · startad av stiglennart

stiglennartMedlem sedan mars 20048 inlägg
#1

jag har ett bash-skript som ska utföra vissa kommandon. Men jag vill att alla ska kunna köra skriptet som en specifik användare. Jag har provat att suida filen men kommandona i skriptet körs ändå som användaren som körde det.

ett exempel

inloggad som pelle: kör filen foo

i filen foo finns: touch temp.txt

filen temp.txt får då pelles rättigheter. Jag vill att den ska få exemelvis kalles rättigheter.

Hur löser man detta?

oelbalMedlem sedan jan. 20014 973 inlägg
#2

Jag är inte helt säker på att jag hänger med, problemet är alltså att temp.txt får fel användares rättigheter? Du kan ju ändra ägaren av filen med chown. T.ex.:

chown kalle temp.txt
stiglennartMedlem sedan mars 20048 inlägg
#3

tror inte du hänger med. det var bara ett exempel. jag vill utföra ett antal kommandon i en shell-skript-fil som en viss användare. grejen är att jag via php vill starta en tjänst på burken, alltså jag vill ha ett skript som användaren apache kan köra, men det som står i skriptfilen ska köras som tex kalle

RanXeroXMedlem sedan maj 2000829 inlägg
#4

Hej Stiglennart

Det här kan vara något att spana in:

http://man.he.net/?topic=sudo&section=all

Ett exempel med PHP

http://www.webmasterworld.com/forum88/2519.htm

spangoMedlem sedan juni 20008 205 inlägg
#5

su kan också vara intressant.

stiglennartMedlem sedan mars 20048 inlägg
#6

Tack! sudo gjorde susen!
så här blev det:

apache ALL=(pelle) /sökvag/program
apache ALL=(pelle) NOPASSWD: /sökvag/

körs med: sudo -u pelle /sökväg/program

125 ms totalt · 3 externa anrop · v20260731065814-full.102f7fcd
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
121 ms — hämta tråd, inlägg och bilagor (db)