|
用户身份切换- 如何在普通用户的情况下,完成日常工作?
- 1)`su` 切换用户,使用普通用户登录,然后使用su命令切换到root。
- 优点:简单,方便
- 缺点:需要知道root密码,不安全,切换到root没有日志审计功能
- 2)`sudo` 提权,当需要使用root权限时,进行提权,而无需切换至root用户。
- 优点:安全,方便
- 缺点:复杂
- su
- -
- -c:不切换用户,使用用户身份执行命令
- 缺点:需要知道root的密码
- sudo
- 当普通用户需要执行root才能执行的命令时,需要提权
- 缺点:配置复杂
- #给予运维人员权限须知:
- · 给予权限可以给所有权限,但是将su,vim,rm命令禁用,su命令禁用是为了避免用户在只知道自己密码的情况进行提权切换用户,这样只需要知道自己的密码也可以切换至root用户,另外也需要禁止root用户通过ssh连接至本机
- visudo = vim /etc/sudoers
- username ALL=(ALL) ALL
- username ALL=(ALL) ALL,!/bin/su,!/bin/vim,!/bin/vi,!/bin/rm,/bin/ifconfig,/bin/netstat
复制代码 用户身份提权
- #centos7的提权
- ## sudo 提权
- usermod zls -G wheel
- 1.将用户加入到 sudoers 文件中
- 2.将用户加入到 sudoers 文件中设置的组里
- [root@localhost ~]# visudo
- 1.用户名 2.主机名 3.角色名 4.命令名
- root ALL= (ALL) ALL
- #centos6的提权
- #1.系统安装后就有sudo命令,如果没有sudo命令,可通过如下方式安装
- [root@zls ~]# yum install -y sudo
- #2.使用`visudo`命令编辑sudo配置文件, 相当于 vim /etc/sudoers`配置文件
- [root@zls ~]# visudo #会对配置进行验证
- zls ALL=(ALL) /bin/rm, /bin/cp #新增
- #3.配置选项详解
- 1.用户名 2.主机名 3.角色名 4.命令名
- root ALL= (ALL) ALL
- zls ALL 使用最高角色执行 /bin/rm, /bin/cp #允许使用sudo执行命令
- zls ALL=(ALL) NOPASSWD:/bin/cp, /bin/rm //不需要密码使用rm、cp命令
- #4.使用visudo -c检查配置文件
- [root@zls ~]# visudo -c
- /etc/sudoers: parsed OK
复制代码 例:#sudo免密码配置选项
- #1.普通用户执行sudo不需要输入密码配置
- [root@zls ~]# visudo
- zls ALL=(ALL) /bin/rm, /bin/cp #默认
- zls ALL=(ALL) NOPASSWD:/bin/rm, /bin/cp #修改后
- #2.默认普通用户无权删除
- [zls@zls ~]$ rm -f /root/002
- rm: cannot remove `/root/002': Permission denied
- #3.验证sudo免密码执行权限
- [zls@zls ~]$ sudo rm -f /root/002
复制代码 sudo组配置
- //如果每增加一个用户需配置一行sudo,这样设置非常麻烦。所以可以进行如下设置
- %zls ALL=(ALL) NOPASSWD:/bin/rm, /bin/cp #新增组
- //group1这个组的所有用户都拥有sudo的权力。接下来只需要将用户加入该组即可。
- //创建用户加入该组
- [root@zls ~]# groupadd zls
- [root@zls ~]# useradd zls1 -g zls
- [root@zls ~]# useradd zls2 -g zls
- //root用户建立目录
- [root@zls ~]# mkdir /root/zls_sudo
- //切换用户并删除测试
- [root@zls ~]# su - zls1
- [zls1@zls ~]$ rm -rf /root/zls_sudo
- rm: cannot remove `/root/zls_sudo': Permission denied
- //使用sudo
- [zls1@zls ~]$ sudo rm -rf /root/zls_sudo
复制代码
|
|