GNU/Linux >> Znalost Linux >  >> Linux

pěkné sudo nebo sudo pěkné?

Řešení 1:

Je v tom rozdíl, zásadní.

Pokud chcete snížit prioritu procesu, na pořadí nezáleží. Na druhou stranu, pokud chcete zvýšit musíte zadat sudo před nice .

Vzhledem k tomu, že příkaz spouštíte jako běžný uživatel (jinak byste se sudo vůbec neobtěžovali), můžete pouze snížit prioritu svého příkazu. Ale pokud použijete sudo za prvé, můžete jej zvýšit, pokud chcete.

Řešení 2:

Pokud spustíte nice sudo pak bude výzva k zadání hesla také pěkná, ale protože strávíte mnohem více času jeho psaním, na tom opravdu moc nezáleží.

Jak poznamenal ThoriumBR, pokud snižujete prioritu, pořadí je irelevantní, ale pokud chcete zvýšit prioritu, pak (protože to musí být provedeno jako root) musíte použít sudo nice .

Jinak si nedovedu představit žádný skutečný rozdíl.

Řešení 3:

Pomocí 'principu nejmenších oprávnění' byste měli spouštět program s oprávněními root pouze v případě, že je potřebuje, a poté je znovu zahodit, jakmile je již nebudete potřebovat.

Takže ano, je tu rozdíl, pokud existuje exploit pro nice, útočník by mohl spustit kód se stejnými oprávněními jako program nice.

Sudo také resetuje vaše prostředí, takže může mít vedlejší účinky, zkuste

$ echo 'echo $PATH' | sh
/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/home/jens/.local/bin:/home/jens/bin:/home/jens/.local/bin
$ echo 'echo $PATH' | sudo sh
[sudo] password for jens: 
/sbin:/bin:/usr/sbin:/usr/bin

Takže příkaz 'hezký', který spustíte přes sudo, může ve skutečnosti skončit jako jiný binární soubor.

$ which ash
~/.local/bin/ash
$ sudo which ash
[sudo] password for jens: 
which: no ash in (/sbin:/bin:/usr/sbin:/usr/bin)

Řešení 4:

Pozdní odpověď:

Pokud je váš přístup k sudo omezen na určité programy (foo a bar ), pak nebudete mít oprávnění ke spuštění sudo nice foo , ale bude moci spustit nice sudo foo .


Linux
  1. Jak na `alias Sudo !!`?

  2. Vytvořte uživatele sudo v CentOS

  3. Vytvořte uživatele sudo v Ubuntu

  1. Nainstalujte Apache na Debian 10

  2. pěkný:příkaz nenalezen

  3. Ansible:sudo bez hesla

  1. Aktualizujte python na linuxu 2.7 až 3.5

  2. Nainstalujte Qt na Ubuntu

  3. instalace mysqldump