• CentOS 普通用户提升root权限


    1、sudo命令可以使普通用户具备root用户的权限,使用前,需要先配置/etc/sudoers文件。

    #sudoers文件是只读,一般情况下都是用visudo来修改,visudo也一定程度上可以保证修改sudoers文件是安全的,避免同时修改的冲突情况
    [root@bigdata-senior01 ~]# ll /etc/sudoers
    -r--r----- 1 root root 4093 11月 28 22:35 /etc/sudoers
    
    
    [root@bigdata-senior01 ~]# visudo
    
    #找到这行
    ## Allow root to run any commands anywhere 
    root    ALL=(ALL)       ALL 
    
    然后可以添加其他用户
    hadoop  ALL=(root) NOPASSWD:ALL
    xu.dm   ALL=(root)      ALL     
    es      ALL=(ALL)       ALL    
    amy    ALL=(root) /usr/sbin/useradd        
    #配置字段说明
    root ALL=(ALL) ALL
    第一个字段:root为能使用sudo命令的用户;
    第二个字段:第一个ALL为允许使用sudo的主机,第二个括号里的ALL为使用sudo后以什么身份来执行命令;
    第三个字:ALL为以sudo命令允许执行的命令;

    解释: amy ALL
    =(root) /usr/sbin/useradd,/usr/sbin/userdel 表示允许amy用户从任何主机登录,以root的身份执行/usr/sbin/useradd和userdel命令。

    NOPASSWD:表示使用sudo提升权限的时候不用输入密码

    注意:命令必须是全路径

    2、sudoers的其他配置

    2.1 非同组的多个用户配置

    #对于不同需求的用户:可以按照上面的方法依次增加多行,每行对应一个用户。
    #对于相同需求的多个用户,可以定义别名,统一用户
    User_Alias UUU=user1,user2……             #定义用户别名;
    
    ## User Aliases
    ## These aren't often necessary, as you can use regular groups
    ## (ie, from files, LDAP, NIS, etc) in this file - just use %groupname
    ## rather than USERALIAS
    # User_Alias ADMINS = jsmith, mikem
    User_Alisa s1=user1,user2,user3,user4 //s1代表四个用户
    
    ... ...
    
    #像上面的配置一样加入,用户列用别名就可以
    s1    ALL=(root)    /usr/sbin/useradd 

    2.2 类似的别名情况

    可以有主机别名,命令别名等等,在/etc/sudoers文件里都有例子

    2.3 对于组的配置,多了一个百分号%

    ## Allows people in group wheel to run all commands
    %wheel  ALL=(ALL)       ALL
    
    允许wheel组的用户执行所有命令。
    
    
    ## Allows members of the users group to mount and unmount the
    ## cdrom as root
    %users  ALL=/sbin/mount /mnt/cdrom, /sbin/umount /mnt/cdrom
    
    ## Allows members of the users group to shutdown this system
    %users  localhost=/sbin/shutdown -h now

     3、其他办法

    修改 /etc/passwd 文件,把用户UID修改成0就可以。UID=0,代表着root权限,而不是用户名root代表root权限。。。。

  • 相关阅读:
    C# HTTP系列9 GET与POST示例
    [译]Android Studio 3.6 新特性概览
    mysql error 1290 hy000:The MySQL server is running with the --skip-grant-tables option so it cannot execute this statemen' 解决方案
    mysql error 1130 hy000:Host 'localhost' is not allowed to connect to this mysql server 解决方案
    Windows+Apache2.4.10+PHP7.0+MySQL5.6.21安装
    php版本的选择
    PHP,Mysql根据经纬度计算距离并排序
    windows无法启动MySQL服务 错误1067
    PHP MYSQL 搜索周边坐标,并计算两个点之间的距离
    html5获取用户当前的地理位置,即经纬度。
  • 原文地址:https://www.cnblogs.com/asker009/p/10264340.html
Copyright © 2020-2023  润新知