FreeBSD安装sudo命令来执行命令
在FreeBSD服务器,sudo命令始终显示以下错误:
zsh: command not found: sudo
zsh:找不到命令:sudo
如何在FreeBSD 9.x/10.x/11.x/12.x系统下安装sudo命令?
解决方法:
sudo是一个程序,旨在允许sysadmin向用户授予有限的root特权并记录root活动。
与su不同,sudo会根据自己的密码而不是目标用户的密码对用户进行身份验证。
Sudo允许系统管理员委派权限,以赋予某些用户(或用户组)以root或其他用户身份运行某些(或全部)命令的能力,同时提供命令及其参数的审核跟踪。
这允许将特定命令委派给特定主机上的特定用户,而无需在它们之间共享密码。
FreeBSD安装sudo命令
- 打开终端应用程序
- 对于远程服务器,请使用ssh命令登录。例如:
ssh ec2-user @ ec2-freebsd-server-ip
- 更新您的pkg数据库,运行:
pkg update && pkg upgrade
。 - 通过执行
pkg install sudo
命令在FreeBSD上安装sudo。 - 根据需要在FreeBSD上配置sudo访问
让我们详细了解如何在FreeBSD系统上安装和使用sudo。
使用FreeBSD端口系统安装sudo
要安装端口,请执行:
# cd /usr/ports/security/sudo/ && make install clean
FreeBSD使用pkg_add或pkg命令安装sudo命令
要添加二进制软件包,请在较旧版本的FreeBSD(例如FreeBSD 9.x)上使用pkg_add,运行:
# pkg_add -rv sudo
或者
# pkg_add -r sudo
输出示例:
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-9.0-release/Latest/sudo.tbz... Done.
对于最新版本的FreeBSD,例如FreeBSD 11.x +,请使用pkg命令:
# pkg install sudo
如何配置sudo?
默认配置文件位于/usr/local/etc/sudoers中。
该文件必须使用visudo
命令作为根文件进行编辑。
不使用visudo可能会导致语法或文件权限错误,从而阻止sudo运行。
% su # visudo
允许用户Hyman通过sudo运行所有管理
Hyman ALL=(ALL) ALL
允许组轮成员执行任何命令:
%wheel ALL=(ALL) ALL
保存并关闭文件。
使用sudo成为root用户
执行以下命令以目标用户身份运行shell:
% sudo -s
输出示例:
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> fdbsd9#
在以下示例中,以目标用户身份运行登录shell程序:
$ sudo -i
输出示例:
Password: root@examplejail:~ #
使用id命令验证用户名和组名以及数字ID:
$ id
有关详细信息,请参见"如何在FreeBSD服务器上向用户添加,删除和授予Sudo特权"。
以root用户身份运行任何命令
语法为:
sudo /path/to/command sudo /path/to/command arg1
在此示例中,重新启动ftpd服务:
% sudo /etc/rc.d/ftpd restart
输出示例:
Password: <Enter Your Own Password Here> Stopping ftpd. Starting ftpd.
如何列出用户权限或检查特定命令
要查看允许您运行的命令,请执行:
$ sudo -l $ sudo -ll
输出示例:
User Hyman may run the following commands on examplejail: Sudoers entry: RunAsUsers: ALL Commands: ALL