以超级用户工作:su

  • su命令允许临时变换到任何一用户标识(如果拥有口令的话),并挂起当前shell,为新用户开启一个新的shell。
    • su <user> 将当前用户标识harley变换为weedly,但仍在harley的环境下工作。
    [harley] $ su weedly
    Password: <weedly_password>
    [weedly] $
    • su - <user> 同时变换用户标识和环境。su命令更多用于切换到超级用户root。此时,我们也希望在root环境中工作而不是在自己环境中。
    [harley] $ su - [root] # [root] 表示root可写可不写
    Password: <root_password>
    #
    • #提示符表明已成为超级用户。exit返回自己的旧shell。
    # exit
    [harley] $

以超级用户执行一条单独的命令:sudo

  • sudo命令允许以另一用户标识执行一条单独命令,默认用户是root。
    • 使用sudo命令,系统只要求你输入自己的口令(password),而不是超级用户的口令。
    [harley] $ sudo <command_name>
    [sudo] password for harley: <harley_password>
    • 但并不是所有人都允许使用sudo命令,必须是用户标识位于一个特殊的列表上的用户才可以使用sudo命令,这个列表保存在/etc/sudoers中,而且它只能被超级用户修改。
    • 一旦正确输入口令,在一定时间内(一般为5min)不必再次输入口令就可以运行sudo命令。
  • 当用户不在/etc/sudoers文件时,可以自己添加。以CentOS 7为例。
    • $ su root
    • $ chmod u+w /etc/sudoers // 写权限
    • $ vi /etc/sudoers
      insert mode下,输入\Allow找到

      ##  Allow root to run any commands anywhere
      root          ALL=(ALL)    ALL
      <user>       ALL=(ALL)    ALL // 添加
    • $ chmod u-w /etc/sudoers // 撤销写权限

      SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄