原文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. NO29 用户提权sudo配置文件详解实践--志行为审计

     用户提权sudo配置文件详解实践: 放到visudo里:  验证权限:

  2. Mysql 创建普通用户、数据库、表、插入记录,用户赋权

    C:\phpStudy\MySQL\bin>mysql -uroot -proot -h127.0.0.1 //创建用户 mysql> insert into mysql.user (ho ...

  3. Oracle创建表空间、用户以及给用户赋权

    --创建表空间 create tablespace waterboss datafile 'd:\waterboss.dbf' size 100m autoextend on next 10m --创 ...

  4. MySQL 数据库赋权

    1.进入数据库,查看数据库账户 # 进入数据库 mysql –u root –p ---> 输入密码... # 使用 mysql 库 use mysql; # 展示 mysql 库中所有表 sh ...

  5. Linux sudo用户提权与日志审计

    一.格式说明及常用配置选项 格式: 用户或组 主机=授权可以使用哪个用户的权限 可以执行的命令 User_Alias 用户定义别名(别名可以是用户,用户组(用户组前面要加%))例:User_Alias ...

  6. oracle创建用户并赋权

    Oracle建立表空间和用户 [sql] view plain copy 建立表空间和用户的步骤: 用户 建立:create user 用户名 identified by "密码" ...

  7. oracle数据库如何创建用户和角色,并给其赋权?

    一.创建用户并赋予权限 1.创建用户 create user wangxiangyu identified by wangxiangyu; 2.赋权 grant dba to wangxiangyu; ...

  8. mysql (8.0 或以下)数据 卸载, 安装, 创建用户, 赋权

    卸载 安装 创建用户wmxl create user 'wmxl'@'202.115.253.71' identified by '你的密码' 如果是mysql8.0,再输入以下 ALTER USER ...

  9. mysql数据库创建用户、赋权、修改用户密码

    创建新用户 create user lisi identified by '123456'; 查看创建结果: 授权 命令格式:grant privilegesCode on dbName.tableN ...

随机推荐

  1. 内核升极2.6.18 升级到 2.6.32 装systemtap 原创

    系统: redhat serever 5.3  linux 2.6.18 现在要升级到 LINUX 内核 2.6.32 安装步骤: 1.下载装源代码: https://www.kernel.org/ ...

  2. 具体解释Ajax技术

    Ajax 可以做什么? 现在 Google Suggest 和 Google Maps 使用了 Ajax,通过 Ajax,我们能够使得client得到丰富的应用体验及交换操作,而用户不会感觉到有网页提 ...

  3. java代码声明引用变量经验

    1.static只能修饰类的成员变量,不能修饰方法里的局部变量. 因为static是在类加载时候将成员变量存储进方法区的. 加载类的时候,是不去执行方法里的函数的.所以不会馆方法里的代码,自然就不会读 ...

  4. 【spring cloud】spring cloud zuul 路由网关

    GitHub源码地址:https://github.com/AngelSXD/springcloud 版本介绍: <properties> <project.build.source ...

  5. DockManager 如何快速隐藏DockPanel z

    DockPanel在点击hide按钮时候如果鼠标不离开的话,panel还是没隐藏,某种情况下这种现象着实让人不爽,而且当鼠标离开后默认是很缓慢的隐藏 AutoHideSpeed不设置也可以,主要设置H ...

  6. NLP入门(八)使用CRF++实现命名实体识别(NER)

    CRF与NER简介   CRF,英文全称为conditional random field, 中文名为条件随机场,是给定一组输入随机变量条件下另一组输出随机变量的条件概率分布模型,其特点是假设输出随机 ...

  7. uva 10160 Servicing Stations(DFS+剪枝)

    Servicing stations A company offers personal computers for sale in N towns (3 <= N <= 35). The ...

  8. [leetcode]Single Number II @ Python

    原题地址:http://oj.leetcode.com/problems/single-number-ii/ 题意:Given an array of integers, every element ...

  9. pytorch 学习问题

    https://pytorch.org/tutorials/beginner/blitz/neural_networks_tutorial.html#sphx-glr-beginner-blitz-n ...

  10. IOS Xib使用——Xib表示局部界面

    Xib文件是一个轻量级的用来描述局部界面的文件,在之前的文章讲解了为控制器添加Xib文件,本节主要讲解一下通过xib文件表示局部界面. <一> 创建Xib文件 Xib文件创建的时候是选择U ...