zoukankan      html  css  js  c++  java
  • Linux

    一,sudo:

    Sudo (substitute user [或 superuser] do),是一种程序,用于类Unix操作系统BSDMac OS X,以及GNU/Linux以允许用户透过安全的方式使用特殊的权限运行程序 (通常为系统超级用户)。

    原理

    在sudo于1980年前后被写出之前[2],一般用户管理系统的方式是利用 su 切换为超级用户。但是使用su的缺点之一在于必须要先告知超级用户的密码。

    sudo使一般用户不需要知道超级用户的密码即可获得权限。首先超级用户将普通用户的名字、可以执行的特定命令、按照哪种用户或用户组的身份执行等信息,登记在特殊的文件中(通常是/etc/sudoers),即完成对该用户的授权(此时该用户称为“sudoer”)[3];在一般用户需要获取特殊权限时,其可在命令前加上“sudo”,此时sudo将会询问该用户自己的密码(以确认终端前的是该用户本人),回答后系统即会将该命令的进程以超级用户的权限运行。之后的一段时间内(默认为5分钟[4],可在/etc/sudoers自定义),使用sudo不需要再次输入密码。

    由于不需要超级用户的密码,部分Unix系统甚至利用sudo使一般用户取代超级用户作为管理账号,例如UbuntumacOS等。

    语法:

    sudo [-bhHpV][-s ][-u <用户>][指令]

    sudo [-klv]

    参数:

      -b  在后台执行指令。

      -h  显示帮助。

      -H  将HOME环境变量设为新身份的HOME环境变量。

      -k  结束密码的有效期限,也就是下次再执行sudo时便需要输入密码。

      -l  列出目前用户可执行与无法执行的指令。

      -p  改变询问密码的提示符号。

      -s  执行指定的shell。

      -u  <用户>  以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份。

      -v  延长密码有效期限5分钟。

      -V  显示版本信息。

      -S  从标准输入流替代终端来获取密码

    维基百科:https://zh.wikipedia.org/wiki/Sudo

    sudo官方网站:https://www.sudo.ws

    sudo官方说明:https://www.sudo.ws/intro.html

    二,su:

    su命令,也被称为“替代用户”、“超级用户”或“切换用户”,是可以让计算机操作者在虚拟控制台切换当前用户帐户的命令。

    没有其他命令行参数时,默认将会将当前用户提权至本地超级用户

    用法:

    在命令行中运行时,su会要求目标用户的密码。如果验证通过,操作者将会授予该帐户的权限,并且允许访问该帐户可以访问的文件和目录。

    john@localhost:~$ su
    密码: 
    root@localhost:/home/john# exit
    登出
    john@localhost:~$
    

    此外,还可以切换到另一个不是超级用户的帐户,例如su jane

    john@localhost:~$ su jane
    密码:
    jane@localhost:/home/john$ exit
    登出
    john@localhost:~$
    

    一般来说,管理员应该使用一个连字号su -,等同于su - root),来启动登录shell。这样,用户可以获得目标用户的用户环境

    john@localhost:~$ su - jane
    密码:
    jane@localhost:~$
    

    相关的命令sudo也可以允许以另一个用户的身份执行命令,但遵守一组的限制,以决定哪些用户可以以什么用户身份执行什么命令(通常是在配置文件/etc/sudoers中,最好使用visudo编辑)。与su不同的是,sudo验证的是用户自己的密码,而不是目标用户的(允许特定主机上的特定用户执行特定命令,而不用共享密码,同时减轻无人值守终端的风险)。

    一些类Unix系统wheel组,且只允许组内用户su到root。[1]很难说这是否会降低安全风险,因为入侵者可能会轻易入侵其中一个帐户。然而,由于理念不同,GNU su不支持wheel组。理查德·斯托曼认为,由于wheel组会阻止用户使用泄露给他们root密码,现有的管理员就可以欺压普通用户。[2]

    维基百科:https://zh.wikipedia.org/wiki/Su_(Unix)

  • 相关阅读:
    转载的log4cplus使用指南
    linux下安装log4cplus
    MongoDB常用命令
    ios UIButton改背景
    ios发送邮件
    oracle数据库 in 结果字段的拆分
    Server returned HTTP response code: 505
    ORA-01795:列表中的最大表达式数为1000
    ajax post请求
    oracle 同义词
  • 原文地址:https://www.cnblogs.com/sunylat/p/13650993.html
Copyright © 2011-2022 走看看