Portál AbcLinuxu, 7. května 2025 22:22
Řešení dotazu:
unset WAYNAME
nebo nastavení na jinou hodnotu před spuštěním příkazu.
Ten požadavek se mi jeví jako dost podivný. Proč by si uživatel nemohl nastavit prostředí podle potřeby? Má to nějaký praktický smysl? Pokud nesmí změnit jméno nějaké cesty, tak mu znepřístupním adresář.
DEKA="VIDLICKOVA"
je totiž strašně nebezpečný příkaz.
LOCALE
se může nastavit na hodnotu cs
, aby program psal česky. Cílem je tedy to, aby program psal česky, ne nastavení LOCALE
na nějakou hodnotu. Pokud by cílem uživatele bylo opravdu jen nastavit nějakou proměnnou na nějakou hodnotu, a administrátor by se mu v tom snažil zabránit, pak je řešením odeslat oba dva do blázince. Předpokládám, že vy tedy neřešíte nastavení proměnné, ale nastavení proměnné, aby něco. A to něco nás zajímá, protože toho jde nejspíš dosáhnout mnoha různými způsoby (takže zákaz proměnné prostředí by ničemu nepomohl), a zároveň to možná jde nějak rozumně zakázat.
ls
nemohli používat "neprověření" uživatelé, tak souboru /bin/ls
seberu mod na 750 a přiřadím mu skupinu "provereni" a do skupiny "provereni" naskládám všechny prověřené uživatele. Na druhou stranu, vzhledem k tomu, že interní závislosti a vazby neznám do hloubky, může se lehce stát, že tímhle postupem bych něco hodně zvoral a nějaká funkčnost by vypadla. A navíc tím nejsem schopen zablokovat příkazy, které se provedou uvnitř shellu, jako je právě uvedený export
. Těmto příkazům se podle mne zabránit nedá.
export PROMENNA=hodnota declare -r PROMENNAPak s ním už samozřejmě nejde hnout, ani oddefinovat...
env PROMENNA=jina-hodnota příkaz...
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.