如何在FreeBSD服务器上向用户添加,删除和授予Sudo特权

时间:2020-01-09 14:16:49  来源:igfitidea点击:

在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