Linux中的Sudo命令是什么?

sudo 或者superuser do是一个在Linux、BSD和Unix系统上使用的实用程序,它为正在运行的命令提供root或管理员权限。不是每个用户都需要具有root权限,但在某些情况下需要使用root权限运行命令。我们可以使用sudo运行一些特定的或所有提供的命令,并使用root权限编辑文件。

null

sudo配置文件sudoers

sudo命令是配置是存储的 /etc/sudoers 文件。只能使用root权限查看和编辑此文件。我们可以用 visudo 命令如下。

$ sudo visudo
sudo Configuration File sudoers
sudo配置文件sudoers

我们可以看到sudoers配置文件的另一部分提供了默认值、用户和组权限。

配置语法

我们可以使用以下语法来创建关于给定用户或组的sudo配置。

USER HOSTLIST=(USERLIST) COMMANDLIST
  • USER是可以在给定主机上运行给定命令的用户
  • HOSTLIST是可以运行给定命令的主机
  • COMMANDLIST是可以运行的命令。可以用逗号分隔多个命令。

指定要运行Sudo命令的用户

我们可以添加一个用户来运行具有root权限的特定命令。在本例中,我们将添加用户 ismail 运行命令 visudo 具有root权限。

ismail ALL=(ALL:ALL) /usr/sbin/visudo
Specify A User To Run Sudo Command
指定要运行Sudo命令的用户

无密码Sudo命令

我们可以为给定的用户提供sudo命令而不需要任何密码。我们将使用 NOPASSWD 下面的配置将禁用用户的密码 ismail .

ismail ALL=NOPASSWD:/usr/sbin/visudo

列出可用命令

我们可以用 -l 选项,该选项将列出当前用户可以执行的当前使用的根特权命令。

$ sudo -l
List Available Commands
列出可用命令

以Root权限运行命令

在本例中,我们将使用 sudo 命令。我们要跑了 ls 中的命令 /root 完全由根用户拥有且仅由根用户使用的目录。

$ sudo ls /root

使用Root权限编辑文件

我们还使用sudo命令编辑具有root权限的文件。我们将编辑 /etc/passwd 文件与 vim 命令如下。

$ sudo vim /etc/passwd
Edit File with Root Privileges
使用Root权限编辑文件

sudo和su的区别

su 命令用于作为另一端的root用户登录 sudo 命令只是在当前用户会话中以root用户身份运行给定的命令。在运行sudo命令时,用户名也会被记录,但是sudo命令只会记录根用户名。最好的方法

相关文章: 什么是计算、Windows、Linux、Google中的用户?

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享