su和sudo命令的用法与区别
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命令的用法与区别相关推荐
- 【Linux篇】kali Linux下的su、sudo命令用法说明
[Linux篇]kali Linux下的su.sudo命令用法说明 总结一下su.sudo命令用法区别-[suy] 文章目录 [Linux篇]kali Linux下的su.sudo命令用法说明 1 ...
- sudo 命令_su、sudo、sudo su、sudo -i的用法和区别
sudo 命令 1.sudo 简介 sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等.这样不仅减少了root用户 ...
- linux su和sudo命令的区别 -【linux学习笔记】
linux su和sudo命令的区别 首先,两个缩写, su : switch user sudo : super user do ! ...
- 【转】linux su和sudo命令的区别——百度知道
linux su和sudo命令的区别 su表示切换用户命令命令,如: 输入:su命令后回车表示切换当前的用户到root用户,或者: 输入:su - root(或者其他用户名)这里加了"-&q ...
- Linux 命令(17)—— su 与 sudo 命令
1.su 命令 1.1 命令简介 su 用于临时切换身份到另一个指定的用户,未指定用户名默认为 root.使用 su 切换用户身份后,默认情况下不改变当前工作目录,但会改变 HOME.SHELL.US ...
- su、sudo、sudo su、sudo -i的用法和区别
sudo : 暂时切换到超级用户模式以执行超级用户权限,提示输入密码时该密码为当前用户的密码,而不是超级账户的密码.不过有时间限制,Ubuntu默认为一次时长15分钟. su : 切换到某某用户模式, ...
- su 、 sudo 命令及限制 root 远程登录
2019独角兽企业重金招聘Python工程师标准>>> 1.su 命令 之前说到一个命令 su ,是用来切换用户的.见下图 命令 su - lys 中的 - ,是为了彻底切换用户,包 ...
- linux sudo 命令权限,linux su和sudo命令的区别
一. 使用 su 命令临时切换用户身份 1.su 的适用条件和威力 su命令就是切换用户的工具,怎么理解呢?比如我们以普通用户beinan登录的,但要添加用户任务,执行useradd ,beinan用 ...
- linux权限sudo和su,Linux su和sudo命令的区别,并获得root权限
su(superuser) su表示切换用户,如: 输入:su命令后回车表示切换当前的用户到root用户,或者: 输入:su - root(或者其他用户名)这里加了"-"后表示也切 ...
最新文章
- c++中的vector的常见使用
- php table字段排序,jQuery如何对table进行排序操作的示例详解
- qt信号发送间隔短而槽耗时多_Qt信号槽问题汇总 - osc_9q1dp3jk的个人空间 - OSCHINA - 中文开源技术交流社区...
- android onTouch()与onTouchEvent()的区别
- Java设计模式(十六):生成器设计模式
- 我的Spring 之旅---Spring实战
- java文本区显示在右边_怎么让文本区从右边开始显示文本
- 【测试点分析】1067 试密码 (20分)_20行代码AC
- Invalid options object. Copy Plugin has been initialized using an options object that does not match
- 高频面试题3 类初始化过程与实例初始化
- Learning XNA 3.0翻译连载--序言
- SQL点滴系列之插入数据(四)
- mysql 停从库_不停止 MySQL 服务增加从库的两种方式
- java中的构造函数
- AnyLogic 建立谢林模型
- 微信开发者工具添加企业微信小程序模拟器
- 强化学习:确定性策略梯度(DDPG)
- 俄亥俄大学计算机科学专业,美国计算机科学专业最新排名!
- 高德地图定位失败_常见问题
- UVa 1616 商队抢劫者(Caravan Robbers)