Portál AbcLinuxu, 12. května 2025 12:53
roman ALL = (root) NOPASSWD: /usr/bin/shutdown -k now
sudo -u root /usr/bin/shutdown -k now
Vytvořte skript, ve kterém bude pouze ten příkaz sdparm ...
(tj. hlavně žádné shutdown
), udělejte ho spustitelný a vložte do /etc/init.d/
. A pak udělejte symlink do adresáře /etc/rcčíslo.d/
(číslo je číslo runlevelu, kdy se má příkaz aplikovat) a pojmenujte ho Kčísloprikaz
- což značí, že jde o vypínání (K
jako kill) a číslo určí pořadí.
Ve vaší distribuci budou adresáře možná pojmenované mírně odlišně; dále se inspirujte již vytvořenými skripty v init.d
a jak vypadají jejich symlinky v rcX.d
Jenže ty s prefixem K se provedou u runlevelu, ze kterého se odchází - zde tedy asi číslo 5, zatímco runlevel 0 se spouští.
For example, if we are changing from runlevel 2 to runlevel 3, init will first execute all of the K prefixed scripts it finds in /etc/rc3.d, and then all of the S prefixed scripts in that directory. The links starting with K will cause the referred-to file to be executed with an argument of stop, and the S links with an argument of start.
Aha, tak děkuji za vysvětlení (já jsem myslel, že runlevel po sobě "uklidí").
case
cyklus pro zpracování argumentů start (prefix S) a stop (prefix K)./etc/rc0.d/
a dal mu prefix třeba K02
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.