webForumDet fria alternativet

köra program som annan användare

Linux & BSD

5 svar · 500 visningar · startad av stiglennart

Medlem sedan mars 20048 inlägg
Frågan#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?

Medlem 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
Medlem 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

Medlem 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

Medlem sedan juni 20008 205 inlägg
#5

su kan också vara intressant.

Medlem 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

268 ms totalt · 3 externa anrop · v20260731065814-full.265f3fdd
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)