• Ubuntu 增加新用户并赋予root权限及免密的方法


    添加用户

    添加一个名为hylink的用户
    adduser hylink
    修改密码
    passwd hylink
    Changing password for user hylink.
    New UNIX password: //在这里输入新密码
    Retype new UNIX password: //再次输入新密码
    passwd: all authentication tokens updated successfully.

    sudo命令的工作过程

    a. 当用户执行sudo时,系统会主动寻找/etc/sudoers文件,判断该用户是否有执行sudo的权限;

    b. 确认用户具有可执行sudo的权限后,让用户输入用户自己的密码确认;

    c. 若密码输入成功,则开始执行sudo后续的命令;

    d. root执行sudo时不需要输入密码(文件中有配置root ALL=(ALL) ALL这样一条规则);

    e. 若欲切换的身份与执行者的身份相同,也不需要输入密码。
    在这里插入图片描述

    赋予root权限

    修改 /etc/sudoers 文件
    sudo gedit /etc/sudoers

    注意执行时需要root权限,即使用sudo gedit

    # User privilege specification
    root	ALL=(ALL:ALL) ALL
    

    具有sudo权限的用户
    root表示能使用sudo命令的用户;
    第一个ALL表示允许使用sudo的主机;
    第二个ALL及第三个ALL表示用户组及用户;
    第四个ALL表示sudo可执行的命令,即所有命令;
    在有的系统中也简写做:
    root ALL=(ALL) ALL

    因此在root下面添加一行,如下所示:
    hylink ALL=(ALL:ALL) ALL
    在这里插入图片描述
    修改完毕,用hylink帐号登录,用命令sudo,此时hylink帐号获得sudo操作权限。
    此时要是把root ALL=(ALL:ALL) ALL注释掉,如下图
    在这里插入图片描述
    此时root用户就不在具有sudo操作权限,效果如下图:
    在这里插入图片描述

    # Members of the admin group may gain root privileges
    %admin ALL=(ALL) ALL
    

    含义:在admin组中成员可以可以获得sudo的跟权限

    # Allow members of group sudo to execute any command
    %sudo	ALL=(ALL:ALL) ALL
    

    允许sudo组成员执行任何命令

    免密使用sudo

    # Allow members of group sudo to execute any command
    %sudo	ALL=(ALL:ALL) ALL
    

    下面添加

    hylink ALL=(ALL) NOPASSWD:ALL
    在这里插入图片描述
    修改完毕,用hylink帐号登录,用命令sudo,此时hylink帐号无需再输入密码。
    在这里插入图片描述

    问题汇总

    1.问题:
    执行sudo chmod -R 777出现以下问题:

    sudo:sudo /etc/sudoers is world writable
    sudo:no valid sudoers sources found ,quitting
    sudo:unable to initialize policy plugin
    

    解决方案:
    sudoers的权限被改了,改回来就好了。

    pkexec chmod 0440 /etc/sudoers
    
  • 相关阅读:
    CSS预编译:less入门
    JavaScript学习(五):函数表达式
    关于JavaScript new 的一些疑问
    JavaScript学习(四):面对对象的程序设计
    JavaScript学习(三):引用类型
    JavaScript学习(二):变量、作用域和内存问题
    JavaScript学习(一):基本概念
    匿名函数的this指向为什么是window?
    阿里云ECS在CentOS 6.8中使用Nginx提示:nginx: [emerg] socket() [::]:80 failed (97: Address family not supported by protocol)的解决方法
    Centos释放缓存
  • 原文地址:https://www.cnblogs.com/gmhappy/p/11863970.html
Copyright © 2020-2023  润新知