liux的sudoes(liux中sudo的作用)
导语:杂集:浅谈关于linux中sudoers配置授权规则,附带案例
前言:
/etc/sudoers 的规则可分为两类:
一类是别名定义[略]。
一类是授权规则。
别名定义并不是必须的,授权规则是必须的。
如果系统中只有几个少量用户,设置权限有限的话,可以不用定义别名,针对系统用户直接授权。
简单的扯一下授权规则:
格式:
授权用户 主机=[(切换到哪些用户或用户组)] [是否需要密码验证] [命令1],
[(切换到哪些用户或用户组)] [是否需要密码验证] [命令2],......
简化:
授权用户 主机=命令动作
主机=ALL:表示授权用户可以在任何可能出现的主机名的系统中执行后面命令。
注意:
1、[ ]中的内容,可以省略。
2、命令与命令之间用','号分隔。
3、[(切换到哪些用户或用户组)]:
3.1:如果省略,则默认为root用户。
案例:user1 ALL=/bin/chown,命令2 表示:user1可以切换到root
3.2:如果ALL,则代表能切换到所有用户。
案例:user1 ALL=(ALL) 命令1,命令2 表示:user1用户可以切换到任何用户
4、 [是否需要密码验证]
4.1:如果省略,需要验证密码。
4.2:NOPASSWD:命令 这样就不需要输入密码
扯文字游戏还是比较无聊的,看一下下面的几个案例。
案例1:
user1 ALL=(root) /bin/chown
表示:user1可以切换到root执行后面的命令,需要输入密码
案例2:
user1 ALL=(root) NOPASSWD: /bin/chown
表示:user1可以切换到root执行后面的命令,不需要输入密码
案例3:[懒人型,不推荐]
user1 ALL=(ALL) NOPASSWD:ALL
user1 ALL=(ALL) ALL
表示:用户user1可以切换到所有用户执行所有命令
注意:
关于wheel组下期再做详细解释
1、以centos7普通用户stephen为例,演示如何授权:
创建用户并为其赋密码
切换到stephen用户
以chown命令为例
注意:普通用户是不能使用chown命令的
下图所示无权限操作
2、利用root修改/etc/sudoers文件
首先给sudoers可写[w]的权限
chmod u+w /etc/sudoers
查看
ll /etc/sudoers
3.1、测试案例1:
测试命令:stephen ALL=(root) /bin/chown
vim /etc/sudoers
切换到stephen测试
sudo chown stephen:odysee sudoFile/
注意:
1、使用命令需要输入密码
2、sudo -l:可以查看用户拥有的命令
如下图stephen只有一个可怜巴巴的chown
3.2、测试案例2:
测试命令:stephen ALL=(root) NOPASSWD: /bin/chown
用root用户修改一下sudoers文件
vim /etc/sudoers
切换到stephen测试
sudo chown stephen:root sudoFile/
这里就不用输入密码了
4、还原文件,去掉sudoers文件w权限
其实只要弄明白了授权规则,其他的都是自己操作验证了
提示:
最好别user1 ALL=(ALL) NOPASSWD:ALL/user1 ALL=(ALL) ALL这么直接。
下一篇谈一下关于wheel组的认识。
欢迎大家给予宝贵的意见或者建议。
欢迎大家补充或者共享一些其他的方法。
感谢支持。
本文内容由小纳整理编辑!