On Mon, May 20, 2019 at 01:02:25PM -0400, Noah Meyerhans wrote: > On Mon, May 20, 2019 at 11:26:00AM +0200, Jorge Barata González wrote: > > Vagrant image debian/stretch64 v9.6.0 > > /usr/sbin is not included by default in $PATH > > > > ``` > > vagrant@stretch:~$ service > > -bash: service: command not found > > vagrant@stretch:~$ /usr/sbin/service > > Usage: service < option > | --status-all | [ service_name [ command | > > --full-restart ] ] > > vagrant@stretch:~$ echo $PATH > > /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games > > ``` > > That path is set from /etc/profile, which is not modified by the vagrant > images from the default that Debian installs. /usr/sbin is not in the > default PATH in Debian normally.
Specifically, /usr/sbin and /sbin are not in the path for non-root users, but they are included for root users: if [ "`id -u`" -eq 0 ]; then PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" else PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games" fi (And since you really don't want to be running /usr/games/nethack as root, /usr/games and /usr/local games is not in root's path. :-) This is a historical convention, going back decades, that only the system administrators needs to run the programs in /sbin and /usr/sbin. So to avoid users getting confused when they might run those programs and get "permission denied", historically normal users won't have /sbin and /usr/sbin in their path. However many system administrators will have their own custom dot files which do include those directories in their paths. That assumption is perhaps less likely to be true for servers running in cloud VM', but making things be different for cloud VM's as compared to standard Debian configurations also has downsides in terms of causing greater confusion. So my suggestion would be for you to simply have your own custom dotfiles which can set a PATH different from the default. - Ted