Ubuntu Server中的root用户

  Ubuntu Server除了在安装的过程中会提示设置第一个用户(非root)的用户名和密码,直至安装完成都完全没有涉及到root用户的设置。root用户的密码是什么,又要如何设置root用户,对于刚刚开始使用的用户来说,比较让人困惑。

概述

  这里是Ubuntu Server的官方文档关于该主题的相关章节,其解释如下:

  Ubuntu开发者决定默认禁用root账号,这并不意味着root账号被删除了或是不能访问。它只是被赋予了一个难以破解的密码,因此不应直接用其登录。

  相替代地,用户被鼓励使用一个名为sudo的工具在执行系统的管理任务,sudo允许被认证的用户通过他们自己的密码临时获取root的权限,而无需知道root帐户的密码。这种简单有效的方法为所有用户的行为提供了可述性,并且给予了管理员诸如一个用户给予特定权限后可以执行那些操作这样的粒度控制。

  默认地,Ubuntu安装时创建的第一个用户属于”admin”组的一员,而”admin”组作为已认证的sudo用户已被添加到了/etc/sudoers文件中。

Sudo简单应用

  使用创建的第一个用户(比如Bob)登录后,如果要执行需root权限的命令,比如reboot,则输入

  sudo reboot

  命令执行时会提示输入Bob的密码,在15分钟内有效,即在15分钟内再使用sudo命令无需重复输入密码。

  如果因为某些原因需要启用root用户,需要赋予root一个密码

  sudo passwd root

  系统会提示输入Bob的密码,并为root设置新的密码

[sudo] password for username: (enter your own password)
Enter new UNIX password: (enter a new password for root)
Retype new UNIX password: (repeat new password for root)
passwd: password updated successfully

  使用完毕后,应该立即锁定root用户。

sudo passwd -l root

  如果你想要让其他的用户通过sudo获得完整的root权限,你只需要简单地将其加入到admin用户组中即可。比如新用户Sam

sudo adduser sam
sudo adduser sam admin

Sudo的特点

  Redhat发行版的Linux中(Redhat,RHEL,Fedora)默认使用的是su,而Debian发行版的Linux中(Debian,Ubuntu)则默认启用了sudo。su为切换用户,在执行命令时实际上是切换为root用户运行,切换时需要输入root的密码。而启用sudo,默认将root用户锁定,密码未知,执行相应命令时输入当前用户的密码,由sudo用户判断是否有相应权限。此外

  1.sudo能够限制指定用户在指定主机上运行某些命令。
  2.sudo可以提供日志,忠实地记录每个用户使用sudo做了些什么,并且能将日志传到中心主机或者日志服务器。
  3.sudo为系统管理员提供配置文件,允许系统管理员集中地管理用户的使用权限和使用的主机。它默认的存放位置是/etc/sudoers。
  4.sudo使用时间戳文件来完成类似“检票”的系统。当用户执行sudo并且输入密码后,用户获得了一张默认存活期为15分钟的“入场券”(默认值可以在编译的时候改变)。超时以后,用户必须重新输入密码。

  

  以下是一些个人的总结

  安全角度:sudo默认将root锁定,无论是本地、远程,SSH或桌面都无法登录,想要字典暴力破解root基本是不可能,想要破解只能从其他用户下手。首先得知道用户名,其次破解了该用户也未必有足够的权限。

  用户角度:执行命令时需要输入密码以提醒用户再次确认,同时输入密码有一定的有效期,避免了以root登录可以在任何时候做任何事的情况。

  管理角度:可以为不同的用户指定不同的权限(要实现这个还需要进一步学习sudo的配置),而且还可以通过日志记录用户的操作。

时间: 2024-12-25 03:05:42

Ubuntu Server中的root用户的相关文章

ubuntu 16.04 启用root用户方法

引用:http://blog.csdn.net/sunxiaoju/article/details/51993091 1.使用:sudo passwd root设置root的密码,如下图所示: 2.使用su root来测试是否可以进入root用户,如果出现#说明已经设置root用户的密码成功,如下图所示: 3.进入到/usr/share/lightdm/lightdm.conf.d/目录,使用gedit 50-unity-greeter.conf &命令打开50-unity-greeter.co

Ubuntu为mysql的root用户密码问题

1.root用户免密码登录mysql Ubuntu装完mysql时,root用户可以免密登录,如果设置的root用户密码忘记了,想要使用root用户免密登录,修改在配置文件的[mysqld]节点下添加skip-grant-tables,网络上的很多博客说是在/etc/mysql/my.cnf中配置skip-grant-tables,但是my.cnf文件为空,没有[mysqld]节点.正确的路径应该是/etc/mysql/mysql.conf.d/mysqld.cnf,编辑mysqld.cnf,在

转:设置ubuntu 14.04 开机root用户登陆

安装完成如需使用root身份登录,可打开终端输入以下命令:#设置root密码sudo passwd root#切换到root用户sudo -s 想要在登录界面使用root身份登录,可编辑/etcghtdm/目录下的lightdm.conf文件,如没有此文件,直接创建 vi /etcghtdmghtdm.conf 文件内容最终为:[SeatDefaults]#启动后以root身份自动登录autologin-user=rootgreeter-session=unity-greeteruser-ses

Ubuntu Server 中resolv.conf重启时被覆盖的问题

/etc/resolv.conf中设置dns之后每次重启Ubuntu Server时该文件会被覆盖,针对这种情况找了一些个解决方法 防止/etc/resolv.conf被覆盖的方法 方法一 1.需要创建一个文件/etc/resolvconf/resolv.conf.d/tail sudo vi /etc/resolvconf/resolv.conf.d/tail 2.在该文件中写入自己需要的dns服务器,格式与/etc/resolv.conf相同 nameserver 8.8.8.8 3.重启下

1、 Linux中的root用户切换(转载)

su和su - 的区别 大部分Linux发行版的默认账户是普通用户,而更改系统文件或者执行某些命令,需要root身份才能进行,这就需要从当前用户切换到root用户,Linux中切换用户的命令是su或su -,下面就su命令和su -命令最大的本质区别给大家详解一下: 前者只是切换了root身份,但Shell环境仍然是普通用户的Shell:而后者连用户和Shell环境一起切换成root身份了.只有切换了Shell环境才不会出现PATH环境变量错误.su切换成root用户以后,pwd一下,发现工作目

Linux中Mysql root用户看不到mysql库问题解决方式

第一种方式: 1.首先停止MySQL服务:service mysqld stop2.加参数启动mysql:/usr/bin/mysqld_safe --skip-grant-tables & 然后就可以无任何限制的访问mysql了3.root用户登陆系统:mysql -u root -p mysql4.切换数据库:use mysql5.显示所有的表:show tables;这里就可以访问表了6.查看user表中root用户的localhost权限:select * from user where

ubuntu下修改进入root用户和修改文件权限

(1)进入root用户 su root 密码:设置的root密码 (2)修改文件权限 sudo chmod +777  file (3)执行shell ./shellfile (4)编写shell 第一行:普通用户  #!/bin/sh,root用户  #!/bin/bash

ubuntu 16.04启用root用户方法

1.使用:sudo passwd root设置root的密码,如下图所示: 2.使用su root来测试是否可以进入root用户,如果出现#说明已经设置root用户的密码成功,如下图所示:

【笔记】ubuntu如何切换到root用户&&linux如何关闭各种保护

默认安装完成之后并不知道root用户的密码,那么如何应用root权限呢? (1)sudo 命令 这样输入当前管理员用户密码就可以得到超级用户的权限.但默认的情况下5分钟root权限就失效了. (2)sudo -i 通过这种方法输入当前管理员用户的密码就可以进到root用户. (3)如果想一直使用root权限,要通过su切换到root用户. 那我们首先要重设置root用户的密码: sudo passwd root 这样就可以设置root用户的密码了. 之后就可以自由的切换到root用户了 su 输