Sudo, su & scripts

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen

sudo Staat voor super user do en da's een manier om een commando uit te voeren als beheerder. su Staat voor substitute user: Een manier om de actuele inlogprompt van eigenaar te laten veranderen. In den beginne allemaal duidelijk. Niet dus.

sudo cd

Het commando sudo cd ... werkt niet: Na dit commando, is de werkdirectory immers aangepast, en mogelijk naar een locatie waar de gewone gebruiker geen rechten toe heeft.

De oplossing zou zijn:

sudo -i

PATH

Ik heb een map met eigen scripts, oorspronkelijk op /opt/scripts, maar recentelijk verplaatst naar /home/strompf/Dropbox/.roaming/opt/scripts. So far, so good.

Maar niet zo good:

MijnScript.sh        # Werkt prima
sudo MijnScript.sh   # Werkt niet!
su MijnScript.sh     # Werkt niet!

Dat komt omdat gebruikers, sudo en su, alle drie andere mechanismes hebben tav. de PATH-variabele.

Gebruikers

PATH-variabele specificeren en aanpassen in .bashrc - Nie moeilijk!

su

su Maakt gebruik van sytem-wide enivornment variables. Die vind je in /etc/environment

sudo

sudo Has a policy of resetting the environment and setting a secure path. It is enabled by default:

/etc/sudoers:

Defaults  env_reset
Defaults  secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

Bronnen