原文BLOG:http://iminmin.blog.51cto.com/689308/455992
sudo” 是 Unix/Linux 平台上的一个非常有用的工具,允许为非根用户赋予一些合理的 “ 权利 ” ,让他们执行一些只有根用户或特许用户才能完成的任务,从而减少根用户的登陆次数和管理时间同时也提高了系统安全性。

  • sudo的目的:为非根用户授予根用户的权限;
  • 配置文件:/etc/sudoers
  • visudo命令编辑修改/etc/sudoers配置文件

1、一般用户赋权设置:

[root@localhost ~]# visudo
……前面省略

69 ## Syntax:

70 ##

71 ##      user    MACHINE=COMMANDS

72 ##

73 ## The COMMANDS section may have other options added to it.

74 ##

75 ## Allow root to run any commands anywhere

76 root    ALL=(ALL)       ALL

77 test   ALL=(root) /usr/sbin/useradd         //新增加用户行
……后面省略

说明:
        第一个字段:root为能使用sudo命令的用户;
        第二个字段:第一个ALL为允许使用sudo的主机,第二个括号里的ALL为使用sudo后以什么身份(目的用户身份)来执行命令;
        第三个字:ALL为以sudo命令允许执行的命令;
  上列解释: test   ALL=(root) /usr/sbin/useradd
表示允许test用户从任何主机登录,以root的身份执行/usr/sbin/useradd命令。

用户执行命令效果:

[root@server ~]# su - redhat
[redhat@server ~]$ sudo /usr/sbin/useradd test
//命令需要输入完整的路径
口令:                                     //这里输入用户redhat自己的密码
[redhat@server ~]$ cat /etc/passwd |tail -5
xfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologin
gdm:x:42:42::/var/gdm:/sbin/nologin
sabayon:x:86:86:Sabayon user:/home/sabayon:/sbin/nologin
redhat:x:500:500::/home/redhat:/bin/bash
test:x:501:501::/home/test:/bin/bash            //新增加的用户

2、sudo配置深入:
         1)多个用户的设置(非同一群组用户):
u 对于不同需求的用户:可以按照上面的方法依次增加多行,每行对应一个用户。
u 对于相同需求的多个用户
User_Alias UUU=user1,user2……             定义用户别名;

[root@localhost ~]# visudo
……前面省略
16 ## User Aliases
17 ## These aren't often necessary, as you can use regular groups
18 ## (ie, from files, LDAP, NIS, etc) in this file - just use %groupname
19 ## rather than USERALIAS
20 # User_Alias ADMINS = jsmith, mikem      //这个就是一个实例行,按照这个写自己的
21 User_Alisa sudouser=user1,user2,user3,user4 //第一一个别名suduouser

……后面省略

69 ## Syntax:

70 ##

71 ##      user    MACHINE=COMMANDS

72 ##

73 ## The COMMANDS section may have other options added to it.

74 ##

75 ## Allow root to run any commands anywhere

76 root    ALL=(ALL)       ALL

77 sudouser   ALL=(root)    /usr/sbin/useradd  命令行书写格式,用户列用别名
……后面省略

对于多个命令的设置:

[root@localhost ~]# visudo
……前面省略
23 ## Command Aliases
24 ## These are groups of related commands...
25
26 ## Networking
27 Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dh        client, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial,         /sbin/iwconfig, /sbin/mii-tool                                                     //多个命令定义一个命令别名;
……后面省略

69 ## Syntax:

70 ##

71 ##      user    MACHINE=COMMANDS

72 ##

73 ## The COMMANDS section may have other options added to it.

74 ##

75 ## Allow root to run any commands anywhere

76 root    ALL=(ALL)       ALL

77 sudouser   ALL=(root)    NETWORKING  //命令行书写格式,命令列用别名
……后面省略

Cmnd_Alias CCC=command1,command2……          定义命令别名;

对于多主机的设置和多登陆角色的设置:
•修改 Host_Alias HHH=host1,host2……
定义主机别名;
修改后对应的命令行主机列位置也是用别名
•Runas_Alias   RRR=role1,role2……                定义runas别名,指定的是“目的用户”,即sudo 允许转换至的用户;
建立相关别明后,相关命令行相应的列也是用我们定义的别名。

         2)多个用户的设置(同一群组用户):

[root@localhost ~]# visudo
……前面省略
81
82## Allows people in group wheel to run all commands
83# %wheel        ALL=(ALL)       ALL        //用户列%+群组名
……后面省略

END,希望大家能够合理为个用户账号授权。

visudo精确用户赋权(sudo)相关推荐

  1. visudo精确用户赋权与sudo日志跟踪

    转自:https://blog.51cto.com/yangrong/1289452 目录 1.为什么需要sudo?... 1 2.sudo命令用法... 1 3.sudo工作流程... 1 4.vi ...

  2. NO29 用户提权sudo配置文件详解实践--志行为审计

     用户提权sudo配置文件详解实践: 放到visudo里:  验证权限: 转载于:https://www.cnblogs.com/sinsenliu/p/9075893.html

  3. oracle数据库赋权_Oracle角色权限创建用户赋权

    1.权限&用户 角色权限: Sysdba:可以改变字符集.创建删除数据库.登录之后用户是SYS(可以启动和关闭数据库) Sysoper:不可改变字符集.不能创.删数据库.登陆之后用户是PUBL ...

  4. linux创建新用户赋权

    1.添加用户,首先用adduser命令添加一个普通用户,命令如下: #adduser tommy //添加一个名为tommy的用户 #passwd tommy   //修改密码 Changing pa ...

  5. mysql删除赋权_mysql 添加用户 删除用户 赋权

    MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 1.新建用户 1.1 登录MYSQL: @>mysql -u root -p @&g ...

  6. Mysql8创建用户以及赋权操作

    Mysql8创建用户以及赋权操作 1.进入mysql mysql -uroot -p 2.创建用户 create user 'testuser1'@'%' identified by '123456' ...

  7. MySQL—赋权(grant)和回收权限(revoke)

    查看权限 mysql> SHOW GRANGTS FOR userA; 查看具体的用户权限 mysql> SHOW GRANGTS FOR userA@10.1.1.2; 赋权 grant ...

  8. linux7.4 root密码,[RHEL 7.4] 忘记root密码,普通用户又没有sudo权限,怎么办?

    依云 说:在内核命令行上加 init=/bin/bash 然后进去改好密码,sync 之后长按电源键(或者拔电源)重启. 或者用 live 系统 chroot 进去改密码. 不好意思,我还是相当新的新 ...

  9. mysql赋权与收回权限(grantrevoke)

    为一个用户赋权 收回权限 #给用户cacti赋予所有库的所有权限 GRANT ALL PRIVILEGES ON *.* TO 'cacti'@'%' IDENTIFIED BY 'cacti' WI ...

最新文章

  1. 检测生成.xml文件的效果:以人脸xml为例
  2. 科研实习 | 约翰霍普金斯大学Alan Yuille教授招收计算机视觉暑期科研实习生
  3. Jenkins学习七:Jenkins的授权和访问控制
  4. Eclipse+PyDev+Django+Mysql搭建Python web开发环境
  5. LeetCode 207. 课程表(拓扑排序)
  6. wamp2 php配置,wamp安装后自定义配置的方法
  7. win7系统笔记本电脑开机蓝屏怎么办
  8. matlab lyap,Matlab的Lyapunov、Sylvester和Riccati方程的Matlab求解
  9. Linux常用命令汇总及使用方法(二)之文本编辑器VI
  10. 计算1到100的整数和
  11. c# 获取键盘的输入
  12. 远程计算机用户名win7,Win7远程桌面连接设置的方法
  13. 两个人相处久了会越来越像吗? | 无意识模仿的秘密
  14. android 歌曲的流派信息,音乐流派分类介绍.doc
  15. C# 客户端使用Excel批量导入数据
  16. 移动硬盘插入电脑后不显示盘符
  17. python正态分布拟合_用python拟合正态分布(已开源)
  18. Android 手机灭屏流程分析详解
  19. 大物实验计算弹性模量_大学物理实验报告(清华大学)拉伸法测弹性模量.doc...
  20. sqlserver/mysql 替换部分位置的字符串

热门文章

  1. java interestops_Java Channel.setInterestOps方法代码示例
  2. 交易猫鸿蒙空间,回收站是指
  3. 如何正确使用工业级交换机?
  4. [渝粤教育] 西南科技大学 工程建设监理 在线考试复习资料
  5. 【渝粤教育】电大中专药事管理与法规作业 题库
  6. 【渝粤教育】广东开放大学 社会保障学 形成性考核 (34)
  7. html5画布funcition,2020前端基础知识学习第一节(示例代码)
  8. 【数字信号处理】基于DFT的滤波系列1
  9. Collatz函数的C++递归实现
  10. linux指定内核位置,ARM linux内核启动时几个关键地址