如何在FreeBSD服务器上向用户添加,删除和授予Sudo特权
在FreeBSD服务器,不想使用具有完全系统访问权限的默认root用户。如何在FreeBSD VPS或服务器上为用户设置和授予sudo特权?根帐户具有完整的系统级别访问权限,通常仅保留用于管理任务。
sudo命令允许对超级用户(除root用户)进行很小的权力委派。
如果您有许多用户,使用特权记录用户所做的一切,并且您授予了某些特权,则这是一个很好的工具。
除非指定了用户,否则sudo会将特权升级为root。
在FreeBSD服务器/vps上安装sudo应用
Sudo是一个程序,旨在允许sysadmin向用户授予有限的root特权并记录root活动。
基本理念是给予尽可能少的特权,但仍然允许人们完成工作。
您可以使用port安装sudo,执行:
# cd /usr/ports/security/sudo/ && make install clean
或作为二进制软件包,执行:
# pkg install security/sudo
在FreeBSD上添加新用户
推荐的用于添加新用户的命令行应用程序称为adduser。
只需执行以下命令,它将逐步介绍在FreeBSD VPS或服务器上创建新用户帐户的步骤:
# adduser
授予用户FreeBSD的管理权限
配置文件位于/etc/sudoers
或/usr/local/etc/sudoers
中,默认情况下为只读。
visudo命令可用于轻松修改sudoers配置文件。
向sudoers添加用户名
$ su # visudo
追加以下行并从文本编辑器退出:
alice All=(ALL) ALL
这将允许用户alice发出sudo命令并成为root用户。
它将首先询问她的密码。
要在发出sudo命令时跳过询问密码,请将行更改为:
alice ALL=(ALL) NOPASSWD: ALL
如果您希望爱丽丝仅对网络中的一台服务器具有sudo特权,并以用户身份将其限制为/bin/ls命令,则可以添加以下内容:
alice server1=(bob) /bin/ls /home/bob
每次使用sudo都会记录在/var/log/messages
文件中。
sudo用户可以使用sudo命令升级为root用户:
[alice@hostname~]$ sudo su
或者
[alice@hostname~]$ sudo -s
或者,以root用户身份执行命令:
[alice@hostname ~]$ sudo whoami
或者,以其他用户身份执行命令:
[alice@hostname ~]$ sudo -u bob ls /home/bob
从sudoers删除用户名
要删除特权,请将用户从sudoers配置文件中删除,即通过运行visudo
命令从配置文件中删除以下行:
alice ALL=(ALL) NOPASSWD: ALL
或者
alice All=(ALL) ALL
要从系统中完全删除用户(例如alice),请以超级用户身份运行rmuser:
# rmuser alice