sudo的使用(Centos)

sudo的用处不多说;

我在centos的配置,想想sudo很简单,之前改了很多都没test成功,权限,语法都试了好几回,现记录下

一:直接用visudo命令修改,之前是vim /etc/sudoers 这样不行。用visudo既能检测语法错误,又能避免多个用户同时编辑修改

二:语法设置,

1. 最简单的配置,让普通用户student具有root的所有权限
执行visudo之后,可以看见缺省只有一条配置:
root    ALL=(ALL) ALL
那么你就在下边再加一条配置:
student ALL=(ALL) ALL

第一个ALL指代网络中的主机;第二个指代用户,也就是按哪个用户权限去行使命令;第三个指代执行命令

如 student  ALL=(ALL)   NOPASSWD: /bin/sh   代表只能执行sh

#Defaults    requiretty    解决sudo: sorry, you must have a tty to run sudo

这样,普通用户student就能够执行root权限的所有命令

以student用户登录之后,执行:
sudo su -
然后输入student用户自己的密码,就可以切换成root用户了

2. 让普通用户student只能在某几台服务器上,执行root能执行的某些命令
首先需要配置一些Alias,这样在下面配置权限时,会方便一些,不用写大段大段的配置。Alias主要分成4种
Host_Alias
Cmnd_Alias
User_Alias
Runas_Alias

1) 配置Host_Alias:就是主机的列表
Host_Alias      HOST_FLAG = hostname1, hostname2, hostname3
2) 配置Cmnd_Alias:就是允许执行的命令的列表
Cmnd_Alias      COMMAND_FLAG = command1, command2, command3
3) 配置User_Alias:就是具有sudo权限的用户的列表
User_Alias USER_FLAG = user1, user2, user3
4) 配置Runas_Alias:就是用户以什么身份执行(例如root,或者oracle)的列表
Runas_Alias RUNAS_FLAG = operator1, operator2, operator3
5) 配置权限
配置权限的格式如下:
USER_FLAG HOST_FLAG=(RUNAS_FLAG) COMMAND_FLAG
如果不需要密码验证的话,则按照这样的格式来配置
USER_FLAG HOST_FLAG=(RUNAS_FLAG) NOPASSWD: COMMAND_FLAG

如:Host_Alias      HOST=test3
Cmnd_Alias      COMM=/usr/bin/crontab,/sbin/ifconfig
User_Alias      USER=cacti,sxf

USER HOST=(ALL)      NOPASSWD: COMM

[root@test3 ~]# su - cacti
[cacti@test3 ~]$ ifconfig
-bash: ifconfig: command not found
[cacti@test3 ~]$ sudo ifconfig
Password:
sudo: ifconfig: command not found
[cacti@test3 ~]$ sudo /sbin/ifconfig
eth0      Link encap:Ethernet HWaddr 00:16:3E:01:B1:40

passwd为该用户默认密码

三:日志记录

touch /var/log/sudo
vim /etc/syslog.conf

添加 local2.debug /var/log/sudo

重启日志守护进程 ps aux |grep syslogd
kill -HUP pid

转载于:https://blog.51cto.com/benetliu/1068188

Cenetos 下sudo的使用相关推荐

  1. linux下sudo权限管理

    linux下sudo权限管理 1.修改/etc/sudoers下文件 2.文件格式为 user_flag host_flag=(runlevel_flag) command_flag 分别代表用户名 ...

  2. unbuntu下 sudo apt-get update 更新软件源列表

    unbuntu下 sudo apt-get update 更新软件源列表 unbuntu下安装软件有两种方式:一种是在线安装.一种是离线安装 在线安装就是在软件源列表里下载 apt 就是一个管理应用软 ...

  3. linux下sudo命令[转]

    一.sudo简介:    1.概念: sudo是linux下常用的允许普通用户使用超级用户权限的工具,允许系统管理员让普通用户执行一些或者全部的root命令,如halt,reboot,su等等.这样不 ...

  4. 《linux下sudo服务的使用》RHEL6

    /bin/ 下放的二进制文件命令都是普通用户可以使用的 Sbin 下放的二进制文件命令都是超级用户root可以使用的   普通用户也想使用Sbin下的文件可以通过sudo来实现: 默认普通用户是不可以 ...

  5. cve-2021-3156 linux下sudo堆缓冲区溢出漏洞的修复尝试

    一.漏洞情况 sudo堆溢出漏洞(CVE-2021-3156),漏洞隐藏十年之久,在sudo解析命令行参数的方式中发现了基于堆的缓冲区溢出.任何本地用户(普通用户和系统用户,sudoer和非sudoe ...

  6. kde下sudo出现cannot connect to xserver解决方法

    用visudo 或者直接编辑/etc/sudoers(不推荐) 把Defaults env_keep有关的几行注释取消掉就可以了. 其实不用全部取消,里面具体有说明 这个也可以解决sudo 使用文件配 ...

  7. ubuntu下sudo命令不能使用问题

    不知道从什么时候开始,ctrl+alt+F1进入命令行之后,登录成功.使用sudo命令,不能使用....被坑了很久. 解决方法: 出现 [sudo ] username !!! 之后,在输入一遍 密码 ...

  8. Linux操作系统下Sudo命令的使用方法说明

    "Sudo" 是Unix/Linux平台上的一个非常有用的工具,它允许系统管理员分配给普通用户一些合理的"权利",让他们执行一些只有超级用户或其他特许用户才能完 ...

  9. centos7 下 sudo yum install 报错镜像找不到

    系统环境:centos7 问题复现:sudo yum 安装任何包 都是同一个错 操作之前:安装过docker的镜像 报错乱码: base | 3.6 kB 00:00:00 https://downl ...

最新文章

  1. IDEA工具基本设置
  2. dw网页设计作品_10个富有特色的网页设计精选作品
  3. The Power of Android Action Bars(转载)
  4. c++求n的几次方_14.八年级数学:若a+b+c=1,怎么求 a+b+c的值?分式培优拓展
  5. C++中建立对象间消息连接的系统方法
  6. 怎样追求一个你喜欢的人?
  7. PHP年龄计算 取得两个时间戳相差的年龄年月日显示
  8. Java IO(输入输出)
  9. 自然语言处理——词性标注实战
  10. python shell 方向键不可用
  11. InfoGAN学习笔记
  12. 滑动验证码最简单案例:破解qq空间(豆瓣网)滑块验证码(python+selenium实现)
  13. css怎么设置鼠标手势?
  14. anaconda 完全卸载——重装
  15. 101个最佳配色方案,设计师值得收藏!
  16. Cannot negotiate authentication mechanism svn: Unable to connect to a repository at URL 'svn://gite
  17. python 华泰股票交易接口_TradeApi 自带资金管理的A股程序化交易接口
  18. MySQL复制表-CREATE SELECT
  19. 手持SLAM年终杂谈
  20. 找规律万能公式_万能公式:找规律什么的都弱爆了 | 死理性派小组 | 果壳网 科技有意思...

热门文章

  1. 3D模型在网页上显示
  2. java实现鼠标宏编程_我應該如何編程高級java遊戲中的鼠標/鍵輸入?
  3. python 字符串拼接_面试官让用 3 种 python 方法实现字符串拼接 ?对不起我有8种……...
  4. 设计模式 — Overview
  5. NetDevOps — OpenConf 协议
  6. Linux Kernel TCP/IP Stack — Socket Layer
  7. 5GS 协议栈 — GTP 协议族
  8. [洛谷P2057][SHOI2007]善意的投票
  9. extern “C”的作用详解
  10. 解密蚂蚁金服MISA:37℃的自助语音交互是怎么做到的?