sudo 是一种权限管理机制,管理员可以授权普通用户去执行 root 权限的操作,而不需要知道 root 的密码。
sudo 以其他用户身份执行命令,默认以root身份执行。配置文件/etc/sudoers,使用命令 visudo 编辑配置,配置文本行数100gg

## Allow root to run any commands anywhere
root ALL = (ALL) ALL
boy ALL = (ALL) NOPASSWD:/bin/ls #允许boy用户使用ls命令,且无需输入密码
boy ALL = (ALL) NOPASSWD:ALL #允许boy用户使用全部命令,且无需输入密码
用户 从哪些主机执行命令 = (用户身份,默认root用户) 可使用命令的全路径格式,多个命令以逗号分隔

  

sudo执行原理:

sudo时间戳:普通用户第一次执行sudo命令时,需输入账户密码,系统会在/var/run/sudo/ts目录下为该用户创建时间戳,有效时间5分钟,可使用-v参数延长有效期,使用-k参数清除时间戳。

仅允许用户 nick 在 192.168.10.0/24 网段上连接主机并且以 root 权限执行 useradd 命令

nick 192.168.10.0/24=(root) /usr/sbin/useradd

sudo -l 查看用户sudo可使用命令

[boy@ 55test ~]$ sudo -l
Matching Defaults entries for boy on 55test:
!visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin, env_reset,
env_keep="COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME
LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES",
env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE
LINGUAS _XKB_CHARSET XAUTHORITY", secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin User boy may run the following commands on 55test:
(ALL) NOPASSWD: ALL #boy获得全部管理员权限,并且sudo执行革命时不需要输入密码 [boy@ 55test ~]$ sudo ls /root
anaconda-ks.cfg gg.txt mm2 nginx.log num.txt pass qq.txt
bash mm1 mm3 nn.txt oldboy.txt passwd user [boy@ 55test ~]$ sudo su - #使用普通用户登录然后利用sudo提权到root
Last login: Sat Oct 10 10:00:23 CST 2020 from 192.168.15.2 on pts/3

  

sudo、su、suid的区别:
suid 某个root权限的命令-->所有用户,比如passwd,针对需要root权限的命令,任何用户都可以使用suid权限的命令

[root@ 55test ~]# ll `which passwd`
-rwsr-xr-x. 1 root root 27832 Jun 10 2014 /usr/bin/passwd
用户执行权限位置为s

su 用于变更为其他使用者的身份,除 root 外,需要键入所切换用户的密码。

sudo 某个root执行的操作-->某个用户,授权某个用户以root权限执行某些命令,需要用户自己的密码

sudo、su、suid的更多相关文章

  1. Linux 用户篇——用户管理命令之id、whoami、su、chage

    一.浅谈id.whoami.su.chage 本篇是续写上一篇<Linux 用户篇——用户管理命令之useradd.passwd.userdel.usermod>. (1)id命令 命令格 ...

  2. Linux学习(十二)mkpasswd、su、sudo、限制root远程登录

    一.mkpasswd mkpasswd用来生成随机密码字符串.可以指定长度和特殊字符的长度: [root@ruanwenwu01 ~]# mkpasswd O7.alw5Wq [root@ruanwe ...

  3. 《linux就该这么学》课堂笔记08 用户权限、特殊权限、隐藏权限、su、sudo

    1.文件的读.写.执行权限可以简写为 r w x,亦可分别用数字4.2.1来表示 2.文件的特殊权限 2.1.SUID是一种对二进制程序进行设置的特殊权限,可以让二进制程序的执行者临时拥有属主的权限( ...

  4. Linux常用命令4(grep、df、du、awk、su、ll)

    [grep命令] grep常用用法 [root@www ~]# grep [-acinv] [--color=auto] '搜寻字符串' filename选项与参数:-a :将 binary 文件以 ...

  5. linux初学terminal命令(1)ls、cd、su、man、pwd、useradd、passwd、cat、Ctrl+C、Ctrl+Z、Ctrl+L

    terminal命令(terminal终端对应windows 按下win(linux下叫Super键)+r,输入cmd(command,命令),召唤出来的Dos控制台) 1. ls(英文list):简 ...

  6. Linux命令——su 、su -、sudo

    前言 大部分Linux发行版的默认账户是普通用户,而更改系统文件或者执行某些命令,需要root身份才能进行,这就需要从当前用户切换到root用户. 切换用户身份有两个命令 su [-] usernam ...

  7. Linux常用命令英文全称与中文解释 (pwd、su、df、du等)

    https://blog.csdn.net/qq_40334837/article/details/83819735 Linux常用命令英文全称与中文解释 apt: Advanced Packagin ...

  8. Linux /bin、/sbin、/usr/bin、/usr/sbin目录的区别

    在linux下我们经常用到的四个应用程序的目录是/bin./sbin./usr/bin./usr/sbin .而四者存放的文件一般如下:     bin目录:  bin为binary的简写主要放置一些 ...

  9. /bin、/sbin、/usr/bin、/usr/sbin目录Linux执行文档的区别

    /bin./sbin./usr/bin./usr/sbin目录的区别   在linux下我们经常用到的四个应用程序的目录是/bin./sbin./usr/bin./usr/sbin .而四者存放的文件 ...

随机推荐

  1. Spring Cloud Commons教程(三)忽略网络接口

    有时,忽略某些命名网络接口是有用的,因此可以将其从服务发现注册中排除(例如,在Docker容器中运行).可以设置正则表达式的列表,这将导致所需的网络接口被忽略.以下配置将忽略“docker0”接口和以 ...

  2. Oracle--创建TRIGGER实现跟踪用户登录信息

    ---创建日志表记录用户登录信息create  table user_log(  user_id         VARCHAR2(30),  session_id      NUMBER(10),  ...

  3. 你的MySQL服务器开启SSL了吗?(转载)

    最近,准备升级一组MySQL到5.7版本,在安装完MySQL5.7后,在其data目录下发现多了很多.pem类型的文件,然后通过查阅相关资料,才知这些文件是MySQL5.7使用SSL加密连接的.本篇主 ...

  4. WebServices 实现跨应用程序进行通信和跨平台进行通信

    SOA ,即Service Oriented Architecture ,中文一般理解为面向服务的架构, 既然说是一种架构的话,所以一般认为 SOA 是包含了运行环境,编程模型, 架构风格和相关方法论 ...

  5. 基于python实现自动化办公学习笔记二

    word文件(1)读word文件 import win32comimport win32com.client def readWordFile(path): # 调用系统word功能,可以处理doc和 ...

  6. 转:KVM使用NAT联网并为VM配置iptables端口转发,kvmiptables

    转载地址:https://www.ilanni.com/?p=7016 在前面的文章中,我们介绍KVM的虚拟机(以下简称VM)都是通过桥接方式进行联网的. 本篇文章我们来介绍KVM的VM通过NAT方式 ...

  7. mysqlbinlog读懂binlog

    binlog 报unknown variable 'default-character-set=utf8' 方法1: 在/etc/my.cnf 中将default-character-set=utf8 ...

  8. P1439 【模板】最长公共子序列(LCS)

    先来看一看普通的最长公共子序列 给定字符串A和B,求他们的最长公共子序列 DP做法: 设f[i][j]表示A[1~i]和B[1~j]的最长公共子序列的长度 那么f[i][j]=max(f[i-1][j ...

  9. VMware vMotion 配置要求

    目录 目录 vCenter 支持 vMotion 的前提 条件 vMotion 的主机配置 vMotion 共享存储器要求 vMotion 网络要求 最后 vCenter 支持 vMotion 的前提 ...

  10. Jmeter之JDBC--Mysql

    一.添加JDBC Connection Configuration控件 界面显示如下: 配置说明: 1.名称:标识 2.注释:备注信息 3.Variable Name:定义的变量名,供后续调用: 4. ...