欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Linux学习笔记——1.超级用户

程序员文章站 2023-09-03 22:49:50
以超级用户工作:su su命令允许临时变换到任何一用户标识(如果拥有口令的话),并挂起当前shell,为新用户开启一个新的shell。 将当前用户标识harley变换为weedly,但仍在harley的环境下工作。 同时变换用户标识和环境。su命令更多用于切换到超级用户root。此时,我们也希望在r ......

以超级用户工作: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命令。
  • 当用户不在sudoers文件时,可以自己添加。以centos 7为例。
    • $ su root
    • $ chmod u+w /etc/sudoers // 写权限
    • $ vi /etc/sudoers
      打开sudoers文件,输入\allow找到

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