This subchapter looks at sudo, a UNIX (and Linux) command.
sudo
The sudo command allows you to run a single command as another user, including at superuser or root level from a normal account. You will be asked for the password before the command will actually run.
This keeps you firmly in a normal account (with less danger of catastrophic failures), while still giving easy access to root or superuser power when really needed.
The sudo program was originally written by Bob Coggeshall and Cliff Spencer in 1980 at the Department of Computer Science at SUNY/Buffalo.
To run a single command as superuser or root, type sudo followed by a command.
$ sudo command
On Mac OS X the sudo command will fail if your account has no password.
On Mac OS X the sudo commands password prompt will not display anything (not even bullets or asterisks) while you type your password.
You will not be asked for a password if you use sudo from the root or superuser account. You will not be asked for a password if you use sudo and the target user is the same as the invoking user.
Some systems have a timer set (usually five minutes). You can run additional sudo commands without a password during the time period.
run in root shell
To change to in the root shell, type sudo followed by the option -s. The following warning is from Mac OS X (entered a root shell and then immediately returned to the normal shell). Note the change to the pound sign ( # ) prompt.
$ sudo -s
WARNING: Improper use of the sudo command could lead to data loss typing when using sudo. Type "man sudo" for more information.
To proceed, enter your password, or type Ctrl-C to abort.
Password: bash-3.2# exit $
other users
To run a command as another user, type sudo followed by the option -u followed by the user account name followed by a command.
$ sudo -u usernamecommand
To view the home directory of a particular user:
$ sudo -u username ls ~username
edit files as www
To edit a file (this example is for index.html) as user www:
$ sudo -u www vim ~www/htdocs/index.html
which password
On some systems, you will authenticate with your own password rather than with the root or superuser password. The list of users authorized to run sudo are in the file /etc/sudoers (on Mac OS X, /private/etc/sudoers).
unreadable directories
To view unreadable directories:
$ sudo ls /usr/local/protected
shutdown
To shutdown a server:
$ sudo -r +15 "quick reboot"
usage listing
To make a usage listing of the directories in the /home partition (note that this runs the commands in a sub-shell to make the cd and file redirection work):
$ sudo sh -c "cd /home ; du -s * | sort -rn > USAGE"
security
The system can be set up to send a mail to the root informing of unauthorized attempts at using sudo.
The system can be set up to log both successful and unsuccessful attempts to sudo.
Some programs (such as editors) allow a user to run commands via shell escapes, avoiding sudo checks. You can use sudos noexec functionality to prevent shell escapes.
other
In June 2009, Ken Milberg named this command as one of the Top 50 universal UNIX commands at this web page Top 50 Universal INIX commands. Note that this web page requires agreeing to be spammed before you can read it.
free music player coding example
Coding example: I am making heavily documented and explained open source code for a method to play music for free almost any song, no subscription fees, no download costs, no advertisements, all completely legal. This is done by building a front-end to YouTube (which checks the copyright permissions for you).
Create your own copy from the original source code/ (presented for learning programming).
Work on this project is very slow because I am homeless. I am available for work if someone can provide an indoor place to work in Costa Mesa, California, electricity, internet connections, a flat raised working surface (such as a table or desk), a sitting device (such as a chair or stool), and a fully functional reasonably modern used computer. Im already homeless, so you dont need to pay me (and I understand how much business people hate the minimum wage law). Just give me a chance to work.
Building a free downloadable text book on computer programming for university, college, community college, and high school classes in computer programming.
If you like the idea of this project, then please donate some money.
send donations to: Milo
PO Box 1361
Tustin, California 92781
At the time I am homeless. This greatly interferes with my ability to create this project, which can help nearly 20 million U.S. college students and more than 150 million students world-wide. I am looking for 30 rich people or corporations willing to donate $10 a month to my church so that the church can provide a place indoors for me to continue work. If you want to donate, please see help project. Thanks much.
Supporting the entire project:
If you have a business or organization that can support the entire cost of this project, please contact Pr Ntr Kmt (my church)
UNIX used as a generic term unless specifically used as a trademark (such as in the phrase UNIX certified). UNIX is a registered trademark in the United States and other countries, licensed exclusively through X/Open Company Ltd.
Names and logos of various OSs are trademarks of their respective owners.