Re: kør program som anden bruger

From: Henrik Kramshøj (none@hlk--kramse.dk.lh.bsd-dk.dk)
Date: Fri 10 Nov 2006 - 08:52:48 CET


From: Henrik Kramshøj <none@hlk--kramse.dk.lh.bsd-dk.dk>
Subject: Re: kør program som anden bruger
Date: Fri, 10 Nov 2006 08:52:48 +0100
To: bsd-dk@bsd-dk.dk


On 09/11/2006, at 22.55, Robert Jeppesen wrote:

> Jeg har installeret en FreeBSD 6.1 server med CounterStrikeSource
> (CSS)
> til sønnike.
> CSS er installeret fra ports og ligger under /usr/local/games/
> srcds. Ejer
> er root:wheel, mode 554.
>
> Jeg ville egenlig gerne lave det således at sønnike selv kunne
> logge på
> serveren via ssh og starte CSS. (Via screen således at CSS kunne køre
> videre selvom ssh sessionen blev afbrudt.)
> Det er vel 'bare' at ændre ejerskabet på alle filer under
> /usr/local/games/srcds til fx. games:games og gøre sønnike medlem af
> games. Eller ??
>
> Det var måske en fordel at CSS kørte som games, altså skiftede bruger
> under opstart, men hvordan gør man det?
> Det har måske så den ulempe at CSS' konsol ikke længere er til
> rådighed
> for den der starter programmet.
>
> Og endelig burde den vel køre chroot..
sikkert :-)
>
> Er der nogle der har en lignende server kørende og som har fundet
> 'løsningen' på de nævnte problemstillinger?

De problemer du remser op er noget man ofte støder på og jeg plejer
at anbefale sudo kommandoen - den er rar og manulsiden gør at man
er igang meget hurtigt.

Med sudo kan du således angive at din søns brugerid kan udføre CSS,
men ikke andet.

Med sudo konfigureret vil det være noget i stil med

sønnikke$ ssh server
sønnikke@server:/home/sønnikke$ screen
sønnikke@server:/home/sønnikke$ sudo startsåcsstilmig.sh

evt. med -u brugerid som den skal startes som, mit alias til
tomcat er eksempelvis på nogle maskiner:
alias tomcat=' sudo -u tomcat /home/tomcat/bin/tomcat'

Du kan lave et "start css script" som kan udføres med sudo, MEN
husk på at du skal sikre dette script.

Det betyder at du skal inkludere fuld PATH i dit script, køre
det med en fornuftig shell checke fejlkoder og input.

Fordelen ved scriptet er at du kan skifte til det rigtige katalog,
sætte variable og lave det med start/stop

Der er en masse eksempler i OpenBSD /etc/ eksempelvis daily
og her er skelettet til et tomcat startscript

#!/bin/sh -
#
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin...tilføj her

cd /home/tomcat

VAR1=test1
VAR2=test2
export VAR1 VAR2

# start and stop tomcat server
case $1 in
         start)
         echo Starting tomcat
         ${CATALINA_HOME}/bin/startup.sh
         ;;
         stop)
         echo Stopping tomcat
         ${CATALINA_HOME}/bin/shutdown.sh
         ;;
         restart)
         $0 stop
         sleep 10
         $0 start
         ;;
         *) echo "$0 unknown parameter $1"; exit 127;;
esac

Mvh

Henrik

--
Henrik Lund Kramshøj, cand.scient, CISSP Follower of the Great Way of  
Unix
e-mail: hlk@security6.net, tlf: 2026 6000
www.security6.net - IPv6, sikkerhed, netværk                       
Overhold netikketten!
http://e-learning.security6.net - gratis kursusmateriale       http:// 
usenet.dk/netikette/



This archive was generated by hypermail 2b30 : Thu 30 Nov 2006 - 23:00:03 CET