【Linux】sudo分权管理实战
前言
我们在工作中经常使用普通用户,要使用root权限的时候,使用sudo来让普通用户拥有执行root命令的权限。 今天我们就来聊聊sudo的那些事
sudo 作用
sudo是linux下常用的允许普通用户使用超级用户权限的工具,允许系统管理员让普通用户执行一些或者全部的root命令,如halt,reboot,su等等。这样不仅减少了root用户的登陆和管理时间,同样也提高了安全性。
特点:
- sudo能够限制用户知在某台机器上运行某些命令
- sudo提供了丰富的日志,详细的记录了每个用户做了什么。
- sudo的配置文件在/etc/sudoers 下,属性必须为0440
安装与设置
一般sudo命令是默认安装的,如果你的机器里没有,可以使用命令 yum install sudo 来安装
[root@gaosh-64 ~]# yum install sudo
我们来看一下配置文件:
在上图root下面添加一行 ,给gaosh用户加权限
[root@gaosh-64 ~]# vim /etc/sudoers
gaosh ALL=(ALL) ALL
- 1
- 2
这里表示所有命令的权限,
如果换种写法
gaosh ALL=(ALL) /usr/sbin/useradd 表示普通用户执行时候需要使用全路径
gaosh ALL=(root) /usr/bin/passwd [a-zA-Z]*,! /usr/bin/passwd root # gaosh可以使用root的身份更改密码,但不允许修改root的密码
测试
[root@gaosh-64 ~]# useradd gaosh ## 创建用户
[root@gaosh-64 ~]# passwd gaosh
[root@gaosh-64 ~]# ssh gaosh@127.0.0.1 ### 登陆
[gaosh@gaosh-64 ~]$ whoami
gaosh
[gaosh@gaosh-64 ~]$ whoami
gaosh
[gaosh@gaosh-64 ~]$ cat /etc/shadow ### 查看密码文件
cat: /etc/shadow: 权限不够
[gaosh@gaosh-64 ~]$ sudo cat /etc/shadow
[sudo] gaosh 的密码:
root:$6$f2KQZZx2$gVznwJlWK/0T4SI/sH/GOg0IPpYw97hqXuKZCPxxhi2oUWgO0xIco2XCukVI2.kdKvCA//zDbbKNfrC4SM7Mv/:18466:0:99999:7:::
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
使用sudo,可以看到输入密码之后,就能查看/etc/shadow了
注意事项
我们在上面修改 /etc/sudoers 直接强制修改是可以的,有时候我们也可以先给与写权限,然后在修改
chmod u-x /etc/sudoers
但是这种方法给了权限之后,不要忘了再把权限去掉
chmod u-w /etc/sudoers
查看日志文件
[root@gaosh-64 ~]# tail /var/log/secure ## 查看日志的后十行
可以看到刚刚执行的命令,已经使用root的情况。
常用参数
参数 | 含义 |
---|---|
V | 显示版本号信息 |
h | 显示版本编号及指令的使用方式说明 |
l | 显示出自己的权限 |
v | 设置询问密码的时间 |
s | 执行环境变数中的shell中所指定的shell,一般指的是passwd里指定的shell |
总结
sudo的使用相对简单,我们在工作中主要是对用户和用户的权限做把控,权限管理是运维安全的第一步。
文章来源: zmedu.blog.csdn.net,作者:互联网老辛,版权归原作者所有,如需转载,请联系作者。
原文链接:zmedu.blog.csdn.net/article/details/107583992
- 点赞
- 收藏
- 关注作者
评论(0)