su、sudo命令使用及区别

转载 2016年08月28日 22:12:55

文章转载自:http://blog.csdn.net/crave_shy/article/details/23037787

1.两者之间的区别

  • su用于用户之间的切换,使用su切换用户需要输入所切换到的用户的密码。
  • sudo用于普通用户可以使用root权限来执行指定命令,使用sudo切换则是输入当前用户的密码。

2.su、sudo命令介绍

su介绍

   su用于用户之间的切换。但是前面的用户依然保持在登录状态。这种切换如果超级权限用户root向普通或虚拟用户切换不需要密码,而普通用户切换到其它任何用户都需要密码验证。

su与su - 的区别

  su命令和su -命令最大的本质区别就是:前者只是切换了root身份,但Shell环境仍然是普通用户的Shell;而后者连用户和Shell环境一起切换成root身份了。只有切换了Shell环境才不会出现PATH环境变量错误。su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目录;而用su -命令切换以后,工作目录变成root的工作目录了。用echo $PATH命令看一下su和su -以后的环境变量有何不同。

su用法

   su在不加任何参数,默认为切换到root用户,但没有转到root用户家目录下,也就是说这时虽然是切换为root用户了,但并没有改变root登录环境;用户默认的登录环境,可以在/etc/passwd 中查得到,包括家目录,SHELL定义等;
   su 加参数 - ,表示默认切换到root用户,并且改变到root用户的环境;  
命令格式:
   su [-fmp] [-c command] [-s shell] [–help] [–version] [-] [USER[ARG]]
命令参数说明:
   -f , –fast:不必读启动文件(如csh.cshrc 等),仅用于csh或tcsh两种Shell。
   -l , –login:加了这个参数之后,就好像是重新登陆一样,大部分环境变量(例如HOME、SHELL和USER等)都是以该使用者(USER)为主,并且工作目录也会改变。如果没有指定USER,缺省情况是root。
   -m, -p ,–preserve-environment:执行su时不改变环境变数。
   -c command:变更账号为USER的使用者,并执行指令(command)后再变回原来使用者。
   –help 显示说明文件
   –version 显示版本资讯
   USER:欲变更的使用者账号
   ARG: 传入新的Shell参数。
  

su不足之处

  * 不安全su工具在多人参与的系统管理中,并不是最好的选择,su只适用于一两个人参与管理的系统,毕竟su并不能让普通用户受限的使用;超级用户root密码应该掌握在少数用户手中。
  * 如果某个用户需要使用root权限、则必须要把root密码告诉此用户。
  

sudo简介

  是为所有想使用root权限的普通用户设计的。可以让普通用户具有临时使用root权限的权利。只需输入自己账户的密码即可。当然这个普通用户必须在/etc/sudoers文件中有配置项、才具有使用sudo的权利。
  

如何给用户添加sudo权限?

  • 进入超级用户模式。也就是输入”su -“,系统会让你输入超级用户密码,输入密码后就进入了超级用户模式。
  • 添加文件的写权限。也就是输入命令”chmod u+w /etc/sudoers”。
  • 编辑/etc/sudoers文件。也就是输入命令”vim /etc/sudoers”,进入编辑模式,找到这一 行:”root ALL=(ALL) ALL”在起下面添加”xxx ALL=(ALL) ALL”(这里的xxx是你的用户名),然后保存退出。

sudo的用法

  命令格式:sudo[option]
  普通用户使用sudo执行root权限用法:sudo command
  说明:以系统管理者的身份执行指令,也就是说,经由sudo所执行的指令就好像是root亲自执行一样。

Linux: sudo 和 su 命令异同

sudo通常 ‘Permission denied’ 错误的时候,需要执行 sudo 命令. 该命令会提高执行权限(通常是 root). 当然 使用 sudo -u username 会指定特定用户....
  • soindy
  • soindy
  • 2017年06月28日 10:55
  • 293

Linux学习笔记之——su、sudo命令使用及区别

摘要:主要对su、sudo命令的功能进行介绍和两者之间的区别。以及使用方式
  • chenghuaying
  • chenghuaying
  • 2014年04月06日 18:42
  • 19050

Ubuntu sudo和su命令详解

sudo意思就是super-userdo,让当前用户暂时以管理员的身份root来执行这条命令。su是用来改变当前用户的,suroot,就是将当前用户切换为root,用了suroot之后,下面所有的命令...
  • u014221266
  • u014221266
  • 2015年03月10日 14:42
  • 2213

Ubuntu下基础命令详解之sudo & su

一 sudo         1. 用法                   sudo + 某些直接运行提示无权限的命令。         2. 解释             *   不是...
  • pjy19960808
  • pjy19960808
  • 2016年03月23日 22:58
  • 1746

linux权限之su和sudo的区别

在我们平时的开发过程中都建议使用一般账号来登录进行开发,到biyao
  • xiaoputao0903
  • xiaoputao0903
  • 2014年04月21日 11:47
  • 7383

Linux中su、su -和sudo的区别

su 切换到root用户,但是并没有转到root家目录
  • Robot__Man
  • Robot__Man
  • 2014年08月29日 10:08
  • 4313

Linux中su、sudo命令使用及区别介绍

原文地址:http://blog.csdn.net/crave_shy/article/details/23037787 一:两者之间的区别         su用于用户之间的切换。    ...
  • tanga842428
  • tanga842428
  • 2017年04月16日 10:08
  • 864

切换用户命令 su sudo

使用root用户登录可能会由于人为的误操作导致数据丢失。通用做法是使用普通用户登录并使用系统,当需要执行管理操作时,再切换到root用户执行管理操作。 临时切换用户命令su #su roo...
  • u012005313
  • u012005313
  • 2015年05月28日 13:47
  • 1445

CentOS6.3 系统中su,su -,sudo三命令讲解

CentOS6.3 系统中su,su -,sudo三命令讲解         在linux系统中,由于root的权限过大,一般情况都不使用它。只有在一些特殊情况下才采用登录root执行管理任务,一般...
  • zolalad
  • zolalad
  • 2013年09月08日 10:57
  • 12313

sudo与su的区别

su表示切换用户命令命令,如: 输入:su命令后回车表示切换当前的用户到root用户,或者: 输入:su - root(或者其他用户名)这里加了"-"后表示也切换的当前的环境变量到新用户的环境变量,s...
  • u011450537
  • u011450537
  • 2016年09月13日 09:10
  • 334
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:su、sudo命令使用及区别
举报原因:
原因补充:

(最多只允许输入30个字)