FreeBSD: Install sudo Command To Execute A Command As The Root

Posted on in Categories , last updated May 5, 2013

I have recently started to managing FreeBSD server along with Ubuntu Linux. However, sudo command, always shows me the following error:

zsh: command not found: sudo

How do I solve this problem and use sudo under FreeBSD 9.x system?

Sudo is a program designed to allow a sysadmin to give limited root privileges to users and log root activity. Unlike su, sudo authenticates users against their own password rather than that of the target user. Sudo allows a system administrator to delegate authority to give certain users (or groups of users) the ability to run some (or all) commands as root or another user while providing an audit trail of the commands and their arguments. This allow the delegation of specific commands to specific users on specific hosts without sharing passwords among them.

Install sudo using FreeBSD port system

To install the port, enter:
# cd /usr/ports/security/sudo/ && make install clean

Install sudo using pkg_add comamnd

To add the binary package, run
# pkg_add -rv sudo
# pkg_add -r sudo
Sample outputs:

Fetching Done.

How do I configure sudo?

The default configuration file is located at /usr/local/etc/sudoers. This file MUST be edited with the visudo command as root. Failure to use visudo may result in syntax or file permission errors that prevent sudo from running.
% su -
# visudo

Allow user vivek to run all admin tasks via sudo:

vivek ALL=(ALL) ALL

Allow members of group wheel to execute any command:

%wheel ALL=(ALL) ALL

Save and close the file.

Task: Become a root user with sudo

Type the following command
% sudo -s
Sample outputs:

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.
Password: <Enter Your Own Password Here>

Task: Run any command as root

The syntax is:

sudo /path/to/command
sudo /path/to/command arg1

In this example, restart ftpd service:
% sudo /etc/rc.d/ftpd restart
Sample outputs:

Password: <Enter Your Own Password Here>
Stopping ftpd.
Starting ftpd.
See also

3 comment

  1. Nice guide, I have configured sudo on Arch (linux) a few times before, so this was quite straightforward for me.
    However under ‘How do I configure sudo?’
    # visdo
    should surely be
    # visudo

Leave a Comment