在 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. flask 数据库操作(增删改查)

    数据库操作 现在我们创建了模型,生成了数据库和表,下面来学习常用的数据库操作,数据库操作主要是CRUD,即Create(创建).Read(读取/查询).Update(更新)和Delete(删除). S ...

  2. Linux基础命令---iptables-save

    iptables-save iptables-save指令可以将内核中当前的iptables配置导出到标准输出.通过IO重定向功能来定向输出到文件. 此命令的适用范围:RedHat.RHEL.Ubun ...

  3. 小米note3的开发者选项在哪里?怎么进入开发者模式?如何显示布局边界?

    小米note3的开发者选项在哪里?小米note3怎么进入开发者模式1.找到[设置],打开2.点击[我的设备]3.点击[全部参数]4.连续点击[MIUI版本]5次5.之后就会看见提示 “进入到开发者模式 ...

  4. 【JavaScript 6连载】一、关于对象(访问)

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  5. oracle数据库基础功能

    一.oracle基本常用的数据类型 varchar(长度) 字符串char(长度) 字符number(x,y) x表示总位数 y表示保留小数点后几位数 eg面试题:number(5,3)最大的数是99 ...

  6. json.dumps(),json.loads(),json.dump(),json.load()方法的区别

    1. json.dumps() json.dump()是将字典类型转化成字符串类型. import json dic = {'a':'1111','b':'2222','c':'3333','d':' ...

  7. oj练习

    1.toj  1138.   Binomial Showdown   $$ 二项式定理恒等式变换.数据类型溢出(乘法.加法).排列组合数计算优化(C(k,n) = C(n-k,n).排列组合数的计算. ...

  8. Java 持久化操作之 --XML

    摘自:http://www.cnblogs.com/lsy131479/p/8728767.html 1)有关XML简介 XML(EXtensible Markup Language)可扩展标记语言 ...

  9. e3.7.2-MyEclipse-10.7安装SVN插件

    MyEclipse 10.7的版本是:e3.7.2,要求是匹配该插件eclipse_svn_site-1.10.1的版本,否则无效 将eclipse_svn_site-1.10.1插件文件夹直接拷贝到 ...

  10. Nginx和PHP上传文件大小的限制

    Nginx client_max_body_size 80m; PHP php.ini file_uploads = on ; 是否允许通过HTTP上传文件的开关.默认为ON即是开 upload_tm ...