Chtěl bych udělat něco takového:
sudo -p password rm /a/file
Mohu dát heslo a uživatele na stejný řádek?
Moje verze Sudo je 1.8.9p5
Přijatá odpověď:
sudo
nemá možnost zadat heslo, ale stále můžete provést ověření na příkazovém řádku, například takto:
echo password | sudo -u root --stdin
nebo jen
echo password | sudo -S
s odkazem na manuálovou stránku sudo:
-S
,--stdin
Napište výzvu ke standardní chybě a místo použití koncového zařízení načtěte heslo ze standardního vstupu. Za heslem musí následovat znak nového řádku.
a
-u
uživatel,--user=
uživatel
Spusťte příkaz jako jiný uživatel než výchozí cílový uživatel (obvykle root). Uživatel může být buď uživatelské jméno, nebo numerické uživatelské ID (UID) s předponou se znakem „#“ (např. #0 pro UID 0). Při spouštění příkazů jako UID mnoho shellů vyžaduje, aby znak „#“ byl ukončen zpětným lomítkem (‘‘). Některé zásady zabezpečení mohou omezit UID na ty, které jsou uvedeny v databázi hesel. Zásada sudoers povoluje UID, která nejsou v databázi hesel, pokud není nastavena možnost targetpw. Jiné zásady zabezpečení to nemusí podporovat.
Ale sudo
byl vyvíjen dlouhou dobu. Zkontrolujte verzi:
-V
,--version
Vytisknětesudo
řetězec verze a také řetězec verze zásuvného modulu bezpečnostní politiky a všech zásuvných modulů I/O. Pokud je vyvolávající uživatel již root,-V
volba zobrazí argumenty předané ke konfiguraci přisudo
byl vytvořen a pluginy mohou zobrazovat podrobnější informace, jako jsou výchozí možnosti.
Podpora pro dlouhé možnosti byla přidána v roce 2013.
Kromě ověřování potřebujete něco pro sudo
dělat , např. příkaz. Často ověřuji, že to funguje tak, že dělám právě
sudo id
který by měl zobrazovat kořen uživatel, např.
uid=0(root) gid=0(root) groups=0(root)