Chcę uruchomić skrypt bash podczas uruchamiania w CentOS 6. Dodałem skrypt w /etc/init.d/
katalogu, ale wszystkie te skrypty są uruchamiane przez root. Chcę uruchomić skrypt dla dowolnego użytkownika.
5
Możesz dodać go do swojego crontab w następujący sposób:
@reboot /bin/bash /dir/of/your/script
Jeśli nie jesteś zaznajomiony crontab
, oto kilka wskazówek:
crontab -l
wyświetla bieżące zaplanowane zadania.crontab -e
pozwala na edycję.
crontab -u <user>
(icrontab -l/-e -u <user>
), aby skonfigurować crontab dla innych użytkowników.Możesz użyć,
su
aby usunąć uprawnienia administratora, używając-c
polecenia, aby uruchomić polecenie, takie jak:Jeśli chcesz, aby określony skrypt zrzucił uprawnienia, możesz po prostu wywołać sam skrypt,
su <user> -c <script> -magic-parameter
gdzie-magic-parameter
mówi skryptowi, aby zrobił to, co chcesz, jako użytkownik inny niż root.źródło
Po pierwsze: nie jest to pytanie programistyczne - lepsze miejsce to https://superuser.com/ .
Po drugie: prawdopodobnie używasz Linuksa - ale lepiej jest określić;).
Po trzecie: Uruchamianie skryptów podczas rozruchu jest bardzo niebezpieczne dla bezpieczeństwa systemu. Dlatego jest to dobry powód dla skryptów tylko do rootowania. Tak więc, jeśli mają dostęp root - go używać (jesteś sysadmin, prawda?), Jeśli nie masz dostępu - to chyba lepiej zostawić tak jak jest .. :)
Jeśli twoje pytanie dotyczy zmiany efektywnego UID dla jakiegoś skryptu rc.d, możesz użyć czegoś takiego:
więc możesz umieścić swój skrypt w dowolnym miejscu i od skryptu init uruchomi go
su
.źródło