su和sudo命令的用法与区别

su是set user的简写,翻译成大白话就是 设定用户的意思。sudo命令也是一个组合命令,意为set user do,翻译成大白话就是 设定用户 ,操作某些事务。

su 这个命令使用比较简单,该条命令前面已经解释,基本功能就是切换用户。

切换用户有两种方式,

第一种,su 用户名,切换到root用户时候需要提供root密码验证,root切换到普通用户无需提供密码验证,此时环境变量仍然保留为切换前用户。

第二种,su - 用户名,这个需要注意,-后有一个空格,验证方式同第一种,只是环境变量随用户转化,比如a切换到b用户,环境变量也变为b用户的环境变量,仅此而已。

su命令说完了,该说说sudo这个命令的来历了。我们可以想到,Linux是多用户多权限控制多任务的系统,其中一个超级权限用户为root,剩下的为普通用户,超级用户想干什么就可以干什么,可以理解为当前系统的神。可以想象,如果一直使用root这个超级用户,如果操作有误,密码造成了泄露,或者误删了什么重要的只有root可操作的文件,那么系统是不安全的,因此有低权限用户临时提权的方法就可以了,提权的时候验证一下root的密码不就安全了吗?sudo命令就是这个方法。

sudo只用作提升普通用户权限到root用户,也就是说该命令只有权限修改的功能,和su这个命令切换用户是不同的,su是双向的,并且su是永久的,而sudo是临时的,命令执行完了,还是原来的用户和环境变量。

那么,如何使用sudo呢?三种常见的方法:

第一:usermod -G wheel 用户名 或者 usermod -g wheel 用户名    #超级组wheel,该组内的所有用户可以使用sudo命令,将需要提权的用户加入该组就可以使用sudo命令了。

第二:visudo命令,添加一行: %组名 ALL(ALL) ALL。  需要提权的用户加入该组即可: usermod -G 组名  用户名。

也就是说,不用默认的wheel组名了,自己定义一个组名。

第三:命令 visudo,添加 用户名    ALL=(ALL)       ALL 或者   用户名  ALL=NOPASSWD: ALL,然后保存即可。NOPASSWD:

可以免密码验证使用sudo命令。

不推荐直接给/etc/sudoers这个文件修改权限,那样不是安全的行为,强烈推荐使用visudo命令。

总结:

su 用户名和su - 用户名  是永久切换用户,加 - ,环境变量也跟着切换。切换时需要验证密码,低等切高等权限验证高等用户密码。

sudo 需要修改 /etc/sudoers文件,但为了安全一般使用visudo命令,或者将低权限用户加入wheel组内。sudo仅仅是临时提权的作用,记住,是临时。

当然,两个命令都有一些参数,可以配合使用,但实际用处不是很大,可以忽略。

su和sudo命令的用法与区别相关推荐

  1. 【Linux篇】kali Linux下的su、sudo命令用法说明

    [Linux篇]kali Linux下的su.sudo命令用法说明 ​ 总结一下su.sudo命令用法区别-[suy] 文章目录 [Linux篇]kali Linux下的su.sudo命令用法说明 1 ...

  2. sudo 命令_su、sudo、sudo su、sudo -i的用法和区别

    sudo 命令 1.sudo 简介 sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等.这样不仅减少了root用户 ...

  3. linux su和sudo命令的区别 -【linux学习笔记】

    linux su和sudo命令的区别 首先,两个缩写,  su : switch user                                 sudo : super user do ! ...

  4. 【转】linux su和sudo命令的区别——百度知道

    linux su和sudo命令的区别 su表示切换用户命令命令,如: 输入:su命令后回车表示切换当前的用户到root用户,或者: 输入:su - root(或者其他用户名)这里加了"-&q ...

  5. Linux 命令(17)—— su 与 sudo 命令

    1.su 命令 1.1 命令简介 su 用于临时切换身份到另一个指定的用户,未指定用户名默认为 root.使用 su 切换用户身份后,默认情况下不改变当前工作目录,但会改变 HOME.SHELL.US ...

  6. su、sudo、sudo su、sudo -i的用法和区别

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

  7. su 、 sudo 命令及限制 root 远程登录

    2019独角兽企业重金招聘Python工程师标准>>> 1.su 命令 之前说到一个命令 su ,是用来切换用户的.见下图 命令 su - lys 中的 - ,是为了彻底切换用户,包 ...

  8. linux sudo 命令权限,linux su和sudo命令的区别

    一. 使用 su 命令临时切换用户身份 1.su 的适用条件和威力 su命令就是切换用户的工具,怎么理解呢?比如我们以普通用户beinan登录的,但要添加用户任务,执行useradd ,beinan用 ...

  9. linux权限sudo和su,Linux su和sudo命令的区别,并获得root权限

    su(superuser) su表示切换用户,如: 输入:su命令后回车表示切换当前的用户到root用户,或者: 输入:su - root(或者其他用户名)这里加了"-"后表示也切 ...

最新文章

  1. c++中的vector的常见使用
  2. php table字段排序,jQuery如何对table进行排序操作的示例详解
  3. qt信号发送间隔短而槽耗时多_Qt信号槽问题汇总 - osc_9q1dp3jk的个人空间 - OSCHINA - 中文开源技术交流社区...
  4. android onTouch()与onTouchEvent()的区别
  5. Java设计模式(十六):生成器设计模式
  6. 我的Spring 之旅---Spring实战
  7. java文本区显示在右边_怎么让文本区从右边开始显示文本
  8. 【测试点分析】1067 试密码 (20分)_20行代码AC
  9. Invalid options object. Copy Plugin has been initialized using an options object that does not match
  10. 高频面试题3 类初始化过程与实例初始化
  11. Learning XNA 3.0翻译连载--序言
  12. SQL点滴系列之插入数据(四)
  13. mysql 停从库_不停止 MySQL 服务增加从库的两种方式
  14. java中的构造函数
  15. AnyLogic 建立谢林模型
  16. 微信开发者工具添加企业微信小程序模拟器
  17. 强化学习:确定性策略梯度(DDPG)
  18. 俄亥俄大学计算机科学专业,美国计算机科学专业最新排名!
  19. 高德地图定位失败_常见问题
  20. UVa 1616 商队抢劫者(Caravan Robbers)

热门文章

  1. 宝宝学习自理从两岁起
  2. PCB设计中常见的八个问题及解决方法
  3. Python基础教程—私有化
  4. VMware P2V 转换实验
  5. 写下来回头看,在游戏中隐藏线程思路r3
  6. VM ESXI 服务器虚拟化资料积累
  7. Artitalk说说心情发布页面(个性定制)
  8. kanzi与第三方app融合,比如地图导航视频、互联娱乐视频
  9. eclipse 个性化设置 绿色护眼
  10. UVM中SVA使用指南