This is basic UNIX. Some of the ZFS commands are not in typical "user" bin directories, and the systemwide profile sets the PATH accordingly because these tools shouldn't be run (and often cannot be run) as a standard user. Take a look here:
Code:
root@truenas[~]# cat /etc/profile
# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).
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
export PATH
[less interesting stuff snipped here to keep us focused]
root@truenas[~]# ls -a
. .gdbinit .midcli.hist .warning .zshrc solnet-array-test-v3.sh
.. .lesshst .profile .zlogin q syslog
.bashrc .local .ssh .zsh-histfile samba tdb
root@truenas[~]#
So, two different things may be happening to you. One, if you ARE using a shell which sources /etc/profile, but you have a UNIX user-ID that isn't zero, the "sbin" subdirectories are not included. I would argue this is actually correct. Two, if you are using a different shell such as csh, there may not be ANY dotfiles to set up PATH.
Now, I cannot give any particular advice here because I am not entirely certain how iXsystems intends "non-root" accounts to work, and I'm also not real big on the whole Linux thing. Some things such as traceroute and zpool are administrator-oriented tools that nevertheless work for end users. In such a case, I would suggest creating dotfiles suitable to your use case.