用su改变权限后怎么不能使用root权限命令?

用su改变权限后怎么不能使用root权限命令?

用su把权限改成root后,执行命令:
比如说是“useradd",就会显示:
bash:line1:useradd:command not found
请问这是为什么?
su -
useradd这个命令是在/usr/sbin下,这个路径不在普通用户的路径里。
你可以在你的用户.bashrc里加上一句
export PATH=$PATH:/usr/sbin
就能用了。
这是不是说,用su改变权限以后,它的用户路径并没有变?
用su改变权限后,因为shell不是login进程,不会读/etc/profile和.bash_profile,而一般PATH是在/etc/profile里设的,所以就没有把root的路径加进来。shell如果不是 login进程,它会去读.bashrc,所以在这里加上路径是可以的。