Sudo, su & scripts: verschil tussen versies
(→PATH) |
(→PATH) |
||
Regel 18: | Regel 18: | ||
sudo MijnScript.sh # Werkt niet! | sudo MijnScript.sh # Werkt niet! | ||
su 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 <code>.bashrc</code> - Nie moeilijk! | ||
+ | |||
+ | === su === | ||
+ | |||
+ | ''su'' Maakt gebruik van ''sytem-wide enivornment variables''. Die vind je in <code>/etc/environment</code> | ||
+ | |||
+ | === sudo === | ||
+ | |||
+ | sudo Has a policy of resetting the environment and setting a secure path. It is enabled by default: | ||
+ | |||
+ | <pre> | ||
+ | /etc/sudoers: | ||
+ | |||
+ | Defaults env_reset | ||
+ | Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" | ||
+ | </pre> | ||
== Bronnen == | == Bronnen == |
Versie van 9 nov 2016 15:24
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"