Linux Sudo 命令安装配置详解

作者:anxin
日期:2017-12-12
分享:

Linux 系统中提供了 sudo (substitute user do) 使得系统管理员可以授权特定用户或用户组作为 root 或他用户执行某些(或所有)命令,同时还能够对命令及其参数提供审核跟踪。

用户可以选择用 su 切换到 root 用户运行命令,这种方式会启动一个 root shell 并允许用户以 root 运行之后的所有的命令。而 sudo 可以针对单个命令、仅在需要时授予临时权限,减少因为执行错误命令损坏系统的可能性。sudo 也能以其他用户身份执行命令并且记录用户执行的命令,以及失败的权限申请。

1、安装 Sudo 命令

Linux 系统下,在安装系统后可能没有安装 Sudo 命令,那么首先需要在特定的 Linux 系统中安装 sudo 命令。

1.1、Debian 安装 sudo 命令

以 root 用户运行如下命令:

apt-get install sudo

1.2、CentOS 安装 sudo 命令

以 root 用户运行如下命令:

yum install sudo

2、配置 Sudo 命令

Linux 系统下,sudo 命令的配置文件为 /etc/sudoers

在此文件中需要用户配置的主要是:添加那些用户可以在那些主机上以那些用户或组的身份运行那些命令,具体形式如下:

<用户名>  主机名 = (用户名:组名) 命令列表

注意:

  1. 主机名必须是主机名,如当前主机不能使用localhost
  2. 用户和组可以只设定一个,可以全设定,但是在运行命令时,可以只指定用户或组,也可以全部指定。
  3. 命令必须使用绝对路径,多个命令以逗号 , 分开

2.1、Sudo 配置文件实例

例1:用户user可以在所有主机上以所有用户和组运行所有命令:

user    ALL = (ALL:ALL) ALL

以如下形式在 Shell 中执行命令

sudo reboot

例2:用户user可以在本地主机bogon上以root用户运行重启命令:

user    bogon = (root) /sbin/reboot

以如下形式在 Shell 中执行命令

sudo -u root reboot

例3:用户user可以在本地主机bogon上以os用户或root组运行ls命令:

user    bogon = (os:root) /bin/ls

以如下形式在 Shell 中执行命令

sudo -u os ls
sudo -g root ls
sudo -u os -g root ls

例4:用户user可以在所有主机上以所有用户和组运行所有命令,不需要输入密码:

user    ALL = (ALL:ALL) NOPASSWD:ALL

以如下形式在 Shell 中执行命令

sudo reboot
本文链接:https://www.yuzhi100.com/article/linux-sudo-anzhuang-peizhi

本文版权归知站所有,未经站长同意不得转载,谢谢尊重作者劳动成果!

作者:anxin