在 Linux  系统中,由于 root 的权限过大,一般情况下都不使用它。只有在一些特殊情况下才采用登录root

执行管理任务,一般情况下临时使用 root 权限多采用 su 和 sudo 命令。

1.su 和  sudo 命令对比:

在普通用户下输入 su 命令后,会提示输入 root 账户的密码,然后进入特权模式(和使用 root 登录完全一样),输入 exit 退出:

[xiaoming@VM_81_181_centos home]$ clear
[xiaoming@VM_81_181_centos home]$ su
Password:
[root@VM_81_181_centos home]# exit
exit
[xiaoming@VM_81_181_centos home]$

还有一种方法可以切换到 root 用户:运行 su - 命令,如下:

[xiaoming@VM_81_181_centos home]$ su -
Password:
[root@VM_81_181_centos ~]#

那么,su 命令和  su - 命令之间有什么区别吗?前者在切换到 root 用户之后仍然保持旧的(或者说原始用户的

环境)环境,而后者则是创建一个新的环境,相当于使用 root 用户正常登录(从登录屏幕登录)

su 命令手册很清楚地说明了这一点:

可选参数 - 可提供的环境为用户在直接登录时的环境

当采用 sudo 命令,只需要输入当前用户的密码即可执行需要 root 权限执行的命令,可以发现使用 sudo 命令普通用户不需要知道

root 的密码即可执行 root 权限的命令

sudo su 命令:

大概是因为使用 su 命令或者以 root  用户身份登录有风险,所以,一些 Linux 发行版本(如:Ubuntu)默认禁用 root 用户账户。鼓励

用户在需要 root 权限时使用 sudo 命令。

然后,你还是可以成功执行 su 命令,而不用输入 root 账户的密码。运行以下命令:

[xiaoming@VM_81_181_centos root]$ sudo su
[sudo] password for xiaoming:
[root@VM_81_181_centos ~]#

由于使用的是  sudo  运行命令,只需要输入当前用户的密码。所以,一旦操作完成,su 命令将会以 root 用户身份运行

如何配置普通用户有使用 sudo 命令的权限可以参考我的这篇文章:

https://www.cnblogs.com/leeyongbard/p/9513960.html

2.作为 root 这种拥有很强大权限的,切换到普通用户下是不需要输入验证的

可以使用 su 用户名 或 sudo su 用户名

[root@VM_81_181_centos home]# su xiaoming
[xiaoming@VM_81_181_centos home]$ [root@VM_81_181_centos home]# sudo su xiaoming
[xiaoming@VM_81_181_centos home]$

Linux命令之sudo的更多相关文章

  1. N天学习一个Linux命令之sudo

    前言 新项目打算采用运维搭建的发布系统发代码,发布后生效前需要做一些处理,因为发布系统登录目标机器使用的是非root账号,所以需要使用sudo来提升权限.当执行sudo cd /xxx/xx时会提示报 ...

  2. linux命令su,sudo 使用和区别

    1- sudo 与 su 两个命令的最大区别是: sudo 命令需要输入当前用户的密码,su 命令需要输入 root 用户的密码.另外一个区别是其默认行为.sudo 命令只允许使用提升的权限运行单个命 ...

  3. Linux系统管理员不可不知的命令:sudo

    对Linux系统管理员或高级用户而言,sudo是必不可少的最重要的命令之一.当我们想要运行重要任务时,sudo提供了安全的提升权限.请耐心读本文,看看sudo能为你做些什么. sudo是个统管一切的命 ...

  4. (6)sudo命令详解(每周一个linux命令系列)

    首先说句抱歉,最近事情比较复杂,停更了一阵子.我又回来啦 多用户管理 我们常用的windows个人系统虽然可以设置多用户,但是实际上是不可以多用户同时登陆的(这个我实验过,我以前用windows服务器 ...

  5. Linux系统管理员命令:sudo

    sudo是个统管一切的命令.它的字面意思是代表“超级用户才能做!”(super user do!)对Linux系统管理员或高级用户而言,它是必不可少的最重要的命令之一.你可曾有过这样的经历:在终端中试 ...

  6. Linux系统不可不知的命令:sudo

    转自:http://www.embeddedlinux.org.cn/html/xinshourumen/201308/05-2608.html sudo是个统管一切的命令.它的字面意思是代表“超级用 ...

  7. Linux 系统中 sudo 命令的 10 个技巧

    概览 sudo 表示 "superuser do". 它允许已验证的用户以其他用户的身份来运行命令.其他用户可以是普通用户或者超级用户.然而,大部分时候我们用它来以提升的权限来运行 ...

  8. 用大写字母输入 Linux 命令,实现以 sudo 用户权限运行

    我们知道,一些 Linux 命令是要通过 sudo 权限才能运行的,这需要我们每次使用这些命令时在前面加一个 sudo ,十分繁琐.今天给大家介绍一个好用的工具 SUDO ,它只需要我们用大写字母键入 ...

  9. Linux命令-sudo

    sudo命令用于给普通用户提供额外权利来完成原本只有超级用户才有权限完成的任务, 格式:sudo [参数] 命令名称 sudo命令与su命令的区别是,su命令允许普通用户完全变更为超级管理员的身份,但 ...

随机推荐

  1. python遍历目录os.walk(''d:\\test2",topdown=False)

    os.walk(top, topdown=True, onerror=None, followlinks=False)遍历目录,topdown=false表示先返回目录,后返回文件 参数说明: top ...

  2. c# 对话框控件

    对话框也是一种窗体,通常调用对对话框相关类型的ShowDialog方法来弹出对话框,当用户关闭对话框后,该方法会返回一个DialogResult枚举值,通过该值就可以判断用户采取了什么操作,例如单击确 ...

  3. 怎样从外网访问内网Node.js?

    本地安装了一个Node.js,只能在局域网内访问,怎样从外网也能访问到本地的Node.js呢?本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Node.js 默认安装的Node.js端口 ...

  4. Let's Encrypt申请证书及使用

    Let's Encrypt是一个免费的.自动的,开放的CA. 形形色色有证书扩展名和类型,我是通过这篇文章明白个大体的:http://www.cnblogs.com/guogangj/p/411860 ...

  5. TCP/IP协议三次握手与四次挥手

    一.标志位和序号 seq序号 :发送方随机生成的 ack确认序号:ack=seq+1 标志位ACK=1时确认序号有效 SYN标志位:发起一个新连接 ACK标志位:确认序号有效 FIN标志位:断开连接 ...

  6. echarts报错Can't get dom width or height

    echarts图无法显示 一直报错Can't get dom width or height 原因:显示echarts图的div要设置宽高 报错前: <div class="left_ ...

  7. FastStone Capture无法录制系统声音解决方法(win10)

    步骤一: 右键桌面-->个性化 步骤二: 主题-->高级声音设置 步骤三: 录音-->右键“立体声混音”,单击启用就OK了.

  8. Failed to connect to MySQL server as DBD::mysql module is not installed 问题的解决

    部署PXC ,卸了旧的MySQL perl-DBD-MySQL-4.013-3.el6.x86_64 这个包已经安装了,innobackup时一直在报错: Failed to connect to M ...

  9. Cookie&Session与自定义session

    cookie与session的区别? cookie是保存在浏览器端的键值对 session是保存在服务器端的键值对 session依赖于cookie 摘自: http://bubkoo.com/201 ...

  10. Python3 解析excel文件

    Python3 解析读取excel文件 一.第三方库 import xlrd 二.代码示例 import xlrd ''' 读取Excel每个sheet的第一列和第二列的值,拼接成json串,写入文件 ...