Portál AbcLinuxu, 18. července 2025 09:02
Řešení dotazu:
A co od nás očekáváte? Že vás politujeme? S informacemi, které jste poskytl, se totiž bohužel víc udělat nedá…
A teď vážně: sudo
v úlohách spouštěných přes cron použít lze, takže pokud nenapíšete, co konkrétně jste použil jako úlohu v cron tabulce a jak konkrétně vypadalo pravidlo v sudoers
, těžko se dočkáte nějaké užitečné rady.
pavel ALL=NOPASSWD: /sbin/ifconfigNefunguje mi nic - např. skript:
#!/bin/bash sudo /sbin/ifconfig >/home/pavel/vypisifconfigSpustím v konzole, ale nespustí se v cronu.
/etc/cron.*
se spouští pod rootem – alespoň to tak myslím platí v běžných implementacích cronu. Takže vaše použití sudo
pro získání práv roota mi připadá zbytečné.
Mimochodem, ifconfig
se na Linuxu používal naposledy s jádry řady myslím 2.0, takže už je asi deset nebo patnáct let zastaralý a nemusí fungovat správně. Místo toho byste měl používat příkaz ip
z balíku iproute2
.
-x
'.
Změnil jsem jen jméno uživatele a domácí adresář a přesně takhle mi to funguje, takže chybu nejspíš děláte někde jinde. Opravdu vypadá váš příklad přesně takto? Máte správně nastavená všechna potřebná práva?
Mimochodem: ifconfig
není dobrý příklad. Za prvé by se už dvanáct let neměl v Linuxu používat, za druhé při spuštění bez parametrů funguje i pod normálním uživatelem. A druhá poznámka: pište, prosím, "nespustí se" pouze v případě, že jste si jistý, že se ten skript opravdu nespustí (pak by ale problém nemohl být v použití sudo
), ne pokud se spustí, ale nedělá to, co od něj očekáváte.
/etc/sudoersuvedene
Defaults requiretty
ak hej, staci zakomentovat...
Tak jsem si tam schválně zkusil tuto direktivu přidat a sudo pak vypíše chybové hlášení:
sudo: sorry, you must have a tty to run sudo
Takže poučení pro příště zní: číst chybová hlášení a pokud jim nerozumíte, přidat je do dotazu.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.