前言:

  要在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. js语法基础入门(1.2)

    1.4.查找元素的方法 1.4.1.查找元素的方法 JavaScript可以去操作html元素,要实现对html元素的操作,首选应该找到这个元素,有点类似于css中的选择器 html代码: <d ...

  2. 基于AOP和ThreadLocal实现日志记录

    基于AOP和ThreadLocal实现的一个日志记录的例子 主要功能实现 : 在API每次被请求时,可以在整个方法调用链路中记录一条唯一的API请求日志,可以记录请求中绝大部分关键内容.并且可以自定义 ...

  3. Flutter 中那么多组件,难道要都学一遍?

    在 Flutter 中一切皆是 组件,仅仅 Widget 的子类和间接子类就有 350 多个,整理的 Flutter组件继承关系图 可以帮助大家更好的理解学习 Flutter,回归正题,如此多的组件到 ...

  4. em(倍)与px的区别

    在国内网站中,包括三大门户,以及“引领”中国网站设计潮流的蓝色理想,ChinaUI等都是使用了px作为字体单位.只有百度好歹做了个可调的表率.而 在大洋彼岸,几乎所有的主流站点都使用em作为字体单位, ...

  5. Python中的@staticmethod和@classmethod的区别

    一直搞不明白,类方法和静态方法的区别,特意研究了一下,跟大家分享一下. 为了方便大家了解两者的差别,以下的示例代码将有助于发现其中的差别: class A(object): def foo(self, ...

  6. (1)RabbitMQ简介与安装

    1.RabbitMQ简介 因为RabbitMQ是基于开源的AMQP协议来实现的,所以在了解MQ时候,首先我们来了解下AMQP协议.AMQP,即Advanced Message Queuing Prot ...

  7. 简单几步让CentOS系统时间同步

    在使用CentOS系统的时候,我们可能会遇到时间不准的问题,那我们如何解决这个我问题呢,下面就来教大家一个CentOS系统时间同步的方法,希望大家可以解决自己所存在的疑问. CentOS系统时间同步的 ...

  8. 如何配置-整合ssm框架之配置文件

    ssm整合 一.applicationContext.xml 1.配置数据源 <bean id="dataSource" class="org.springfram ...

  9. BZOJ 2200 道路与航线(图论)

    BZOJ 2200 道路与航线 题目大意 有两种路,一种没负数,一种没环,求单源最短路. solution 存在负边权Dij一定不能用嘛,显然不是 根据题意能看出来是tarjan,将双向边缩点,得到的 ...

  10. [JAVA]多线程之实现Callable接口

    通过继承Callable方式实现的多线程可以获取线程执行后的返回值 示例代码如下: public class Counter implements Callable<Integer> { ...