超级用户和root之间的区别

时间:2016-03-07 18:41:14

标签: unix ubuntu terminal root sudo

我正在使用一些在线教程来学习Unix系统中的终端。

显然root在任何地方都拥有完整的权限,但suroot不方便,做你需要做的事情,然后exit回到你的普通用户名

sudo显然绕过了这个,但我有一些问题。

当您使用sudo时,它不会询问您root的密码,而是要求您的密码。

那么是什么阻止了你sudo使用root密码直接登录root所有内容并模仿相同的功能?

3 个答案:

答案 0 :(得分:0)

sudo的目的是允许某些用户以某种方式运行某些程序,所有这些程序都可以由/etc/sudoers文件和/或/etc/sudoers.d中的文件控制。并记录这些用途。因此,例如,系统操作员可以进行备份,或者更高级的管理员可以杀死失控的进程,但是他们都没有获得su给予他们的完全无限制访问权。

答案 1 :(得分:0)

root 用户是此应用程序中具有管理权限的用户内置版本。 root 是系统的超级用户,这意味着它可以无限制地访问文件。

root用户具有以下附加角色:

创建应用程序的多个管理员并向其发送消息。

root用户可以限制和管理管理员用户访问权限及其权限。

答案 2 :(得分:0)

  

当您使用sudo时,它并不会要求您提供root密码,它会询问   为了你的密码。

您最近必须经过身份验证。这可以很容易地改变这一点,以便每次都对您进行身份验证:

sudo visudo
# that will open /etc/sudoers in vi/vim

# type the following to search the file:
/Defaults
# hit n to go to next result

# Find line that says:
Defaults        env_reset
# and change it to:
Defaults        env_reset,timestamp_timeout=0
# 0 is time in minutes

如果您对nano /etc/sudoers感觉更舒服,也可以使用nano我建议您查看vim。 nano和vim之间的区别就像microsoft记事本和sublime / caret之间的区别。

# Vim cheat sheet for this tutorial
i    # insert mode
ESC  # exit insert mode (and other modes)
:wq  # write changes (w) quit (q)

# a little more advanced:
:%s/search/replace/gc
# replace all instances of search and ask for confirmation: 

http://vim.wikia.com/wiki/Search_and_replace

  

那么是什么阻止了你sudo所有事情并模仿同样的东西   使用root直接登录到root的功能   密码?

好问题!你显然是sudoers集团的一部分。大多数发行版(linux \ unix的发行版)将这个组作为轮子。查看usermod以更改此用户。

您可以在/etc/sudoers中确认群组名称:

## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL

## Same thing without a password
# %wheel        ALL=(ALL)       NOPASSWD: ALL
# ^^^ ENSURE THAT THIS IS COMMENTED OUT (or not present) ^^^

不授予用户sudo访问权限会阻止此操作。

这也是一件好事:

每个人和他们的兄弟在他们的系统上都有一个root帐户,很多脚本小子都会尝试强制root帐户以及其他常见用户名,例如postgres。锁定root帐户减轻ssh暴力攻击符合你的最佳利益。这可以使用passwd -l RAN AS ROOT )来完成。

通过拥有sudo用户,您仍然可以执行管理任务,例如安装软件和创建新用户。

  

显然root在任何地方都拥有完整的权限,但确实如此   不方便suroot,做你需要做的事情,然后su返回   用户名。

如果您要以root身份执行扩展任务,我建议:

sudo -i
# do whatever you need to do
^D 
# CTRL+D This will terminate your current shell and take you back 
# to your previous shell whereas su root and su username will take 
# you two shells away from your initial session.  This probably won't 
# effect you besides MAYBE session history (I am not sure about that).

一如既往地要小心,因为你可以把你的系统搞得一团糟。

至于你的头衔问题:

  

超级用户和root

之间的区别

Ubuntu99很好地总结了这一点:

https://askubuntu.com/a/592838/212470