前言:

  要在Linux中运行管理任务,必须要具有root(也称为超级用户)访问权限。在大多数Linux发行版中,拥有一个单独的root账户是很常见的,但是Ubuntu默认禁用root账户。这可以防止用户出错,并防止系统受到入侵者的攻击。要运行需要root访问权限的命令,使用sudo。

一.切换成root用户

ubuntu怎么切换到root用户,我们都知道使用su root命令,去切换到root权限,此时会提示输入密码,可是怎么也输不对,提示“Authentication failure”,

此时有两种情况一个是真的是密码错了,另一种就是刚安装好的Linux系统,没有给root设置密码。

  1. 按ctrl+alt+T打开终端窗口。输入命令:su root,回车提示输入密码,怎么输入都不对
  2. 给root用户设置密码:

    命令:sudo passwd root

    输入密码,并确认密码。

  3. 重新输入命令:su root

    然后输入密码:

    发现可以切换到root权限了。

  4. 使用su xyx命令,切换到普通用户。

二.如何设置Ubuntu为默认root登录

方法一:

  1. 按ctrl+alt+T打开终端窗口。由于Ubuntu默认锁定root账户,所以不能像在其他Linux发行版中那样使用su成为root账户。而是在命令前面加上sudo。
  2. 在命令前输入sudo。“Sudo”表示“代替用户做”。当你将sudo添加到命令的开头时,这条命令将在root权限下运行。

    例如:sudo /etc/init.d/networking stop停止网络服务,sudo adduser向系统添加新用户。这两个任务都需要root访问权限。

    在sudo运行这条命令前,会提示你输入密码。Linux会将你的密码保存15分钟,这样就不用一直输入密码了。

  3. 在运行命令打开使用“图形用户界面(GUI)”的程序之前,输入gksudo。出于安全考虑,Ubuntu不推荐使用“sudo”打开使用GUI的程序。而是在启动程序的命令前面输入gksudo。

    例如:输入gksudo gedit /etc/fstab来打开GEdit中的“fstab”文件,GEdit是一个带有GUI的编辑程序。

    如果你使用的是KDE Window Manager,用kdesudo,不要用gksudo。

  4. 模拟root环境。如果你是一个高级用户,需要访问实际的root shell(一种接口)来运行特定的脚本,使用sudo –i模拟root shell。这个命令将为你提供带有root环境变量的超级用户访问权限。

    输入命令sudo passwd root。将会为root创建密码,本质上是“启用”这个账户。密码别忘了。

    输入sudo -i。出现提示时输入root密码。

    提示符将从$变为#,表示你具有root访问权限。

  5. 让其他用户拥有sudo权限。如果你正在为目前没有root权限的用户创建账户,则需要将他们的用户名添加到sudo组。为此,输入usermod -aG sudo username(但要用正确的用户名替换“username”)。

方法二:

  1. 按ctrl+alt+T打开终端窗口
  2. 在终端窗口输入命令,查看Ubuntu系统文件的权限
    ll /usr/share/lightdm/lightdm.conf.d/-ubuntu.conf

    如果显示为-rw-r--r,表示文件只有只读权限

  3. 输入下面命令,修改配置文件权限为所有权限(增删改查)
    chmod  /usr/share/lightdm/lightdm.conf.d/-ubuntu.conf
  4. 在终端窗口输入以下命令,用于修改Ubuntu系统配置文件
    vim /usr/share/lightdm/lightdm.conf.d/-ubuntu.conf
  5. 在打开的编辑框输入i进入编辑模式,将以下命令复制到终端保存(按esc退出编辑模式,再按shit+:输入wq保存并退出)
    [Seat:*]
    autologin-guest=false
    autologin-user=root
    autologin-user-timeout=
  6. 然后修改/root/.profile,注释掉mesg n || true,并且新添加一行:tty -s && mesg n 
    vi /root/.prpfile

    在打开的编辑框输入i进入编辑模式,将以下命令复制到终端保存(按esc退出编辑模式,再按shit+:输入wq保存并退出)

    #~/.profile:executed by Bourne-compatible login shells.
    
    if[ "$BASH" ]; then
    
            if[-f ~/.bashrc]; then
    
                    . ~/.bashrc
    
            fi
    fi #mesg n || true 原来的
    tty -s && mesg n || true #修改为

    重启即可看到效果

三.给当前用户添加root权限

  1. ls -ld /etc/sudoers* 查看当前文件权限
  2. su root 切换root权限
  3. chmod 770 /etc/sudoers[一般情况下 /etc/sudoers 的文件权限是 440,即只读权限,需要修改为可写]
  4. vi /etc//sudoers

    若提示无vi命令,则需要执行以下命令安装(联网)vim包
    sudo apt install vim 使用这个命令是下载gcc的命令----这个命令系统会自动去匹配与系统最适应的vim版本

  5. 打开文件后输入i进入编辑模式,文件内容如下:
    # Please consider adding local content in /etc/sudoers.d/ instead of
    # directly modifying this file.
    #
    # See the man page for details on how to write a sudoers file.
    #
    Defaults env_reset
    Defaults mail_badpass
    Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin" # Host alias specification # User alias specification # Cmnd alias specification # User privilege specification
    root ALL=(ALL:ALL) ALL
    username ALL=(ALL:ALL) ALL  #username表示你需要设置root权限的用户名 # Members of the admin group may gain root privileges
    %admin ALL=(ALL) ALL # Allow members of group sudo to execute any command
    %sudo ALL=(ALL:ALL) ALL # See sudoers() for more information on "#include" directives: #includedir /etc/sudoers.d
  6. 在root    ALL=(ALL:ALL) ALL底下加入自己的用户名
  7. 按esc退出编辑模式,再按shit+:输入wq保存并退出
  8. chmod 440 /etc/sudoers 文件改回只读

  注:本篇为博主阅读多篇文章多次尝试后总结,若转载,请标明来处,尊重劳动成果

Ubuntu查看和设置Root账户的更多相关文章

  1. Ubuntu18.04版本设置root账户

    Linux系统下文件的权限十分重要,大多数操作都需要一定的权限才可以操作,Ubuntu18.04默认安装是没有设置root账户的,因此想要获得root账户登录可以使用以下步骤:   1.首先获得临时的 ...

  2. Ubuntu 如何切换到root账户

    root账号问题 ubuntu默认禁用了root账号,所以当年试图使用su root命令切换到root用户时,尽管你已经输入了正确的密码,终端依旧会提示你密码错误.你需要执行以下命令解除root账号的 ...

  3. Azure新建的CentOS设置root账户的密码

    前言:Azure在新建VM的时候的账户使用的是自定义的用户名和密码或者自定义的用户名使用公钥 1.使用自定义的用户名登录到服务器. 2.设置root的密码: sudo passwd root 3.按照 ...

  4. Ubuntu 12.10设置root用户登录图形界面

    Ubuntu 12.04默认是不允许root登录的,在登录窗口只能看到普通用户和访客登录.以普通身份登陆Ubuntu后我们需要做一些修改,普通用户登录后,修改系统配置文件需要切换到超级用户模式,在终端 ...

  5. ubuntu 首次登陆设置root密码

    用过ubuntu的人都知道,ubuntu默认root密码是随机的,即每次开机都有一个新的root密码.我们可以在终端输入命令sudo passwd,然后输入当前用户的密码   给root用户设置密码 ...

  6. Ubuntu 13.04设置root用户

    1 .设置root用户密码:passwd root 输入密码 2 .编辑lightdm.conf gedit /etc/lightdm/lightdm.conf 最后加: greeter-show-m ...

  7. 【Ubuntu】ubuntu 16.04 设置root用户初始密码

    安装ubuntu成功后,都是普通用户权限,并没有最高root权限,如果需要使用root权限的时候,通常都会在命令前面加上 sudo . 我们一般使用su命令来直接切换到root用户的,但是如果没有给r ...

  8. Ubuntu 16.04设置root用户登录图形界面

    ubuntu桌面版默认不开启root登录,所以需要进行设置, 可以参考博客 https://www.linuxidc.com/Linux/2017-01/139094.htm

  9. ubuntu 16.04 设置root用户初始密码

    安装ubuntu成功后,都是普通用户权限,并没有最高root权限,如果需要使用root权限的时候,通常都会在命令前面加上 sudo .有的时候感觉很麻烦- 我们一般使用su命令来直接切换到root用户 ...

随机推荐

  1. Redis:rdb和aof

    由于redis的数据都直接存储在内存里,在服务器发生宕机时内存的数据会瞬间清空,那么必须要有重启时恢复数据的方法. redis通过持久化机制将数据存储到磁盘中从而在服务器重启时恢复数据,这篇文章主要简 ...

  2. 实战:IDEA运行速度调优

    序言 可能大家觉得系统调优一般都是针对服务端应用而言的,普通Java开发人员很少有机会实践.今天就通用一个Java开发人员日常工作中经常使用的开发工具开做一次调优实战. 我在日常工作中的主要IDE工具 ...

  3. 九、深度优先 && 广度优先

    原文地址 一.什么是"搜索"算法? 算法是作用于具体数据结构之上的,深度优先搜索算法和广度优先搜索算法都是基于"图"这种数据结构的. 因为图这种数据结构的表达能 ...

  4. ceph luminous版本的安装部署

    1. 前期准备   本次安装环境为:   ceph1(集群命令分发管控,提供磁盘服务集群) CentOs7.5 10.160.20.28   ceph2(提供磁盘服务集群) CentOs7.5 10. ...

  5. 前端基础:深入浅出 TCP/IP 协议栈

    一个主机的数据要经过哪些过程才能发送到对方的主机上 参考:https://www.cnblogs.com/onepixel/p/7092302.html 首先我们梳理一下每层模型的职责: 链路层:对0 ...

  6. 关于阿里云服务器Linux安装Tomcat后,外网不能访问解决方案

    这里需要提及三个方面的问题   第一个方面:Linux上启动防火墙的问题 当下比较流行的Linux镜像是CentOS,所以防火墙也随之变成了firewall,那么怎么操作这个防火墙呢?   #停止fi ...

  7. 【UVA11383】 Golden Tiger Claw 【二分图KM算法(板子)】

    题目 题目传送门:https://www.luogu.com.cn/problem/UVA11383 分析 最近刚刚学了二分图,然后来了一个这样的题,看完题意之后,稍微想一想就能想出来是一个二分图,然 ...

  8. JavaScript基础JavaScript的常用编码惯例(007)

    采用一定的编码惯例,可以使得项目中的代码提到较高的一致性,可读性和可预测性. 1.缩进缩 进可以提高代码的可读性.不过错误的缩进也可能导致代码的误读.有人认为缩进应该使用tab,另外的一些人主张采用4 ...

  9. django项目常见报错集

    1.mysqlclient 目前不支持高版本python3 django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or new ...

  10. mybatis关于Criteria的一点小坑。。。

    目录 在用Criteria时,相关代码如下: final RolePermissionExample example = new RolePermissionExample(); example.cr ...