在 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. Spring boot学习1 构建微服务:Spring boot 入门篇

    Spring boot学习1 构建微服务:Spring boot 入门篇 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框 ...

  2. 自学Java第一周的总结

    在第一周里我花费了不少时间配置jdk的环境变量,并学习了有关java的基本知识,了解了Java中的变量.数据类型以及运算符.我知道了什么是变量并且如何去定义变量,也学会了如何去使用运算符以及对数据类型 ...

  3. node.js读取到的文件列表

    var fs = require('fs'); var path = require('path'); //解析需要遍历的文件夹,我这以E盘根目录为例 var filePath = path.reso ...

  4. 前端框架VUE----cli脚手架(框架)

    一.创建vue项目 npm install vue-cli -g #-g全局 (sudo)npm install vue-cli -g #mac笔记本 vue-init webpack myvue # ...

  5. js 简易年历

    html部分 <div class='calendar'> <div class="tabBox" id='nav' > <ul> <li ...

  6. MySQL SELECT练习题*28

    -- (1)用子查询查询员工“张小娟”所做的订单信息. SELECT * FROM order_master WHERE saler_no = ( SELECT employee_no FROM em ...

  7. Django模板系统 运算

    记下来,省得每次google 过滤器,变量的显示形式的改变 一.形式:小写 {{ name | lower }} 二.串联:先转义文本到HTML,再转换每行到 <p> 标签 {{ my_t ...

  8. Git命令cherry-pick,选择把一部分代码提交到另一个分支

    由于对git的使用还不是很熟悉,只是会基本的添加.提交.分支相关简单操作,在开发新需求的时候,需要涉及两个项目,一部分在新项目的新分支上开发的,另一部分是在老项目的老分支上开发的(这里忘了创建新分支) ...

  9. P2564 [SCOI2009]生日礼物(尺取法)

    P2564 [SCOI2009]生日礼物 三个字.尺取法......... 坐标按x轴排序. 蓝后尺取一下.......... #include<iostream> #include< ...

  10. Kali系列之ettercap欺骗

    ettercap在局域网中使用欺骗, 捕获对象浏览器中的图片. 环境 攻击方:kali linux, ip:192.168.137.129 目标方ip:192.168.137.130 路由器:192. ...