Linux命令 - sudo命令

Linux命令 - sudo命令

  Linux中 sudo 命令以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。

1.语法:

whoami [参数]

2.功能:

  可让用户以其他的身份来执行指定的指令,预设的身份为root。在/etc/sudoers中设置了可执行sudo指令的用户。若其未经授权的用户企图使用sudo,则会发出警告的邮件给管理员。用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限则必须重新输入密码。

3.参数:
-b  在后台执行指令。 
-h  会显示版本编号及指令的使用方式说明。 
-H  将HOME环境变量设为新身份的HOME环境变量。 
-k  结束密码的有效期限,也就是下次再执行sudo时便需要输入密码。 
-l  列出目前用户可执行与无法执行的指令。 
-p  改变询问密码的提示符号,其中 %u 会代换为使用者的帐号名称, %h 会显示主机名称。 
-s  执行指定的shell或是 /etc/passwd 里所指定的 shell。 
-u<用户>  以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份。 
-v  延长密码有效期限5分钟。 
-V  显示版本信息。
4.常用范例:

例一:列出目前的权限

命令:sudo -l

[root@localhost ~]# sudo -l
匹配 %2$s%1$s 的默认条目:
    !visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE
    KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE LC_IDENTIFICATION
    LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE
    LINGUAS _XKB_CHARSET XAUTHORITY", secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin

用户 root 可以在 localhost 上运行以下命令:
    (ALL) ALL

例二:给用户赋sudo权限

1)切换至root账户,为sudo文件增加写权限,默认是读权限

命令:chmod u+w /etc/sudoers

2)修改/etc/sudoers文件

命令:vi /etc/sudoers

  • 找到如下图所示的一行:

Linux命令 - sudo命令_第1张图片- 然后给普通用户esther添加sudo权限,在“root ALL=(ALL)ALL”这一行下面,加入如下图所示的一行(用户名 ALL=(ALL) ALL),并保存

Linux命令 - sudo命令_第2张图片
3)修改保存之后再收回sudoersd写的权限
命令:chmod u-w /etc/sudoers

你可能感兴趣的:(Linux)