• 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命令时,就不会提示输入密码了

    引用自天道酬勤的博客

  • 相关阅读:
    Struts2整合Spring
    关于碰撞检测的相关信息
    直角三角形
    XNA 3.0初步——自定义游戏循环时间
    XNA 3.0初步——将你的XNA 3.0游戏部署到Zune
    XNA 3.0初步——开始第一个XNA 3.0项目
    创建场景和赛道——概览
    XNA 3.0初步——将你的XNA 3.0游戏部署到另一台PC
    创建场景和赛道——场景绘制
    创建场景和赛道——游戏比较
  • 原文地址:https://www.cnblogs.com/flutehand/p/10193830.html
Copyright © 2020-2023  润新知