Sudo stands for "superuser do" and effectively gives a regular user access to administrator-like powers. Here's how to use this powerful tool. . Back in the early days of Linux, things were exponentially more complicated. The distributions were far less mature, but they also required the use of a particular system account to get certain things done. That account was root, and with it, you had unlimited power over your operating system. To demonstrate the power of the root account, one trick you could always play on unsuspecting users was to tell them to change to the root user with the su command and then have them issue the following: rm -rf / The rm command is used to delete files and folders. In conjunction with r (recursive) and f (force), you would delete everything from the root folder (/), thus rendering your system unusable. . Uncover the ways in which sudo equips average users with elevated privileges, altering the landscape of Linux management.. Sudo Command, Privilege Escalation, Linux System Administration, User Permissions, Security Practices. . Brittany Day
sudo is a mechanism of providing root prileges to an ordinary user. If you absolutely positively need to allow someone (hopefully very trusted) to have superuser access to your machine, there are a few tools that can help. sudo allows users to use their password to access a limited set of commands as root. sudo keeps a log of all successful and unsuccessful sudo attempts, allowing you to track down who used what command to do what. For this reason sudo works well even in places where a number of people have root access, but use sudo so you can keep track of changes made. Although sudo can be used to give specific users specific privileges for specific tasks, it does have several shortcomings. It should be used only for a limited set of tasks, like restarting a server, or adding new users. Any program that offers a shell escape will give the user root access. This includes most editors, for example. Also, a program as innocuous as /bin/cat can be used to overwrite files, which could allow root to be exploited. Consider sudo as a means for accountability, and don't expect it to replace the root user, yet be secure. To do almost any administrative function in Linux one requires root (privileged) access. Unfortunately the built in mechanisms that can be used to grant this type of access are relatively weak. The primary tool is "su" which lets you run a shell as another user, unfortunately you need the other user's password, so everyone you want to grant root access will have the password and unrestricted access. A slightly more fine grained tool is the setuid or setgid bit, if this is set on a file, then the file runs as the user or group that owns it (typically root). Managing file permissions, and ensuring there are no bugs in the program that can be used to gain full root access is difficult at best. More information: There are several tools that let you tightly control root access to various programs, they all act as intermediaries, checking who has called them, possibly asking for apassword, and applying other criteria before executing the program in quesiton as root. Sudo gives a user setuid access to a program, and you can specify which hosts they are allowed to login from (or not) and have sudo access. You can specify what user a command will run as, giving you a relatively fine degree of control. Sudo now ships with some Linux distributions, and binary packages / source are widely available. Super can be used to give certain users (and groups) varied levels of access to system administration. In addition to this you can specify times and allow access to scripts. Debian ships with super, and there are binary packages and source widely available. runas let's you define a configuration file listing the command, who it runs as, and which users/groups/etc. are allowed to run it.. In addition to this you can restrict the use of options (arguments), and you can prompt the user for a reason (which is logged to syslog). Downloads: . If you absolutely positively need to allow someone (hopefully very trusted) to have superuser access. mechanism, prileges, ordinary, absolutely, positively. . Anthony Pell
Get the latest Linux and open source security news straight to your inbox.