Otázka: Chtěl jsem nainstalovat balíček jako místní uživatel a použít sudo kdekoli je to požadováno. Abych to udělal, vytvořil jsem si účet s názvem ‚stack‘ a provedl jsem níže uvedený záznam v mém /etc/sudoers soubor.
# User privilege specification root ALL=(ALL:ALL) ALL stack ALL=(ALL) NOPASSWD:ALL
Při ověření pomocí příkazového řádku pomocí příkazu sudo -s , požádá o heslo, jak je uvedeno níže:
stack@cloudsec2:~$ sudo -s [sudo] password for stack:
Prosím, pomozte mi, kde dělám chybu?
Řešení 1: Tento řádek byste měli umístit za řádek s pravidlem pro skupinu administrátorů. Protože když se uživateli shoduje více záznamů, jsou použity v pořadí. Pokud existuje více shod, použije se poslední shoda (což nemusí nutně být ta nejkonkrétnější).
Takže váš soubor sudoers by měl vypadat takto:
# User privilege specification root ALL=(ALL:ALL) ALL # Members of the admin group may gain root privileges %admin ALL=(ALL) ALL stack ALL=(ALL) NOPASSWD:ALL # Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL
Řešení 2: Spíše než přesunout řádek, můžete jej jednoduše odstranit a přidat NOPASSWD k záznamu pro %sudo, jak je znázorněno níže:
%sudo ALL=(ALL:ALL) NOPASSWD:ALL
Poznámka:Ujistěte se, že vaše přihlášení patří do skupiny sudo, jak je uvedeno níže:
root@cloudsec2:~# id stack uid=1000(stack) gid=1000(stack) groups=1000(stack),4(adm),27(sudo),
Řešení 3: Přesuňte svůj řádek do souboru pod /etc/sudoers.d/
visudo -f /etc/sudoers.d/myOverrides
Vložte následující řádek:
stack ALL=(ALL:ALL) NOPASSWD:ALL
Nyní otevřete /etc/sudoers soubor a odkomentujte níže uvedený řádek:
visudo -f /etc/sudoers #includedir /etc/sudoers.d
Toto je lepší přístup k úpravám sudoers.