Linux中sudo、su和su -命令的区别小结

 更新时间:2018年09月04日 11:04:07   投稿:daisy  
我们知道,在Linux下对很多文件进行修改都需要有root(管理员)权限,比如对/ect/profile等文件的修改。下面这篇文章主要给大家总结介绍了关于Linux中sudo、su和su -命令的区别的相关资料,需要的朋友可以参考下

前言

在Linux系统中,由于root的权限过大,一般情况都不使用它。只有在一些特殊情况下才采用登录root执行管理任务,一般情况下临时使用root权限多采用su和sudo命令。

su命令就是切换用户的工具,怎么理解呢?比如我们以普通用户tom登录的,但要添加用户任务,执行useradd ,tom用户没有这个权限,而这个权限恰恰由root所拥有。解决办法无法有两个,一是退出tom用户,重新以root用户登录,但这种办法并不是最好的;二是我们没有必要退出tom用户,可以用su来切换到root下进行添加用户的工作,等任务完成后再退出root。

我们可以看到当然通过su切换是一种比较好的办法;通过su可以在用户之间切换,而超级权限用户root向普通或虚拟用户切换不需要密码,而普通用户切换到其它任何用户都需要密码验证。

sudo

sudo是一种权限管理机制,依赖于/etc/sudoers,其定义了授权给哪个用户可以以管理员的身份能够执行什么样的管理命令;

格式:sudo -u USERNAME COMMAND

默认情况下,系统只有root用户可以执行sudo命令。需要root用户通过使用visudo命令编辑sudo的配置文件/etc/sudoers,才可以授权其他普通用户执行sudo命令。

sudo的运行有这样一个流程:

1).当用户运行sudo时,系统于/etc/sudoers文件里查找该用户是否有运行sudo的权限;

2).若用户具有可运行sudo的权限。那么让用户输入用户自己的password,注意这里输入的是用户自己的password。

3).假设password正确。变開始进行sudo后面的命令,root运行sudo是不须要输入password的,切换到的身份与运行者身份同样的时候。也不须要输入password。

su

su为switch user,即切换用户的简写。

su是最简单的身份切换名,用su我们能够进行不论什么用户的切换,一般都是su - username,然后输入password就ok了,可是root用su切换到其它身份的时候是不须要输入password的。

格式为两种:

su -l USERNAME(-l为login,即登陆的简写)

su USERNAME

如果不指定USERNAME(用户名),默认即为root,所以切换到root的身份的命令即为:su -root或su -,su root 或su。

su USERNAME,与su - USERNAME的不同之处如下:

  • su - USERNAME切换用户后,同时切换到新用户的工作环境中。
  • su USERNAME切换用户后,不改变原用户的工作目录,及其他环境变量目录。

如何设置初始su密码?

当我们输入su时会发现要输入密码,我们尝试输入自己当前用户的密码,发现failure。

但我们又不知道su密码是什么?其实su初始密码可以通过下面方式进行设置:

sudo passwd

设置完后再输入su命令并键入刚才设置的密码即可进入~

su -

su -,su -l或su --login 命令改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,LOGNAME。此外,也会变更PATH变量。用su -命令则默认转换成成root用户了。

而不带参数的“su命令”不会改变当前工作目录以及HOME,SHELL,USER,LOGNAME。只是拥有了root的权限而已。

注意:su -使用root的密码,而sudo su使用用户密码

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • Linux外围文件系统的定制方法

    Linux外围文件系统的定制方法

    这篇文章主要给大家介绍了关于Linux外围文件系统的定制方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-02-02
  • Linux磁盘空间异常爆满的排查和处理方式

    Linux磁盘空间异常爆满的排查和处理方式

    在服务器运维过程中,磁盘空间不足会导致业务异常,定位问题时,可以使用df-Hl、du-hs、du-d参数或find命令查看空间,删除备份文件和日志信息后,空间未释放的原因是文件被打开,进程仍在使用
    2024-12-12
  • 详解Linux下Tomcat开启查看GC信息

    详解Linux下Tomcat开启查看GC信息

    这篇文章主要介绍了详解Linux下Tomcat开启查看GC信息,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • 使用VMware虚拟机安装Linux(CentOS7镜像)

    使用VMware虚拟机安装Linux(CentOS7镜像)

    这篇文章介绍了使用VMware虚拟机安装Linux(CentOS7镜像)的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-12-12
  • linux下查看已经安装的jdk 并卸载jdk的方法(推荐)

    linux下查看已经安装的jdk 并卸载jdk的方法(推荐)

    下面小编就为大家带来一篇linux下查看已经安装的jdk 并卸载jdk的方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • CentOS 7下配置ntp服务的方法教程

    CentOS 7下配置ntp服务的方法教程

    网络时间协议(NTP)用来同步网络上不同主机的系统时间。你管理的所有主机都可以和一个指定的被称为 NTP 服务器的时间服务器同步它们的时间。这篇文章主要给大家介绍了在CentOS 7下配置ntp服务并开启开机自动启动的方法教程,需要的朋友可以参考下。
    2017-05-05
  • 如何从windows上传数据到linux上

    如何从windows上传数据到linux上

    本文介绍了如何使用WinSCP将数据从Windows上传到Linux系统,重点是Linux的基础知识和实验环境(Windows 11专业版,Kali Linux 2024),通过直接拖拽文件的方式,可以方便快捷地完成数据传输
    2024-12-12
  • Linux 下目录文件权限(命令)的查看和修改

    Linux 下目录文件权限(命令)的查看和修改

    这篇文章主要介绍了Linux 下目录文件权限(命令)的查看和修改的相关资料,需要的朋友可以参考下
    2016-11-11
  • 在CentOS上解压JAR包的完整指南

    在CentOS上解压JAR包的完整指南

    在 Linux 系统中,JAR(Java Archive)文件是一种常见的文件格式,通常用于打包 Java 应用程序的类文件、资源文件以及元数据,JAR 文件本质上是一种基于 ZIP 格式的压缩文件,本文将详细介绍如何在 CentOS 上解压 JAR 包,需要的朋友可以参考下
    2025-03-03
  • CentOS 7.2下安装部署邮件服务器(Postfix)的步骤详解

    CentOS 7.2下安装部署邮件服务器(Postfix)的步骤详解

    Postfix 是一种电子邮件服务器,下面这篇文章主要给大家介绍了在CentOS 7.2下安装部署邮件服务器(Postfix)的步骤全过程,文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-05-05

最新评论