sudo

Sudo是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具

安装sudo

# mount /dev/cdrom /media/cdrom

# rpm -ivh sudo-1.6.9pl7-3.el5.i386.rpm

安装后的配置文件为/etc/sudoers   (权限为0440,最好不要改,也不要给它可写的权限,不然后边会报错。或者给过权限后及时再改回去)

修改sudo的命令为:visudo

使用visudo有两个原因,一是它能够防止两个用户同时修改它;二是它也能进行有限的语法检查

“e”是重新编辑,“x”是不保存退出,“Q”是退出并保存

sudo的日志功能不是自动的,必须由管理员开启。这样来做:

# touch /var/log/sudo

# vi /etc/syslog.conf

在syslog.conf最后面加一行(必须用tab分割开)并保存:

local2.debug                    /var/log/sudo

重启日志守候进程,

ps aux | grep syslogd

把得到的syslogd进程的PID(输出的第二列是PID)填入下面:

kill –HUP PID

这样,sudo就可以写日志了

部分常用sudo参数:

sudo -V 显示版本编号
sudo -h 会显示版本编号及指令的使用方式说明
sudo -l 显示出自己(执行 sudo 的使用者)的权限
sudo -v 因为 sudo 在第一次执行时或是在 N 分钟内没有执行(N 预设为五)会问密码,这个参数是重新做一次确认,如果超过 N 分钟,也会问密码
sudo -k 将会强迫使用者在下一次执行 sudo 时问密码(不论有没有超过 N 分钟)
sudo -b 将要执行的指令放在背景执行
sudo -p prompt 可以更改问密码的提示语,其中 %u 会代换为使用者的帐号名称, %h 会显示主机名称
sudo -u username/#uid 不加此参数,代表要以 root 的身份执行指令,而加了此参数,可以以 username 的身份执行指令(#uid 为该 username 的使用者号码)
sudo -s 执行环境变数中的 SHELL 所指定的 shell ,或是 /etc/passwd 里所指定的 shell
sudo -H 将环境变数中的 HOME (家目录)指定为要变更身份的使用者家目录(如不加 -u 参数就是系统管理者 root )

使用示例:

root和wheel组的成员拥有任何权利。 如果想对一组用户进行定义,可以在组名前加上%,对其进行设置.
root ALL = (ALL) ALL
%wheel ALL = (ALL) ALL

FULLTIMERS可以运行任何命令在任何主机而不用输入自己的密码
FULLTIMERS ALL = NOPASSWD: ALL

PARTTIMERS可以运行任何命令在任何主机,但是必须先验证自己的密码。
PARTTIMERS ALL = ALL

jack可以运行任何命令在定义地CSNET(128.138.243.0, 128.138.242.0和128.138.204.0/24的子网)中,不过注意前两个不需要匹配子网掩码,而后一个必须匹配掩码。
jack CSNETS = ALL

lisa可以运行任何命令在定义为CUNETS(128.138.0.0)的子网中主机上。
lisa CUNETS = ALL

用户operator可以运行DUMPS,KILL,PRINTING,SHUTDOWN,HALT,REBOOT以及在/usr/oper/bin中的所有命令。
operator ALL = DUMPS, KILL, PRINTING, SHUTDOWN, HALT, REBOOT,\
/usr/oper/bin/

joe可以运行su operator命令
joe ALL = /usr/bin/su operator

pete可以为除root之外地用户修改密码。
pete HPPA = /usr/bin/passwd [A-z]*, !/usr/bin/passwd root

bob可以在SPARC和SGI机器上和OP用户组中的root和operator一样运行如何命令。
bob SPARC = (OP) ALL : SGI = (OP) ALL

jim可以运行任何命令在biglab网络组中。Sudo默认“+”是一个网络组地前缀。
jim +biglab = ALL

在secretaries中地用户帮助管理打印机,并且可以运行adduser和rmuser命令。
+secretaries ALL = PRINTING, /usr/bin/adduser, /usr/bin/rmuser

fred能够直接运行oracle或者sybase数据库。
fred ALL = (DB) NOPASSWD: ALL

john可以在ALPHA机器上,su除了root之外地所有人。
john ALPHA = /usr/bin/su [!-]*, !/usr/bin/su *root*

jen可以在除了SERVERS主机组的机器上运行任何命令。
jen ALL, !SERVERS = ALL

jill可以在SERVERS上运行/usr/bin/中的除了su和shell命令之外的所有命令。
jill SERVERS = /usr/bin/, !SU, !SHELLS

steve可以作为普通用户运行在CSNETS主机上的/usr/local/op_commands/内的任何命令。
steve CSNETS = (operator) /usr/local/op_commands/

matt可以在他的个人工作站上运行kill命令。
matt valkyrie = KILL

WEBMASTERS用户组中的用户可以以www的用户名运行任何命令或者可以su www。
WEBMASTERS www = (www) ALL, (root) /usr/bin/su www

任何用户可以mount或者umount一个cd-rom在CDROM主机上,而不用输入密码。
ALL CDROM = NOPASSWD: /sbin/umount /CDROM,\
/sbin/mount -o nosuid\,nodev /dev/cd0a /CDROM

转载于:https://blog.51cto.com/yangzhiming/834884

sudo提升执行权限相关推荐

  1. cve-2016-6662 mysql远程代码执行/权限提升 漏洞

    I. VULNERABILITY MySQL <= 5.7.15 远程代码执行/权限提升 (0day) 5.6.33 5.5.52 克隆mysql的同样受影响, 包括: MariaDB Perc ...

  2. 【Linux】三、Linux 环境基础及开发工具使用(上篇)|开发工具|编辑器-vim使用|sudo提升权限问题|编译器 - gcc/g++使用|项目自动化构建工构建工具-make/Makefile

    目录 一.开发工具 二.Linux编辑器 - vim使用 2.1 vim 的基本概念 2.2 vim的基本操作 2.3 vim正常模式命令集 2.4 vim末行模式命令集 2.5 简单vim配置 2. ...

  3. sudo命令普通用户提升root权限配置

    sudo命令普通用户提升root权限配置 1.概述 在操作linux时候,有些命令需要使用root权限才能执行,如果我们使用的是普通用户可以使用sudo命令将普通用户权限提升到root权限解决权限限制 ...

  4. Linux下ACL权限控制以及用sudo设置用户对命令的执行权限

    ACL权限分配 1.setfacl命令设置文件权限 setfacl -m u:user1:rw root.txt setfacl -m u:user2:rwx root.txt 2.getfacl命令 ...

  5. linux设置用户的执行权限,Linux下ACL权限控制以及用sudo设置用户对命令的执行权限...

    ACL权限分配 1.setfacl命令设置文件权限 setfacl -m u:user1:rw root.txt setfacl -m u:user2:rwx root.txt 2.getfacl命令 ...

  6. linux权限s的作用,lqc|_高级权限控制之su、sudo、特殊权限s及t位、facl

    实验二:高级权限控制之su.sudo.特殊权限s及t位.facl 1)su切换用户 a.su的基本用法: su - u01 ##root-->u01,不需要密码 su - 或su - root ...

  7. docker执行权限问题Got permission denied while trying to connect to the Docker daemon socket

    安装docker之后,执行docker images等命令,提示权限问题,报错如下: Got permission denied while trying to connect to the Dock ...

  8. Linux基本防护措施案例\使用sudo分配管理权限案例\提高SSH服务安全案例\SELinux安全防护\Linux基本防护措施

    案例1:Linux基本防护措施 案例2:使用sudo分配管理权限 案例3:提高SSH服务安全 案例4:SELinux安全防护 1 案例1:Linux基本防护措施 1.1 问题 本案例要求练习Linux ...

  9. Linux赋予文件权限 最高权限 可执行权限

    赋予文件权限: 方式一. sudo chmod -R 777 [文件] -R 是指级联应用到目录里的所有子目录和文件 777 是所有用户都拥有最高权限 方式二. chmod [who] [符号] [权 ...

最新文章

  1. html5粒子形成图案,html5 canvas粒子形成下雪背景的效果
  2. HCNA多区域OSPF配置
  3. DPI — Application Assurance — Overview
  4. Node-RED简介与Windows上安装、启动和运行示例
  5. leetcode93. 复原 IP 地址
  6. HTML5-寻路跟踪
  7. 「雕爷学编程」Arduino动手做(29)——DS1302时钟模块
  8. js中使用new Date(str)创建时间对象不兼容firefox和ie的解决方式
  9. redis事务冲突问题 - 乐观锁和悲观锁
  10. 手把手教你通过PS给所需证件照进行换底色处理
  11. 清理 Anaconda 的 pkgs
  12. Double和Float类型的max、min、isNaN、isFinite、isInfinite方法
  13. request.js?b775:43 Uncaught (in promise) Error: 抱歉,系统繁忙,请稍后重试! at __webpack_exports__.default (r
  14. 《三体1:地球往事》读后感
  15. 计算机应用基础中级,《计算机应用基础》中级测试题-针对考题实操
  16. Linux使用gstreamer打开网络摄像头
  17. 智慧城市,离我们还有多远?
  18. debain10更换源和配置
  19. volatile的指令重排序理解
  20. 普罗米修斯 软件_Prometheus(普罗米修斯)——适合k8s和docker的监控系统

热门文章

  1. 东芝再曝财务造假丑闻 日企百年老店怎么了?
  2. CentOS 6.5环境实现corosync+pacemaker实现DRBD高可用
  3. 三框架:使用数据源dbcp注意
  4. jquery操作复选框(checkbox)的12个小技巧总结
  5. 转:http与https
  6. PostgreSQL数据库dblink和postgres_fdw扩展使用比较
  7. Linux下配置rdate时间服务器
  8. 百度开发者大会-《用HTML5新特性开发移动App》PPT分享
  9. 用于判断用户注册时,密码强度的JS代码。
  10. ADO.NET 2.0 Dataset和Datatable 新功能新特性