zoukankan      html  css  js  c++  java
  • Linux 中 sudo、su命令

    sudo : 暂时切换到超级用户模式以执行超级用户权限,提示输入密码时该密码为当前用户的密码,而不是超级账户的密码。不过有时间限制,Ubuntu默认为一次时长15分钟。

    su : 切换到某某用户模式,提示输入密码时该密码为切换后账户的密码,用法为“su 账户名称”。如果后面不加账户时系统默认为root账户,密码也为超级账户的密码。没有时间限制。

    sudo -i: 为了频繁的执行某些只有超级用户才能执行的权限,而不用每次输入密码,可以使用该命令。提示输入密码时该密码为当前账户的密码。没有时间限制。执行该命令后提示符变为“#”而不是“$”。想退回普通账户时可以执行“exit”或“logout” 。
    其实,还有几个类似的用法:
    sudo /bin/bash   : 这个命令也会切换到root的bash下,但不能完全拥有root的所有环境变量,比如PATH,可以拥有root用户的权限。这个命令和 sudo -s 是等同的。
    sudo -s : 如上
    sudo su  : 这个命令,也是登录到了root,但是并没有切换root的环境变量,比如PATH。
    sudo su - :  这个命令,纯粹的切换到root环境下,可以这样理解,先是切换到了root身份,然后又以root身份执行了 su - ,这个时候跟使用root登录没有什么区别。这个结果貌似跟sudo -i 的效果是一样的,但是也有不同,sudo 只是临时拥有了root的权限,而su则是使用root账号登录了linux系统。

    所以,我们再来总结一下:
    sudo su -  约等于  sudo -i 
    sudo -s  完全等于  sudo  /bin/bash  约等于 sudo su 
    sudo 终究被一个"临时权限的帽子"扣住,不能等价于纯粹的登录到系统里。

    sudo su - 和 su - xxx 切换时也会切换所有环境变量

    sudo su 和  su xxx 切换时不会切换环境变量

    参考地址 http://ask.apelearn.com/question/6899

  • 相关阅读:
    解决linux下fflush(stdin)无效
    《转载》使用Chrome浏览器截取整个网页
    JDK切换版本
    消息队列函数(msgget、msgctl、msgsnd、msgrcv)及其范例
    Oracle 账户
    Oracle linux 安装 相关
    Android高德地图获取当前缩放等级及可视区域四个角的坐标
    Intellij idea 导入项目之后编译错误:无效的源版本:7
    数据库异常整理:org.hibernate.QueryException: could not resolve property: “mStation”
    MySQL(六)多表查询
  • 原文地址:https://www.cnblogs.com/tianyuchen/p/6141752.html
Copyright © 2011-2022 走看看