Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place! |
Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
|
12-01-2007, 05:06 PM
|
#1
|
Member
Registered: Feb 2004
Location: Albuquerque
Distribution: Fedora 9
Posts: 46
Rep:
|
what is going on with $PATH ??
I have asked about this topic before but haven't really gotten a grasp of it, so I'm asking for more help if possible.
bottom line is I want to be able to run 'ifconfig' and other commands like it as my user (instead of root)... but I can't unless I'm logged in as root. It won't even work if I'm logged in as my user and su over to root. Prior posts said I needed to change the PATH for my user. Here's what I have:
[user1@localhost ~]$ $PATH
bash: /usr/kerberos/bin:/usr/lib/ccache:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/user1/bin: No such file or directory
[user1@localhost ~]$ su
Password:
[root@localhost user1]# $PATH
bash: /usr/kerberos/sbin:/usr/kerberos/bin:/usr/lib/ccache:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/user1/bin: No such file or directory
Since they look basically the same, what the heck is going on? Do I need to add a path or what? Thanks for the help.
|
|
|
12-01-2007, 05:23 PM
|
#2
|
Member
Registered: Sep 2006
Location: Munich, Germany
Distribution: Debian / Ubuntu
Posts: 298
Rep:
|
Use instead (man su) to get root's environment.
(And btw: with '$PATH' you tried to execute your path rather than display it. Use 'echo $PATH' to display it -- or any other variable).
|
|
|
12-01-2007, 05:31 PM
|
#3
|
LQ Veteran
Registered: Nov 2005
Location: Annapolis, MD
Distribution: Mint
Posts: 17,809
|
"su" means take on root powers
"su -" means to ALSO switch to root's environment, including $PATH.
Thus is is puzzling to see ANY difference.
To modify (anyone's) PATH, do this: export PATH="$PATH:<newpathname>"
eg, to add /sbin:
export PATH="$PATH:/sbin"
To make the entry permanent, you have to modify one of the startup scripts. Which one depends on the distro.
|
|
|
12-01-2007, 05:32 PM
|
#4
|
Member
Registered: Feb 2004
Location: Albuquerque
Distribution: Fedora 9
Posts: 46
Original Poster
Rep:
|
cool, thanks rupertwh, that solved half of the conundrum. How can I add the same path to user so that I can execute that command as user instead of having to switch to root every time? (or is that not a smart idea?)
|
|
|
12-01-2007, 05:48 PM
|
#5
|
LQ Addict
Registered: Jul 2002
Location: East Centra Illinois, USA
Distribution: Debian stable
Posts: 5,908
|
Quote:
How can I add the same path to user so that I can execute that command as user instead of having to switch to root every time?
|
pixellany wrote
Quote:
To modify (anyone's) PATH, do this: export PATH="$PATH:<newpathname>"
eg, to add /sbin:
export PATH="$PATH:/sbin"
To make the entry permanent, you have to modify one of the startup scripts. Which one depends on the distro.
|
What hasn't been said is that you can run the command from anywhere in the directory tree, if you enter the full path to the executable: example: /sbin/ifconf.
Also not mentioned is the matter of permission: if the user doesn't have permission to execute, it won't matter how you enter the command.
Last edited by bigrigdriver; 12-01-2007 at 05:51 PM.
|
|
|
12-01-2007, 06:16 PM
|
#6
|
LQ Guru
Registered: Aug 2001
Location: Fargo, ND
Distribution: SuSE AMD64
Posts: 15,733
|
Use sudo and include the path in the command.
sudo /sbin/ifconfig
If you want to just list the information as in the above command, then you don't need to run the command as root, and don't need sudo. If you want to set the IP address or gateway address of an interface than you need to do that as root.
|
|
|
12-01-2007, 06:20 PM
|
#7
|
Member
Registered: Feb 2004
Location: Albuquerque
Distribution: Fedora 9
Posts: 46
Original Poster
Rep:
|
Awesome! That was spot on... thanks again for the responses. Time to play as user instead of root... thank goodness!
|
|
|
12-01-2007, 08:11 PM
|
#8
|
LQ Guru
Registered: Aug 2004
Location: Sydney
Distribution: Rocky 9.2
Posts: 18,405
|
Actually, su means to switch user, (by default to root if you are non-root), but you can switch to any user from root if you want to test their env.
As mentioned, use the '-' empty switch to get the tgt user's env, otherwise you keep your env.
|
|
|
All times are GMT -5. The time now is 08:37 AM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|