在 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. Linux基础命令---traceroute追踪路由

    traceroute       traceroute指令输出到目标主机的路由包.Traceroute跟踪从IP网络到给定主机的路由数据包.它利用IP协议的生存时间(TTL)字段,并试图在通往主机的路 ...

  2. linux 系统监控和进程管理

    1.命令top,查看cpu和内存使用,主要进程列表和占用资源. 2.内存使用命令foree -g 3.查询所有java进程:pgrep -l java     ------ps aux|grep .j ...

  3. 教你如何修改CentOS系统上的时间

    直接看命令:

  4. JavaUtil smtp 邮件发送

    需要用到的jar包:javax.mail.jar package com.lee.util; import java.io.UnsupportedEncodingException; import j ...

  5. foreach嵌套遍历循环的问题

    在foreach嵌套循环中使用==和equals的问题 JSONArray ja1= new JSONArray(); JSONArray ja2 = new JSONArray(); JSONObj ...

  6. 第一节 JavaScript概述

    第一节 JavaScript概述 JavaScript:其实就是对HTML+CSS静态页面进行样式修改,使其实现各种动态效果. 编写JS脚本基本步骤: 1. HTML+CSS静态布局: 2. 确定要修 ...

  7. python的paramiko模块-远程登录linux主机并操作

    paramiko是一个用于做远程控制的模块,使用该模块可以对远程服务器进行命令或文件操作. 如果python服务器对被远程控制机器开启了免密验证,即在python服务器上可通过ssh 用户名@被控制机 ...

  8. jQuery实现省市联动

    未实现任何功能之前: 实现功能之后: 实现该功能的jQuery核心代码: <script> var provinceArr=new Array(5); provinceArr[0]=new ...

  9. Mysql 存储过程中使用多游标

    Mysql 存储过程中使用多游标 drop procedure IF EXISTS test_proc_1; create procedure test_proc_1() begin ; ) ; ) ...

  10. 06: dorpzone上传下载

    1.1 dropzone上传下载使用 参考博客:https://www.cnblogs.com/fu-yong/p/9053515.html 1.使用dropzone需要引入文件 <link r ...