Linux 里 su 和 sudo 命令这两个有什么不一样?

《小菜狗 Linux 操作系统快速入门笔记》目录:
《小菜狗 Linux 操作系统快速入门笔记》(01.0)文章导航目录【实时更新】

Linux 是一个多用户的操作系统。在 Linux 中,理论上来说,我们可以创建无数个用户,但是这些用户是被划分到不同的群组里面的,有一个用户,名叫 root,是一个很特殊的用户,它是超级用户,拥有最高权限。但是在大多数版本的 Unix/Linux 中,都不推荐直接使用 root 账号登录系统。

自己创建的用户是有限权限的用户,这样大大提高了 Linux系统的安全性,有效防止误操作或是病毒攻击,但是我们执行的某些命令需要更高权限时可以使用 sudo 命令。

1、切换用户命令【su】

su 命令全称为"swith user",用于切换当前用户身份到指定用户或者以指定用户的身份执行命令或程序。

  • 普通用户切换到 root 用户,可以使用 su -- 或su root,但是必须输入 root 密码才能完成切换。
  • root 用户切换到普通用户,可以使用 su username,不需要输入任何密码即可完成切换。
  • 并且切换用户,需要 root 用户权限。

语法格式::

复制代码
su [选项] [用户名]

常用参数:

-c 或 --command 执行完指定的指令后,即恢复原来的身份
-f 或 --fast 适用于 csh 与 tsch,使 shell 不用去读取启动文件
-l 或 --login 改变身份时,也同时变更工作目录,以及 HOME,SHELL,USER,logname。此外,也会变更PATH变量
-m, -p 或 --preserve-environment 变更身份时,不要变更环境变量
等等 详情请参见:https://www.linuxcool.com/su

使用举例:

su 命令后面可以加"-"会将当前的工作目录自动转换到切换后的用户主目录。

命令 含义
su 切换到 root 用户
su root 切换到 root 用户
su - 切换到 root 用户,同时切换目录到 /root
su - root 切换到 root 用户,同时切换目录到 /root
su 普通用户 切换到普通用户
su - 普通用户 切换到普通用户,同时切换普通用户所在的目录

举例说明:

复制代码
sudo su --> 切换为root用户(exit 命令或 CTRL + D 快捷键都可以使普通用户切换为 root 用户)
su peng --> 切换为普通用户
su - --> 切换为root用户
  • 切换到管理员 root

    su
    或者
    sudo su

  • 切换用户

    su 用户名

注意:对于 ubuntu 平台,只能通过 su 或者 sudo su 进入 root 账号。

2、以 root 身份执行命令【sudo】

sudo 命令可以临时获取 root 权限,系统管理员允许普通用户执行 root 命令才能执行的操作。

扩展命令:

sudo -l :显示出自己<执行 sudo 的使用者>的权限

sudo !! :以 root 权限执行上一条的命令

注意:

sudo 和 su 命令输入回车完之后还需要输入用户密码的!如果你输入过一次,他将会有几分钟的记忆。

3、总结

有很多命令需要管理员权限才能使用,可以输入命令前加(sudo),也可以直接切换到管理员账号(su)再执行。

相关推荐
Johny_Zhao2 小时前
Docker + CentOS 部署 Zookeeper 集群 + Kubernetes Operator 自动化运维方案
linux·网络安全·docker·信息安全·zookeeper·kubernetes·云计算·系统运维
小毛驴8503 小时前
Linux 后台启动java jar 程序 nohup java -jar
java·linux·jar
竹照煜_ysn4 小时前
蓝桥杯51单片机设计
单片机·嵌入式硬件·51单片机
一心0924 小时前
ubuntu 20.04.6 sudo 源码包在线升级到1.9.17p1
运维·ubuntu·sudo·漏洞升级
好好学习啊天天向上4 小时前
世上最全:ubuntu 上及天河超算上源码编译llvm遇到的坑,cmake,ninja完整过程
linux·运维·ubuntu·自动性能优化
你想考研啊4 小时前
三、jenkins使用tomcat部署项目
运维·tomcat·jenkins
tan180°5 小时前
MySQL表的操作(3)
linux·数据库·c++·vscode·后端·mysql
Electron-er5 小时前
汽车LIN总线通讯:从物理层到协议栈的深度解析
单片机·汽车电子·lin总线·lin总线通讯
代码老y5 小时前
Docker:容器化技术的基石与实践指南
运维·docker·容器
Do vis8245 小时前
STM32第十六天蓝牙模块
stm32·单片机·嵌入式硬件