GNU/Linux >> Znalost Linux >  >> Linux

Přepsat cestu k binárnímu souboru pro konkrétního uživatele

Pokud je binární kód v /usr/bin/binary a skript zavolá binární soubor bez uvedení úplné cesty, ale místo toho se spoléhá na /usr/bin je v PATH pak můžete jednoduše přidat umístění nového binárního souboru na začátek uživatelského PATH . Vložte něco takového do jejich ~/.bashrc :

PATH=/mount/new_version:$PATH

Z bezpečnostních důvodů skripty často specifikují úplnou cestu k binárním souborům, aby se tomu zabránilo.


Pokud máte přístup k binárnímu souboru, můžete jej zálohovat a vytvořit symbolický odkaz.

mv /urs/bin/binary /urs/bin/binary.bkp
ln -s /mount/new_version/binary /urs/bin/binary

[UPRAVIT]

Litujeme, neviděl jsem, že změna musí být provedena pouze pro jednoho uživatele.

Můžete vytvořit funkci, která se bude volat namísto binární.

V závislosti na tom, jak spustíte binární soubor (úplná cesta nebo jen název), musíte vytvořit vhodnou funkci , jako:

# Full path
function /urs/bin/binary () { command /mount/new_version/binary "[email protected]"; }
export -f /urs/bin/binary
# Name
function binary () { command /mount/new_version/binary "[email protected]"; }
export -f binary

Pokud binární soubor nepřijímá/nepotřebuje argumenty, odeberte "[email protected]" .

Chcete-li automatizovat vytváření funkcí, vložte řádky funkcí do souboru .profile v domovském adresáři uživatele.


alias commandname=/mount/new_version/binary

v .bashrc nad příkazem/exportérem cesty v profilu bude dost snadné.


Linux
  1. Řízení přístupu k rootless Podman pro uživatele

  2. Zakázat uživatelské prostředí z bezpečnostních důvodů?

  3. Prostředí podobné shellu pro binární zpracování?

  1. wget -O pro neexistující cestu uložení?

  2. Přepsat instalační cestu RPM

  3. Celkové využití disku pro konkrétního uživatele

  1. určit ulimit pro uživatele root

  2. Blokovat konkrétní příkaz v Linuxu pro konkrétního uživatele

  3. Přístup odepřen konkrétnímu uživateli konfigurací účtu PAM