linux下sudo命令配置使用

目录

  • sudo命令配置使用
    • 1.sudo介绍
    • 2.原理
    • 3.安装
    • 4.配置


sudo命令配置使用

1.sudo介绍

sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等。这样不仅减少了root用户的登录 和管理时间,同样也提高了安全性。

2.原理

在sudo于1980年前后被写出之前,一般用户管理系统的方式是利用su切换为超级用户。但是使用su的缺点之一在于必须要先告知超级用户的密码。
sudo使一般用户不需要知道超级用户的密码即可获得权限。首先超级用户将普通用户的名字、可以执行的特定命令、按照哪种用户或用户组的身份执行等信息,登记在特殊的文件中(通常是/etc/sudoers),即完成对该用户的授权(此时该用户称为“sudoer”);在一般用户需要取得特殊权限时,其可在命令前加上“sudo”,此时sudo将会询问该用户自己的密码(以确认终端机前的是该用户本人),回答后系统即会将该命令的进程以超级用户的权限运行。之后的一段时间内(默认为5分钟,可在/etc/sudoers自定义),使用sudo不需要再次输入密码。
由于不需要超级用户的密码,部分Unix系统甚至利用sudo使一般用户取代超级用户作为管理帐号,例如Ubuntu、Mac OS X等。

sudo语法
sudo [ -Vhl LvkKsHPSb ] │ [ -p prompt ] [ -c class│- ] [ -a auth_type ] [-u username│#uid ] command

3.安装

检测是否安装了sudo:
[root@localhost ~]# rpm -q sudo
sudo-1.8.19p2-13.el7.x86_64
如果没有安装,下载软件包进行安装

##如果是centos下,直接执行命令安装
yum install -y sudo

4.配置

编辑配置文件命令:visudo , 等同于 vi /etc/sudoers

※注意:编辑sudo的配置文件/etc/sudoers是一般不要直接使用vi(vi /etc/sudoers)去编辑,因为sudoers配置有一定的语法,直接用vi编辑保存系统不会检查语法,如有错也保存了可能导致无法使用sudo工具,最好使用visudo命令去配置。虽然visudo也是调用vi去编辑,但是保存时会进行语法检查,有错会有提示。
默认配置文件位置:/etc/sudoers

范例1

  1. sudo -l 列出目前的权限
    若用户不在sudoers中会提示不能运行sudo命令,存在则会显示详细的权限。
  1. sudo -V 列出 sudo 的版本

范例2

1. testuser具体sudo权限, 拥有所有权限,相当于root,需要输入testuser的密码,/etc/sudoers中加入以下行。

testuser ALL=(ALL)      ALL

2. testuser具体sudo权限, 拥有所有权限,相当于root,不需要输入testuser的密码,/etc/sudoers中加入以下行。

testuser ALL=(ALL)      NOPASSWD:ALL

3. testuser具体sudo权限,能执行命令/usr/sbin/iptables,/usr/sbin/useradd需要密码,/etc/sudoers中加入以下行。

testuser ALL=(ALL) /usr/sbin/iptables,/usr/sbin/useradd

4. testuser具体sudo权限, 能执行命令/usr/sbin/iptables,/usr/sbin/useradd不需要密码,/etc/sudoers中加入以下行。

testuser ALL=(ALL) NOPASSWD:/usr/sbin/iptables,/usr/sbin/useradd

5. testuser具体sudo权限, /usr/sbin/iptables不需要密码,/usr/sbin/useradd,/usr/sbin/userdel需要密码,/etc/sudoers中加入以下行。

testuser ALL=(ALL) NOPASSWD:/usr/sbin/iptables, PASSWD:/usr/sbin/useradd,/usr/sbin/userdel

你可能感兴趣的:(【Linux】,linux)