Portál AbcLinuxu, 15. května 2025 05:41

Dotaz: Presmerovani - prava

15.8.2016 19:00 Petr
Presmerovani - prava
Přečteno: 222×
Odpovědět | Admin
Mam takovy drobny dotaz, kdyz potrebuji presmerovat vystup nekam kam jako uzivatel nemam prava, jak postupovat nechci-li se prihlasit jako root? Napr. "sudo wpa_passprase "sit" "heslo" > /etc/wpa_supplicant.conf"? Dalsi sudo hned po znaku ">" nefunguje...
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

15.8.2016 20:11 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Presmerovani - prava
Odpovědět | | Sbalit | Link | Blokovat | Admin
Podle mne se musíte přihlásit jako root (nebo jiný uživatel, který má potřebná práva). Znak > interpretuje už shell, do sudo se nedostane. I kdybyste ho escapoval, bylo by velmi nebezpečné, kdyby sudo ten znak interpretovalo, nebo kdyby kvůli tomu dokonce spouštělo shell. sudo umožňuje kontrolovat, jaké příkazy smí daný uživatel spustit. Kdyby sudo povolilo přesměrování do souboru s oprávněním cílového uživatele, umožní najednou nesrovnatelně víc, než jen spuštění příslušných příkazů.

Představte si třeba, že někomu povolíte přes sudo spouštět pod rootem jenom ping -n google.com nebo třeba ip addr show. Nedokáže pod rootem spustit nic jiného - ale kdyby fungovalo přesměrování také pod rootem, přepíše vám tím výstupem třeba /etc/passwd nebo libovolnou binárku v systému. A co teprve kdyby měl přístup k něčemu, kam dokáže propašovat svůj výstup. Pak by mohl libovolnou binárku přepsat svou vlastní. To byste mu mohl dát roota rovnou.

Takže pokud tam máte právo spustit shell jako root (asi ano), nezbývá než se přes sudo -i přepnout do rootovského shellu a přesměrování napsat tam.

Ostatně, já bych vám doporučil, abyste se pro práci pod rootem přepínal do shellu vždy, a rootovský shell si třeba barevně označil. Chápu ještě, když někdo dělá nějakou sérii operací pod běžným uživatelem (třeba stažení a build nějakého balíčku), a jenom jeden závěrečný příkaz (instalaci do systému) potřebuje spustit pod rootem, že použije sudo. Ale taková ta mánie, která přišla s Ubuntu, že někde vidíte sérii příkazů a před každým je sudo (a často zbytečně), to je podle mne podstatné oslabení bezpečnosti. Dotyčný pak píše sudo všude hlava nehlava, a vůbec nad tím nepřemýšlí, že něco spouští pod rootem. To už je lepší ten barevně odlišený prompt, tam je aspoň jistá naděje, že ho to trkne.
15.8.2016 20:51 NN
Rozbalit Rozbalit vše Re: Presmerovani - prava
Odpovědět | | Sbalit | Link | Blokovat | Admin
V tomto konkretnim pripade, by to slo i takto:
sudo wpa_cli passphrase ssid passphrase
sudo wpa_cli save_config
15.8.2016 20:59 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Presmerovani - prava
Odpovědět | | Sbalit | Link | Blokovat | Admin
echo 1 | sudo tee /proc/sys/vm/drop_caches ale riešiť takto lokálne systémové konfigy, ...
wamba avatar 15.8.2016 21:13 wamba | skóre: 38 | blog: wamba
Rozbalit Rozbalit vše Re: Presmerovani - prava
Odpovědět | | Sbalit | Link | Blokovat | Admin
já používám pro takový případ tee, např.
echo 100 |sudo tee /sys/devices/platform/smapi/BAT0/stop_charge_thresh
This would have been so hard to fix when you don't know that there is in fact an easy fix.
15.8.2016 21:41 ha.run
Rozbalit Rozbalit vše Re: Presmerovani - prava
Odpovědět | | Sbalit | Link | Blokovat | Admin
skus to takto :)

sudo sh -c "whoami > ~root/whoami"

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.