For 2023 - we are now fully retired from IT training.
We have made many, many friends over 25 years of teaching about Python, Tcl, Perl, PHP, Lua, Java, C and C++ - and MySQL, Linux and Solaris/SunOS too. Our training notes are now very much out of date, but due to upward compatability most of our examples remain operational and even relevant ad you are welcome to make us if them "as seen" and at your own risk.
Lisa and I (Graham) now live in what was our training centre in Melksham - happy to meet with former delegates here - but do check ahead before coming round. We are far from inactive - rather, enjoying the times that we are retired but still healthy enough in mind and body to be active!
I am also active in many other area and still look after a lot of web sites - you can find an index ((here))
su or su - ... what is the difference?
If you're wanting to do admin work on a Unix or Linux system, you'll probably need to be logged in as the administrator. However, you're likely to find that you're not allowed to log in as root directly, and that you have to use the su
command. Strictly speaking, "su" stands for "Substitute User" and you can give a user name as a parameter, but the default is to take you to root once you have given the root password.
One of the things that puzzles newcomers is the two flavors of su - "su
" and "su -
". What is the difference?
on its own, you retain the environment of the user that you're transferring from - so the current directory remains the same as does the path to executable files
With su -
, you are given a new root environment - you are taken to root's home directory, and you are given a new environment so that the path to executable files changes to that which has been set up for root
A Rule for newcomers
... ALWAYS use su
WITH the minus. You might find it irritating that it takes you to root's home directory from the directory you want to work in BUT it also (a) ensures that you have all the administrator's commands available in your path and (b) it provides you with a path which is likely to be safer than a user's path - and that's especially the case if a user has called you over and asked you to fix something for him.
Compare these two examples:
[trainee@easterton ~]$ su
[root@easterton trainee]# ls
Your disc has been scrubbed clean!
[trainee@easterton ~]$ su -
[root@easterton ~]# ls
anaconda-ks.cfg install.log install.log.syslog
In this example, our user has added the current directory - that's "." - onto the start of his path and has an executable file called ls
in that directory. Fortunately that was just for a demonstration - the new ls
command just echoed a rather worrisome message.
We cover this subject (and others) on our Introduction to Linux Admin
course which is also available as part of our Deploying LAMP training course
(written 2010-02-17, updated 2010-03-03)
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articlesA161 - Web Application Deployment - Users and Groups 
Functions and commands with dangerous names - (2005-08-11) 
File permissions of Linux and Unix systems - (2005-08-31) 
Supporting users on Linux and Unix - (2006-04-13) 
Setting up a new user - Linux or Unix - (2008-03-26) 
User and Group settings for Apache httpd web server - (2008-04-22) 
Looking for files with certain characteristics (Linux / Unix) - (2008-05-22) 
The Longest Possible Day - (2008-08-26) 
sstrwxrwxrwx - Unix and Linux file permissions - (2008-11-23) 
Ruby, Perl, Linux, MySQL - some training notes - (2008-11-23) 
Ask the Tutor - Open Source forum - (2009-03-25) 
Choosing a railway station fairly in PHP - (2009-04-04) 
Always use su with minus. And where do programs come from? - (2009-05-27) 
Mistaken identity? - (2009-07-22) 
Root is root for a reason! - (2009-11-03) 
Linux Web Server - User Roles, User Accounts, and shared administration - (2013-03-16)
Some other Articles
Relating tables with joins in MySQLWhat does a web application look like under Tomcat?Object Oriented Programming in PHPHow is your tax pound spent?su or su - ... what is the difference?Finding what has changed - Linux / UnixCourses - Melksham and elsewhere - until the end of AprilLinux - useful tips including history and file name completionA PHP example that lets your users edit content without HTML knowledgeLondon to and from Melksham by public transport
4759 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96 at 50 posts per page
This is a page archived from The Horse's Mouth at
the diary and writings of Graham Ellis.
Every attempt was made to provide current information at the time the
page was written, but things do move forward in our business - new software
releases, price changes, new techniques. Please check back via
our main site for current courses,
prices, versions, etc - any mention of a price in "The Horse's Mouth"
cannot be taken as an offer to supply at that price.
Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).