首页 > 代码库 > linux命令:sudo浅谈
linux命令:sudo浅谈
sudo命令简介:
使得某一个用户作为另一个用户执行命令
1.配置文件为:/etc/sudoers
配置文件格式:
格式: who which_hosts=(runas) command
who:表示哪一个用户 which_hosts:哪一个主机
runas:以什么用户身份执行 command:执行什么命令
对于多个用户,登陆多台服务器,以多个身份执行,多个命令,需定义别名:
who:User_Alias 用户别名
which_hosts:Host_Alias 主机别名
runas:Runas_Alias 以什么用户身别名
command:Cmnd_Alias 命令别名
别名必须全部并且只能使用大写英文字母的组合:
用户别名定义格式:
User_Alias USERADMIN = 系统用户名,%组名,还可以包含其它已经定义的用户别名
用户别名:可以包含:系统用户名,组名(格式:%组名),其它已定义的用户别名 中间以,隔开
主机别名定义格式:
Host_Alias HOSTADMIN = 主机名,ip地址,网络地址段,其它已定义的主机别名
Runas_Alias别名格式:
Runas_Alias RUNASNAME = 用户名,%组名,其它的已定义的Runas别名
Cmnd_Alias命令别名格式:
Cmnd_Alias COMMANDNAME = 命令路径,目录(此目录内的所有命令),其它事先定义过的命令别名
Usage:使得hadoop用户可以执行所有主机的useradd usermod命令
vim /etc/sudoers 编辑sudo配置文档,在最后一行添加以下内容:
hadoop ALL=(root) /usr/sbin/useradd,/usr/sbin/usermod
2.命令功能:
使得某一个用户作为另一个用户执行某台主机上的命令
3.命令参数:
-l:列出当前用户可以使用的所有sudo类命令
-k:让认证信息失效 (默认sudo会记住密码5分钟)
添加标签: NOPASSWD: PASSWD:
4.命令实例:
1、使得hadoop用户可以执行所有主机的useradd usermod命令
vim /etc/sudoers 编辑sudo配置文档,在最后一行添加以下内容:
hadoop ALL=(root) NOPASSWD: /usr/sbin/useradd,/usr/sbin/usermod
NOPASSWD: 表示标签后的所有命令都不需要用密码
hadoop ALL=(root) NOPASSWD: /usr/sbin/useradd, PASSWD: /usr/sbin/usermod
PASSWD:表示需要用密码,
2、使用别名方式启用sudoers配置文件
vim /etc/sudoers
User_Alias USERADMIN = hadoop,%hadoop,%useradmin #表示hadoop用户,hadoop组,useradmin组
Cmnd_Alias USERADMINCMND = /usr/sbin/useradd,/usr/sbin/usermod,/user/bin/passwd [A-Za-z]*,! /usr/bin/passwd root #命令别名,表示可以通过sudo执行useradd usermod /user/bin/passwd [A-Za-z]* 表示执行passwd命令后面必须带至少一个字母 !/usr/bin/passwd root 表示不能执行passwd root 命令(!为取反)修改root用户密码
USERADMIN ALL=(root) NOPASSWD: USERADMINCMND
[john@localhost root]$ sudo /usr/sbin/passwd root
口令:
john is not in the sudoers file. This incident will be reported.
[john@localhost ~]$ sudo /usr/bin/passwd
Sorry, user john is not allowed to execute ‘/usr/bin/passwd‘ as root on localhost.localdomain.
[john@localhost ~]$ sudo /usr/bin/passwd donggen
Changing password for user donggen.
New UNIX password:
BAD PASSWORD: it is WAY too short
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
本文出自 “学linux历程” 博客,请务必保留此出处http://woyaoxuelinux.blog.51cto.com/5663865/1887356
linux命令:sudo浅谈