`
jobury
  • 浏览: 6086 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Linux命令--su与sudo

阅读更多

su(switch user)命令的作用:切换用户,一般是普通用户与root用户之间的切换。
例:
>su                #输入su命令
Password:      #提示输入密码

相关命令:su - 与sudo

一、Linux下su命令与su - 命令有什么区别?
      su是切换到其他用户,但是不切换环境变量(比如说那些export命令查看一下,就知道两个命令的区别了)
      su - 是完整的切换到一个用户环境
      所以建议大家切换用户的时候,尽量使用 su - root,否则可能发现某些命令执行不了
      从超级用户root变成普通用户,输入exit命令即可

二、Linux下su和sudo的区别 
      由于su(或是su - root)切换到超级权限用户root后,权限无限制,可以使用root的所有权限
      如果多个普通用户同时切换到root用户对系统进行操作,可能会出现不同人对同一个文件进行不同操作,那很不安全
      最好是有针对性的放开权限,明确哪些工作是由哪个用户进行操作,并且约定其使用哪个命令来完成与其相关的工作,此时sudo命令可以解决该问题
      通过sudo,我们能把某些root账号拥有的权限针对性的赋权给普通用户,并且不需要普通用户知道root密码
      所以sudo 相对于权限无限制性的su来说,还是比较安全的,因此sudo被称为受限制的su或授权许可的su
      sudo 执行命令的流程是当前用户切换到root(或其它指定切换到的用户),然后以root(或其它指定的切换到的用户)身份执行命令
      执行完成后,直接退回到当前用户。而这些的前提是要通过修改配置文件/etc/sudoers来进行授权

三、配置sudo必须用超级用户使用visudo编辑/etc/sudoers文件,之所以用visudo编辑有两个原因:
      一是它能够防止两个用户同时修改它;二是它也能进行有限的语法检查

     若在sudoers文件中写入以下一行:
     tomcat ALL=(ALL)    ALL
     第一个ALL是指网络中的主机,我们后面把它改成了主机名,它指明tomcat可以在此主机上执行后面的命令;(可以通过hostname命令来查看本台linux机器的主机名)
     第二个括号里的ALL是指目标用户,也就是以谁的身份去执行命令;
     最后一个ALL指命令名。
     写入以上语句后,表示tomcat和root拥有一样的权限,什么命令都可以使用,这样子的话,对于系统来说太不安全了,
     让tomcat用户可以执行某些命令(例:ifconfig和ls),在sudoers文件中写入以下一行:
     tomcat hostname=    /sbin/ifconfig,   /bin/ls

     在crt上输入命令查看:
     [tomcat@localhost ~]$ sudo ls /root
     PassWord:
     此时的问题是:登录后,每次使用sudo还要输入密码。若是使用sudo命令时不想输入密码,这样修改配置文件: 
     tomcat localhost=NOPASSWD:     /bin/cat, /bin/ls
     再次用sudo cat或是sudo ls命令时,就不会提示输入密码了

 

分享到:
评论

相关推荐

    Linux命令su、sudo、sudo su、sudo -i使用和区别.doc

    在Linux操作系统中,掌握su、sudo以及它们的不同变体如sudo su和sudo -i的使用是至关重要的。这些命令主要用于管理权限,特别是当需要以管理员(root)权限执行任务时。下面将详细介绍这些命令的使用和区别。 1. **...

    Laravel开发-sudo-su

    5. **自定义命令**:你可以创建自定义Artisan命令,利用`sudo-su`包提供的功能。例如,创建一个用于执行特定维护任务的命令,并在其中调用`sudo-su`进行权限切换。 6. **日志与审计**:由于涉及到权限切换,建议...

    Linux sudo命令用法详解

    Linux sudo命令 Linux sudo命令以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。 使用权限:在 /etc/sudoers 中有出现的使用者。 语法sudo -V sudo -h sudo -l sudo -v sudo ...

    4-8su命令与sudo服务.pdf

    su命令和sudo服务都是Linux系统中非常重要的命令和服务。su命令可以实现用户身份的切换,而sudo服务可以授权普通用户执行特定的命令。正确地使用su命令和sudo服务可以提高系统的安全性和可管理性。 《Linux网络操作...

    Linux基础知识与系统管理教学课件-pdf.rar

    4.1.1 Linux常用命令-文件处理命令-命令格式与目录处理命令ls 4.1.2 Linux常用命令-文件处理命令-目录处理命令 4.1.3 Linux常用命令-文件处理命令-文件处理命令 4.1.4 Linux常用命令-文件处理命令-链接命令 4.2.1 ...

    Linux基础知识与系统管理视频.rar

    4.1.1 Linux常用命令-文件处理命令-命令格式与目录处理命令ls 4.1.2 Linux常用命令-文件处理命令-目录处理命令 4.1.3 Linux常用命令-文件处理命令-文件处理命令 4.1.4 Linux常用命令-文件处理命令-链接命令 4.2.1 ...

    linux su和sudo命令的区别.docx

    另外,sudo 命令是另一个 Linux 中的命令,它也可以用来切换到其他用户的身份,但是 sudo 命令与 su 命令不同,sudo 命令可以让普通用户临时获得 root 权限,而不需要知道 root 的密码。sudo 命令的使用格式为:sudo...

    Linux中sudo和su之间的差别1

    【Linux中的sudo与su命令的区别】 在Linux操作系统中,sudo和su是两个常用的命令,用于在不同用户之间切换,特别是从非特权用户切换到具有管理员权限的root用户。这两个命令虽然相似,但在使用上有着明显的差异。 ...

    linux系统命令-补充

    这篇“linux系统命令-补充”可能是对已有Linux命令知识的一个扩展,可能涵盖了不常见但实用的命令,或者是对常用命令的深入解析。由于没有直接提供文章内容,我们将基于Linux命令的一般知识来进行详细的解释。 首先...

    su-exec:对于Linux node.js,以root身份运行可执行文件,类似于linux中的sudo。

    苏执行这个linux node.js模块使使用root特权执行外部可执行文件变得很简单,类似于sudo 。 该模块在初始化时需要root用户,因此您的应用程序应以root用户身份启动。 不要忘记使用process.setuid()和process.setgid()...

    Su以及Sudo文件下载

    在Linux系统中,`su` 和 `sudo` 是两个非常重要的命令行工具,它们与系统的权限管理和用户身份切换紧密相关。这两个工具对于系统的管理和维护至关重要,尤其在Kali Linux这样的渗透测试和安全研究环境中更是不可或缺...

    linux-Linux命令大全内容包含Linux命令手册详解学习搜集

    - `su`/`sudo`:切换用户身份,`sudo`常用于执行管理员任务。 5. **进程管理**: - `ps`:报告当前系统中进程的状态。 - `kill`/`pkill`:发送信号给进程,结束进程。 - `nohup`:让命令在后台持续运行,即使...

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

    只有在一些特殊情况下才采用登录root执行管理任务,一般情况下临时使用root权限多采用su和sudo命令。 su命令就是切换用户的工具,怎么理解呢?比如我们以普通用户tom登录的,但要添加用户任务,执行useradd ,tom...

    su和sudo的区别.txt

    综上所述,su与sudo都是Linux系统中用于用户身份切换的重要命令,但在实际应用中,sudo以其更高的安全性、灵活性和用户友好性成为多用户环境下更好的选择。对于需要频繁进行系统管理操作的场景,推荐使用sudo来替代...

    面试:说说Linux 命令 su 和 sudo 的区别?.zip

    本文将深入探讨两个关键的用户切换命令:`su`和`sudo`,它们都是用来提升权限或者在用户之间切换的。了解这两个命令的区别,能够帮助你在面试中表现出扎实的Linux基础。 `su`命令,全称为“switch user”,它的主要...

    Linux系统常用的2种切换用户命令

    在Linux系统中,有两种主要的命令用于切换用户:su和sudo。这两个命令允许用户在不同权限级别之间切换,特别是从普通用户切换到具有管理员权限的root用户。下面将详细介绍这两种命令的使用方法。 首先,我们来看`su...

    Linux入门常用命令--Ubuntu

    在 Ubuntu 中,可以使用以下命令来登录:`sudo login`。在 CentOS 和 RHEL 中,可以使用以下命令:`su -`。 * 退出系统:要想退出 Linux 系统,可以使用以下命令:`exit` 或 `logout`。这两个命令的作用都是退出当前...

    linux su命令参数及用法详解-linux切换用户命令.docx

    扩展阅读一:Linux 下 su 命令与 su - 命令有什么区别? su 是切换到其他用户,但是不切换环境变量(比如说那些 export 命令查看一下,就知道两个命令的区别了)。 su - 是完整的切换到一个用户环境。 因此,建议...

    Linux下普通用户su命令切换控制

    ### Linux下普通用户su命令切换控制 在Linux操作系统中,`su`命令是用于用户身份切换的重要工具之一。通过该命令,用户可以在不同账户间进行切换,尤其在系统管理及故障排查时非常实用。但出于安全考虑,通常需要对...

Global site tag (gtag.js) - Google Analytics