GNU/Linux >> Znalost Linux >  >> Linux

Jak spustit příkaz, který zahrnuje přesměrování nebo potrubí pomocí Sudo?

Snažím se dodržovat to, co předpokládám, že je osvědčené postupy používání sudo namísto účtu root.

Provádím jednoduchou operaci concat souboru, jako je:

sudo echo 'clock_hctosys="YES"' >> /etc/conf.d/hwclock

Toto selže napravo od „>>“, které běží jako normální uživatel. Přidání extra sudo také selže (očekávané chování od připojení k příkazu sudo a ne k souboru).

Příklad je jen takový, ale byl ověřen a testován pod účtem root.

Přijatá odpověď:

Můžete vyvolat nový shell jako root:

sudo sh -c 'echo clock_hctosys="YES" >> /etc/conf.d/hwclock'

Můžete také jednoduše povýšit proces pro zápis do souboru:

sudo tee -a /etc/conf.d/hwclock > /dev/null << EOF
clock_hctosys="YES"
EOF

Linux
  1. Jak spustit příkaz jako správce systému (root)?

  2. Spustit příkaz, který je zastíněn aliasem?

  3. Jak zpětně zajistit, aby skript běžel jako root?

  1. Jak spustit původní příkaz s aliasem se stejným názvem?

  2. Jak spustit terminál jako root?

  3. Zkontrolujte, jak dlouho trvá spuštění Bash skriptu s Time Command

  1. Jak používat sudo k tomu, aby uživatel bez oprávnění root mohl spustit konkrétní příkaz

  2. Jak spustit příkaz bash s právy sudo v Javě?

  3. Jak určíte skutečný příkaz, který do vás vstupuje?