Thursday, December 29, 2011

How To Become Root Linux Command Line

Site source: http://wiki.centos.org/TipsAndTricks/BecomingRoot

Many commands can only be run as the root user so to run these commands we need to become "root". To do this, we can use the su command (substitute user). The su command takes the following format:

su -
or

su
but most commonly we will use su to become the root user:

su - root
or

su root
If no username is specified, then the root user is assumed, so the above is often shortened to:

su -
or

su
but the two commands above behave differently. 'su ' gives the current user the identity of whereas 'su - ' gives the current user the identity of together with 's environment that would be obtained by logging in as .

Often a user will become root using just 'su', try to run a command (eg, ifconfig), and get a 'command not found' error. For example:

su
Password:
ifconfig
bash: ifconfig: command not found

The reason is that regular system users and the root user have different PATH environment variables (you can view a users PATH with 'echo $PATH'). When you type a Linux command, the shell will search the users PATH to try to locate the command to run. It starts searching each directory on the PATH until a match is found.

Commands for regular users are mostly located in /usr/local/bin, /usr/bin, and /bin. However, root commands are mostly located in /usr/local/sbin, /usr/sbin, and /sbinand root's PATH reflects this.When you become root by using 'su -', you also adopt root's PATH whereas using just 'su' retains the original users PATH, hence why becoming root using just 'su' and trying to run a command located in /usr/local/sbin, /usr/sbin, or /sbin results in a 'command not found' error. For a more detailed explanation, see the bash manual page (man bash), particularly the section on INVOCATION and login shells.

So you either need to specify the full PATH to the command if you just used 'su' (eg, /sbin/ifconfig) or use 'su -' when becoming root.

No comments:

Post a Comment

 

blogger templates | Make Money Online