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)

  • 相关阅读:
    CF763C Timofey and Remoduling
    CF762E Radio Stations
    CF762D Maximum Path
    CF763B Timofey and Rectangles
    URAL1696 Salary for Robots
    uva10884 Persephone
    LA4273 Post Offices
    SCU3037 Painting the Balls
    poj3375 Network Connection
    Golang zip压缩文件读写操作
  • 原文地址:https://www.cnblogs.com/sunylat/p/13650993.html
Copyright © 2011-2022 走看看