A shell command simple question
When I first started learning Linux shell commands I was told to type "su -" enter at the prompt to get super user password login. I have simply typed "su" enter and get the same thing.
Is there a specific important reason to type "su -" rather than "su"? I did not find any information in the man page to explain this. Thanks for any answers, The Rhino |
the - makes it into a login shell as opposed to simply swaping users
Quote from the first paragraph of the su man entry Quote:
|
Okay, so there is a difference. I don't understand login shell compared to swapping user. Will any one explain this for me?
|
mostly environment variables, paths, and the such
|
I always use su - that way I don't have to remember that normal users don't have /sbin and a few other directories in the path by default. (yes I know I could add them for normal users)
Illustrated: blink@sanity ~ --> su Password: [root@sanity blink]# fdisk -l /dev/hda bash: fdisk: command not found [root@sanity blink]# exit exit blink@sanity ~ --> su - Password: [root@sanity root]# fdisk -l /dev/hda Disk /dev/hda: 120.0 GB, 120000000000 bytes 16 heads, 63 sectors/track, 232514 cylinders Units = cylinders of 1008 * 512 = 516096 bytes Device Boot Start End Blocks Id System /dev/hda1 * 1 203 102280+ 83 Linux /dev/hda2 204 40838 20480040 83 Linux /dev/hda3 40839 81473 20480040 83 Linux /dev/hda4 81474 232514 76124664 f W95 Ext'd (LBA) /dev/hda5 81474 101791 10240240+ 83 Linux /dev/hda6 101792 122108 10239736+ 83 Linux /dev/hda7 122109 126171 2047720+ 82 Linux swap /dev/hda8 126172 129219 1536160+ 83 Linux /dev/hda9 129220 197037 34180240+ 83 Linux /dev/hda10 197038 232514 17880376+ 83 Linux [root@sanity root]# The difference with the PATH: blink@sanity ~ --> su Password: [root@sanity blink]# echo $PATH /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/blink/bin [root@sanity blink]# exit exit blink@sanity ~ --> su - Password: [root@sanity root]# echo $PATH /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin |
lol thank you for illustrating my point :P
|
Thanks! That sure makes it easier to understand the difference is pretty big. So I need to start using su - from now on.
|
All times are GMT -5. The time now is 08:00 AM. |