Linux: sudo 和 su 命令异同
sudo
通常 ‘Permission denied’ 错误的时候,需要执行 sudo
命令. 该命令会提高执行权限(通常是 root). 当然 使用 sudo -u username
会指定特定用户.
并不是所有的用户都可以执行 sudo
命令, 只有在 sudoers file 中存在的用户才能执行. 具体请看这里: sudoers file
编辑 sudoers file 时建议使用 visudo :
sudo visudo
visudo 会在其他用户编辑时锁定改文件,并进行语法检查.操作是安全的. 我之前有次直接编辑 sudoers file ,就给sudo搞坏了 2333
su
su 命令
su
命令可以在一个登陆 session 下切换不同用户(通常是root).意思就是不需要退出当前用户的登录而切换到新用户.
su username
username 为空默认切换到root用户. 输入要登录用户密码即可.
su - 命令
另一种切换root用户的方法就是 su -
-
必须作为 su
的最后一个参数. 而 -l
-login
没有该限制
su 和 su -
su
和su -
进入的目录是不一样的su
会保持前者的用户环境, 而su -
会新建一个目的用户的环境su
会保持当前用户的环境, 因为在某些情况下, 使用当前用户比管理员账户能更好的解决问题. 比如重现或者debug问题时,在当前用户环境下更高效- 当然
su
在很多情况下是不建议使用的, 或者说是相当危险的. 因为 root 用户要在当前用户的环境下操作, 而不是自己的环境. 因为这会给非 root 用户 更改系统文件或数据的权限
su -c
该命令可以允许添加要执行的命令
su [target-user] -c [command-to-run]
当前的shell会在 /etc/passwd 文件中替换 ‘target-user’ shell
sudo 和 su
差别一
最大的不同就是所需要的密码不同: sudo 需要的是当前用户的密码,而 su 命令需要的是 管理员的密码.
所以, sudo 命令比 su 命令更安全. su 命令需要其他用户也知道 root 密码, 而 sudo 只需要配置 sudoers file 即可, 而且可以随时删除特定用户的权限.
差别二
另一个不同就是, sudo 仅仅是提高当前执行命令的权限. 而 su 命令可以执行 root 的所有权限. 所以在一定意义上讲, su 命令还是很危险的. 比如 rm -rf
2333
sudo su 命令
由于执行 su 命令存在风险,所以 Linux 一些系统,比如Ubuntu,默认禁掉了 root 用户. 然而使用 sudo su
命令仍然可以获取root.
P.S. 如果想开启root用户的话(当然不建议), 可以执行以下命令:
“`
sudo passwd root
建议
由于 su
命令风险比较大,建议将系统的 su
更换成 su -l
alias su="su -l"
参考
Understanding the difference between sudo and su
ArchWiki - su
Linux: sudo 和 su 命令异同相关推荐
- linux sudo和su区别,了解sudo和su之间的区别
在我们之前的一篇文章中 ,我们详细讨论了"sudo"命令. 在该教程的末尾,在一个小笔记中提到另一个类似的命令"su". 那么在这篇文章中,我们将详细讨论'su ...
- docker使用过程中遇到的Linux中的su命令
遇到的Linux中的su命令 linux环境下,常常需要我们切换用户,通过不同的权限,可以控制系统的安全性.所以例如ES会明确要求不能用root用户进行开发. 于是我们需要使用su命令切换用户. 然而 ...
- Linux中用户切换su怎么用的,linux用户切换su命令横杠的作用
SU:( Switch user切换用户),可让一个普通用户切换为超级用户或其他用户,并可临时拥有所切换用户的权限,切换时需输入欲切换用户的密码;那么你知道linux 用户切换su 命令横杠的作用么? ...
- linux中su命令源码,Linux中的su命令的详细解释
linxu下的su命令的主要作用是变更为其他使用者的身份执行命令,面由学习啦小编为大家整理了linux的su命令的详细解释的相关知识,希望对大家有帮助! 一.Linux中的su命令的详细解释 建议大家 ...
- sudo和su命令的联系和区别详解
sudo和su命令 sudo sudo是一种权限管理机制,依赖于/etc/sudoers,其定义了授权给哪个用户可以以管理员的身份能够执行什么样的管理命令. 默认情况下,系统只有root用户可以执行s ...
- shell中sudo和su命令
原文地址::http://blog.csdn.net/liuxigiant/article/details/9090993 sudo command sudo命令是以root的身份执行comma ...
- su命令切换到root用户_如何在Linux中使用su命令成为超级用户或root?
su命令切换到root用户 Linux provides root account as superuser or Administrator. As root account has all pri ...
- linux 中切换用户指令,Linux中的Su命令(切换用户)
su(替代或切换用户的缩写)实用程序允许您使用其他用户(默认情况下为root用户)的特权运行命令. 使用su是在当前登录会话中切换到管理帐户的最简单方法.当不允许root用户通过ssh或使用GUI显示 ...
- Linux / sudo、su、sudo su、sudo -i 使用和区别
sudo: 输入当前用户的密码,为了执行只有提升了权限才能执行的命令.本次提升权限有时间限制. su:该命令的功能是切换用户!若后面不加用户名称,则默认切换至 root 用户. 每次切换用户都会打开一 ...
最新文章
- 算法在ros中应用_烟火检测算法——中伟视界人工智能算法AI在智慧工地、石油中的应用_腾讯新闻...
- Microsoft Enterprise Library 4.0 for Visual Studio 2008
- acm公选课笔记 2020.3.31
- 调焦后焦实现不同距离成像_“物镜校正环调节”对显微成像的影响
- 简洁明了——STL容器库之set头文件常用函数集合
- php流导出excel内存溢出,phpExcel导出大量数据出现内存溢出错误的解决方法
- SpringMVC整合Shiro
- FCN全卷积网络随笔
- NS2相关学习——完成一个新协议(2)
- IntelliJ 一键添加双引号
- php控制台输入输出
- 看看DelayQueue源码
- 旅行商问题(TSP) 中国34个城市 经纬度平面坐标
- C++PrimerPlus 第六章 分支语句和逻辑运算符 - 6.1 if语句
- CI/DI持续集成部署
- 太牛了!某大佬程序猿北漂16年,从睡天桥到身价数千万,衣锦还乡重庆住豪宅!...
- Chrome终极全屏模式Kiosk
- C/C++编写Windows窗口应用程序(Win32程序),非黑漆漆的控制台窗口
- 基于Java毕业设计房屋租赁平台源码+系统+mysql+lw文档+部署软件
- celeste mod如何安装