zoukankan      html  css  js  c++  java
  • Linux的su和sudo有什么区别?如何使用?

    我们在使用Linux时,经常会遇到关于用户权限的问题,每个文件都对不同的用户身份设定了不同的权限。

    最常见的场景就是:获取root权限来执行命令。

    而Linux中的su和sudo就是关于系统权限的命令,两者都可以让你使用root权限,那它们区别是什么呢?

    sudo:

    Linux解释:execute a command as another user.

    让用户使用另一个用户身份执行一条命令。

    特点:

    • 可管理用户的sudo使用权限,用户是否有sudo权限记录在/ect/sudoers文件中,不是每一个用户都能使用该条命令;
    • 可管理用户sudo执行的命令范围;
    • 可记录用户sudo执行日志,并可上传服务器;
    • 不需要root密码,只需输入当前用户密码即可拥有5mins使用权限(该时间内不需反复输入密码)。

    常用用法:

    • #sudo [command]       默认以root身份执行命令(处理很少量root命令时最常用)
    • #sudo [-u username] [command]     指定身份执行命令
    • #sudo -i             换到root用户,exit登出(当需要处理大量root命令时优先该方法切换)

    su:

    Linux解释:运行替换用户和组标志的shell。

    切换到其他用户权限。需要root密码。

    特点:

    • 需要知道root密码,到root权限后,放飞自我,拥有root的所有权限;
    • 不能跟踪是哪个用户执行了root命令,安全性差。

    常用用法:

    • #su [username]     切换到指定用户权限,不改变环境变量,默认为root权限。
    • #su - [username]   切换,并改变环境变量为指定用户(最常用)

    总结

    两者都是Linux系统管理的命令,不管怎么样sudo都比su更加方便,最重要的是更加安全,我们应该养成用sudo的习惯。

  • 相关阅读:
    Python LED
    vmvare虚拟机经验
    Debian系统简要说明
    Android onclick监听事件打开新界面
    在国外搭个人服务器(顺便访问外网)
    生成指定时间内的 随机日起
    生成指定时间内的日期
    Mac 上查找javahome
    java 学习的网站
    Java 线程
  • 原文地址:https://www.cnblogs.com/cpcpp/p/13355368.html
Copyright © 2011-2022 走看看