Linux 中的 su 和 sudo 命令这两个有什么不一样(最新整理)

 更新时间:2025年06月10日 09:48:40   作者:小菜狗编程笔记  
在Linux中,理论上来说,我们可以创建无数个用户,但是这些用户是被划分到不同的群组里面的,有一个用户,名叫 root,是一个很特殊的用户,它是超级用户,拥有最高权限,下面给大家介绍Linux中的su和sudo命令,感兴趣的朋友一起看看吧

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)再执行。

到此这篇关于Linux 中的 su 和 sudo 命令这两个有什么不一样(最新整理)的文章就介绍到这了,更多相关Linux su 和 sudo 命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Linux下查看内存使用情况的方法总结

    Linux下查看内存使用情况的方法总结

    在做Linux系统优化的时候,物理内存是其中最重要的一方面,自然的,Linux也提供了非常多的方法来监控宝贵的内存资源的使用情况,下面的清单详细的列出了Linux系统下通过视图工具或命令行来查看内存使用情况的各种方法,需要的朋友可以参考下
    2024-01-01
  • 查看linux服务器上jdk的安装路径方法

    查看linux服务器上jdk的安装路径方法

    这篇文章主要介绍了查看linux服务器上jdk的安装路径方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • shell SNAT与DNAT的使用与区别

    shell SNAT与DNAT的使用与区别

    本文主要介绍了shell SNAT与DNAT的使用与区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • linux shell 自定义函数方法(定义、返回值、变量作用域)

    linux shell 自定义函数方法(定义、返回值、变量作用域)

    linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。下面说说它的定义方法,以及调用需要注意那些事项
    2014-09-09
  • Linux共享内存实现机制的详解

    Linux共享内存实现机制的详解

    这篇文章主要介绍了Linux共享内存实现机制的详解的相关资料,需要的朋友可以参考下
    2017-07-07
  • Linux下统计当前文件夹下的文件个数、目录个数

    Linux下统计当前文件夹下的文件个数、目录个数

    这篇文章主要介绍了Linux下统计当前文件夹下的文件个数、目录个数,本文使用ls命令配合管理、grep命令实现统计需求,需要的朋友可以参考下
    2014-10-10
  • 详解shell中脚本参数传递的两种方式

    详解shell中脚本参数传递的两种方式

    这篇文章主要介绍了详解shell中脚本参数传递的两种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • 反弹shell升级全交互式shell

    反弹shell升级全交互式shell

    本文主要介绍了反弹shell升级全交互式shell,以提高远程控制能力,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-01-01
  • Shell脚本实现批量替换文件内容

    Shell脚本实现批量替换文件内容

    这篇文章主要介绍了Shell脚本实现批量替换文件内容,本文主要实现批量修改一个备份脚本里的备份路径,其它批量替换也可以修改使用,需要的朋友可以参考下
    2014-12-12
  • shell脚本输出多个主机的网卡速率的方法

    shell脚本输出多个主机的网卡速率的方法

    这篇文章主要介绍了shell脚本输出多个主机的网卡速率的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12

最新评论