Usługi domyślnie uruchamiają się root
w czasie rozruchu na moim urządzeniu RHEL. Jeśli dobrze pamiętam, to samo dotyczy innych dystrybucji Linuksa, które używają skryptów inicjujących w /etc/init.d
.
Jak myślisz, jaki jest najlepszy sposób, aby zamiast tego uruchomić procesy jako (statyczny) użytkownik według mojego wyboru?
Jedyną metodą, do której doszedłem, było użycie czegoś takiego:
su my_user -c 'daemon my_cmd &>/dev/null &'
Ale to wydaje się trochę nieporządne ...
Czy ukryto jakąś magię, która zapewnia łatwy mechanizm automatycznego uruchamiania usług jako użytkownicy inni niż root?
EDYCJA: Powinienem był powiedzieć, że procesy, które uruchamiam w tym przypadku, to skrypty w Pythonie lub programy Java. Wolałbym nie pisać wokół nich natywnego opakowania, więc niestety nie mogę wywołać setuid (), jak sugeruje Black .