Linux基础——sudo命令

2023-10-30

sudo——用户提升权限的命令

1.新建用户,并且设置密码
 [root@sanchuang ~]# useradd  panlinfeng
[root@sanchuang ~]# echo 123456|passwd panlinfeng --stdin
更改用户 panlinfeng 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@sanchuang ~]# 


2.授权
[root@sanchuang ~]# vim /etc/sudoers

## Sudoers allows particular users to run various commands as
## the root user, without needing the root password.
root    ALL=(ALL)       ALL
panlinfeng      ALL=(ALL)       ALL   #添加授权记录


3.验证使用
[root@sanchuang ~]# su - panlinfeng
[panlinfeng@sanchuang ~]$ cd /
[panlinfeng@sanchuang /]$ ll -d /
dr-xr-xr-x. 21 root root 4096 2月  26 16:03 /
[panlinfeng@sanchuang /]$ mkdir pan
mkdir: 无法创建目录"pan": 权限不够
[panlinfeng@sanchuang /]$ sudo mkdir pan

我们信任您已经从系统管理员那里了解了日常注意事项。
总结起来无外乎这三点:

    #1) 尊重别人的隐私。
    #2) 输入前要先考虑(后果和风险)。
    #3) 权力越大,责任越大。

[sudo] panlinfeng 的密码:
[panlinfeng@sanchuang /]$ ls
backup  boot  etc   lianxi  lib64  mnt  pan   root  sbin  srv  tmp  var
bin     dev   home  lib     media  opt  proc  run   sc    sys  usr  zhongguo
[panlinfeng@sanchuang /]$ 

审计: 记录日志到/var/log/secure文件里

[panlinfeng@sanchuang /]$ sudo tail  /var/log/secure
Feb 26 16:03:53 sanchuang sshd[1436]: pam_unix(sshd:session): session opened for user root by (uid=0)
Feb 26 16:11:28 sanchuang useradd[1476]: new group: name=panlinfeng, GID=1003
Feb 26 16:11:28 sanchuang useradd[1476]: new user: name=panlinfeng, UID=1003, GID=1003, home=/home/panlinfeng, shell=/bin/bash
Feb 26 16:11:55 sanchuang passwd: pam_unix(passwd:chauthtok): password changed for panlinfeng
Feb 26 16:16:17 sanchuang su: pam_unix(su-l:session): session opened for user panlinfeng by root(uid=0)
Feb 26 16:17:42 sanchuang sudo: panlinfeng : TTY=pts/0 ; PWD=/ ; USER=root ; COMMAND=/bin/mkdir pan
Feb 26 16:17:42 sanchuang sudo: pam_unix(sudo:session): session opened for user root by root(uid=0)
Feb 26 16:17:42 sanchuang sudo: pam_unix(sudo:session): session closed for user root
Feb 26 16:19:37 sanchuang sudo: panlinfeng : TTY=pts/0 ; PWD=/ ; USER=root ; COMMAND=/bin/tail /var/log/secure
Feb 26 16:19:37 sanchuang sudo: pam_unix(sudo:session): session opened for user root by root(uid=0)
[panlinfeng@sanchuang /]$ 

授予普通用户指定的命令权限

1.新建用户,设置密码
[root@sanchuang ~]# useradd luqianjun
[root@sanchuang ~]# echo 123456|passwd luqianjun --stdin
更改用户 luqianjun 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@sanchuang ~]#


2.授权

进入/etc/sudoers文件里修改

Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool

Cmnd_Alias LUTOOLS = /bin/nice, /bin/kill, /usr/bin/kill, /usr/bin/killall, /usr/sbin/useradd, /usr/sbin/userdel, /usr/sbin/ip     #增加的命令别名

luqianjun  ALL = LUTOOLS , NETWORKING    给luqianjun用户授予上面设置别名的命令的权限

3.验证
[root@sanchuang ~]# su - luqianjun
[luqianjun@sanchuang ~]$ sudo useradd wuhao

我们信任您已经从系统管理员那里了解了日常注意事项。
总结起来无外乎这三点:

    #1) 尊重别人的隐私。
    #2) 输入前要先考虑(后果和风险)。
    #3) 权力越大,责任越大。

[sudo] luqianjun 的密码:
[luqianjun@sanchuang ~]$ id wuhao
uid=1005(wuhao) gid=1005(wuhao) 组=1005(wuhao)
[luqianjun@sanchuang ~]$ sudo mount /dev/cdrom   /mnt
对不起,用户 luqianjun 无权以 root 的身份在 sanchuang 上执行 /bin/mount /dev/cdrom /mnt。

授予组指定命令的权限

1.新建组,将用户加入组
[root@sanchuang ~]# groupadd  sanchuang
[root@sanchuang ~]# useradd -g sanchuang  luojie
[root@sanchuang ~]# useradd -g sanchuang  liquan
[root@sanchuang ~]# useradd -g sanchuang  cc
[root@sanchuang ~]# id luojie
uid=1006(luojie) gid=1006(sanchuang) 组=1006(sanchuang)
[root@sanchuang ~]# id cc
uid=1008(cc) gid=1006(sanchuang) 组=1006(sanchuang)
[root@sanchuang ~]# id liquan
uid=1007(liquan) gid=1006(sanchuang) 组=1006(sanchuang)
[root@sanchuang ~]# 
[root@sanchuang ~]# echo 123456|passwd luojie --stdin
更改用户 luojie 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@sanchuang ~]# echo 123456|passwd liquan --stdin
更改用户 liquan 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@sanchuang ~]# echo 123456|passwd cc --stdin
更改用户 cc 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@sanchuang ~]#
2.授权组
%sanchuang    ALL =  LUTOOLS , NETWORKING    #给sanchuang这个组授予LUTOOLS,NETWORKING这两个别名里所含有的命令的权限,三创这个组里所有的用户都有这些权限

3.验证
[root@sanchuang ~]# su - luojie
[luojie@sanchuang ~]$ sudo useradd luo

我们信任您已经从系统管理员那里了解了日常注意事项。
总结起来无外乎这三点:

    #1) 尊重别人的隐私。
    #2) 输入前要先考虑(后果和风险)。
    #3) 权力越大,责任越大。

[sudo] luojie 的密码:
[luojie@sanchuang ~]$ id luo
uid=1009(luo) gid=1009(luo) 组=1009(luo)

拒绝权限高于一切
一个用户属于某个组,会继承这个组的权限

思考:suid和sudo的区别?
suid提权:任何用户都可以使用这个命令 --》一个命令,任何人都可以使用
sudo授权:指定哪些用户使用哪些命令

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux基础——sudo命令 的相关文章

随机推荐

  • web下载七牛云上面的图片资源

    本文将怎么通过浏览器打包下载七牛云服务器上面的图片资源 如果不用压缩打包处理 可以直接获取流后用对应的out输出就行 不做具体解析 1 先讲怎么打包下载吧 ZipOutputStream我用的是这个工具类 创建 ZipOutputStrea
  • RL-RTX小读之os_sem_wait

    rtl h中定义了 define os sem wait sem tmo os sem wait U32 rt sem wait sem tmo rt sem wait的实现如下 OS RESULT rt sem wait OS ID se
  • for循环遍历列表的注意事项

    一图流
  • 环形链表

    LeetCode 环型链表 给定一个链表 返回链表开始入环的第一个节点 如果链表无环 则返回 null 为了表示给定链表中的环 我们使用整数 pos 来表示链表尾连接到链表中的位置 索引从 0 开始 如果 pos 是 1 则在该链表中没有环
  • 用 JavaScript,五分钟将 Siri 接入 ChatGPT(搬运)

    Siri ChatGPT 使用教程 将 Siri 接入 ChatGPT 直接语音唤醒 并且支持连续对话 第一步 拷贝项目 通过 AirCode 源码链接中右上角的 Get a copy 按钮快速生成一个自己的 AirCode Node js
  • 大数据技术原理与应用---笔记一:大数据概论

    大数据概论 1 大数据概念 1 1 4v说法 1 2 大数据的影响 对科学研究的影响 对思维方式影响 2 大数据相关技术 2 1大数据基本处理流程 3 大数据计算模式 大数据产业 参考书籍 1 大数据概念 1 1 4v说法 1 数据量大 v
  • 【华为上机真题】事件推送

    作者 Linux猿 简介 CSDN博客专家 华为云享专家 Linux C C 云计算 物联网 面试 刷题 算法尽管咨询我 关注我 有问题私聊 关注专栏 数据结构和算法成神路 精讲 优质好文持续更新中 欢迎小伙伴们点赞 收藏 留言 目录 一
  • 填速度环的大坑以及转向环的疑问还有对PID的魔性认识

    原文 https blog csdn net weixin 30836759 article details 94931014 前几天填补了速度环的大坑 之前速度环是每次获取编码器的返回值来对输出的PWM波进行赋值 发现车总是有气无力 更换
  • Spring Security+Spring Boot 无法访问静态资源 401-跨域问题解决

    401告诉我没有权限 一开始我还以为时静态资源没有开放 package cn hcnet2006 blog hcnetwebsite config import org springframework context annotation
  • java dispose - public void dispose()

    dispose public void dispose 释放由此 Window 其子组件及其拥有的所有子组件所使用的所有本机屏幕资源 即这些 Component 的资源将被破坏 它们使用的所有内存都将返回到操作系统 并将它们标记为不可显示
  • vue项目中如何定义 多个全局自定义指令

    在项目中如果自定义指令太多 不方便在main js中写 那么如何能够全部写在一个文件然后在main js中引入 首先创建一个js文件 用于专门书写指令 directives index js export const imagerror i
  • signed和unsigned区别

    signed和unsigned用于修饰整数类型 包括char 从ANSI C89标准开始支持 signed表示有符号 unsigned表示无符号 有符号数的最大取值要比无符号的小约一半 因为有符号数的最高一位被用来表示符号 默认的int s
  • 剑指offer 专项突破版 119、最长连续序列

    题目链接 思路 同样的可以转化为并查集来做 可以把相邻的数字放到一个子集中 每当搜索到一个数字时就判断和他相邻的数字是否在集合中 如果在就合并 为了方便记录每个集合的大小 可以用一个count集合记录每个子集的大小 在合并集合的时候也要更新
  • vue开发环境准备-  配置npm私服地址

    1 通过config命令 npm config set registry https ip repository npm group 2 命令行方式 npm registry https ip repository npm group in
  • 剑指offer—16.数值的整数次方——分析及代码(Java)

    剑指offer 16 数值的整数次方 分析及代码 Java 一 题目 二 分析及代码 1 二分求解 1 思路 2 代码 3 结果 三 其他 一 题目 给定一个 double 类型的浮点数 base 和 int 类型的整数 exponent
  • 微信小程序监听返回后执行操作

    例如 点击主页面是index进入子页面list list页面onUnload进行监听 onUnload getCurrentPages 获取当前的页面栈 var pageList getCurrentPages var prevPage p
  • Spring整合Ehcache管理缓存

    前言 Ehcache 是一个成熟的缓存框架 你可以直接使用它来管理你的缓存 Spring 提供了对缓存功能的抽象 即允许绑定不同的缓存解决方案 如Ehcache 但本身不直接提供缓存功能的实现 它支持注解方式使用缓存 非常方便 本文先通过E
  • R 与甲骨文数据挖掘

    特点 使用 Oracle Data Miner 和 Oracle R Enterprise 自动化预测分析过程 深入了解企业中常用的各种统计模型 以及如何使用各种 SQL PLSQL ORE ODM 和本机 R 包将它们自动化以进行预测分析
  • MD5

    package com bochy md5 import java security MessageDigest import java security NoSuchAlgorithmException import com sun ma
  • Linux基础——sudo命令

    sudo 用户提升权限的命令 1 新建用户 并且设置密码 root sanchuang useradd panlinfeng root sanchuang echo 123456 passwd panlinfeng stdin 更改用户 p