I tried to switch to root in CentOS by running su
, but it does change to root, but
it doesn't seem to be a real root user. For example, by default, ifconfig
command
in /sbin
is not found in the path for a normal user, but for root, the command can
be found.
When I run su
, I still get bash: ifconfig: command not found
output when I try to
run ifconfig
.
However when I run su -
, ifconfig
just works.
What is the difference between su
and su -
in CentOS?
-
su -
invokes a login shell, which among other things, ensures that root's.bashrc
and other shell startup scripts are run, just like as if you'd logged in directly as root via console or SSH. root's profile usually sets your path to include/sbin
which is whereifconfig
generally lives.From jrod -
Adding the
-
option affects your environment behavior. For all practical purposes, the environment is completely reset. In general, you likely want to usesu -
instead of plainsu
. From the man page:-l Simulate a full login. The environment is discarded except for HOME, SHELL, PATH, TERM, and USER. HOME and SHELL are modified as above. USER is set to the target login. PATH is set to ``/bin:/usr/bin''. TERM is imported from your current environment. The invoked shell is the target login's, and su will change directory to the target login's home directory. - (no letter) The same as -l.
From packs -
Have look following link may help you
http://studyhat.blogspot.com/2010/01/what-is-difference-between-su-and-su.html
From Rajat
0 comments:
Post a Comment