- sudo的目的:为非根用户授予根用户的权限;
- 配置文件:/etc/sudoers
- visudo命令编辑修改/etc/sudoers配置文件
1、一般用户赋权设置:
[root@localhost ~]# visudo ……前面省略 ## Syntax: ## ## user MACHINE=COMMANDS ## ## The COMMANDS section may have other options added to it. ## ## Allow root to run any commands anywhere root ALL=(ALL) ALL 77 test ALL=(root) /usr/sbin/useradd //新增加用户行 |
说明:
第一个字段:root为能使用sudo命令的用户;
第二个字段:第一个ALL为允许使用sudo的主机,第二个括号里的ALL为使用sudo后以什么身份(目的用户身份)来执行命令;
第三个字:ALL为以sudo命令允许执行的命令;
上列解释: test ALL=(root) /usr/sbin/useradd
表示允许test用户从任何主机登录,以root的身份执行/usr/sbin/useradd命令。
用户执行命令效果:
[root@server ~]# su - redhat [redhat@server ~]$ sudo /usr/sbin/useradd test //命令需要输入完整的路径 口令: //这里输入用户redhat自己的密码 [redhat@server ~]$ cat /etc/passwd |tail -5 xfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologin gdm:x:42:42::/var/gdm:/sbin/nologin sabayon:x:86:86:Sabayon user:/home/sabayon:/sbin/nologin redhat:x:500:500::/home/redhat:/bin/bash test:x:501:501::/home/test:/bin/bash //新增加的用户 |
2、sudo配置深入:
1)多个用户的设置(非同一群组用户):
u 对于不同需求的用户:可以按照上面的方法依次增加多行,每行对应一个用户。
u 对于相同需求的多个用户
User_Alias UUU=user1,user2…… 定义用户别名;
[root@localhost ~]# visudo ## User Aliases ## These aren't often necessary, as you can use regular groups ## (ie, from files, LDAP, NIS, etc) in this file - just use %groupname ## rather than USERALIAS # User_Alias ADMINS = jsmith, mikem //这个就是一个实例行,按照这个写自己的 21 User_Alisa sudouser=user1,user2,user3,user4 //第一一个别名suduouser ……后面省略 ## Syntax: ## ## user MACHINE=COMMANDS ## ## The COMMANDS section may have other options added to it. ## ## Allow root to run any commands anywhere root ALL=(ALL) ALL 77 sudouser ALL=(root) /usr/sbin/useradd ////命令行书写格式,用户列用别名 |
对于多个命令的设置:
[root@localhost ~]# visudo ## Command Aliases ## These are groups of related commands... ## Networking ## Syntax: ## ## user MACHINE=COMMANDS ## ## The COMMANDS section may have other options added to it. ## ## Allow root to run any commands anywhere root ALL=(ALL) ALL 77 sudouser ALL=(root) NETWORKING //命令行书写格式,命令列用别名 |
Cmnd_Alias CCC=command1,command2…… 定义命令别名;
对于多主机的设置和多登陆角色的设置:
•修改 Host_Alias HHH=host1,host2……
定义主机别名;
修改后对应的命令行主机列位置也是用别名
•Runas_Alias RRR=role1,role2…… 定义runas别名,指定的是“目的用户”,即sudo 允许转换至的用户;
建立相关别明后,相关命令行相应的列也是用我们定义的别名。
2)多个用户的设置(同一群组用户):
[root@localhost ~]# visudo
# %wheel ALL=(ALL) ALL //用户列%+群组名 |
END,希望大家能够合理为个用户账号授权。