背景:最近小伙伴们总是抱怨云服务器又登陆不上了,因为许多人都在使用同一台服务器,难免有的人误操作使用了关机或者重启命令。因此给那些在线的小伙伴带来了困扰。如何解决
题目:创建普通用户,通过sudo提权,禁止使用关机,重启命令。
解决办法:
第一种 :不是办法的办法
可以通过使用命令别名来设置:即将关机命令使用alias进行修改:
[root@www-# vim .bashrc alias rm='rm -i' alias cp='cp -i' alias mv='mv -i' alias grep='grep --color=auto' alias reboot='echo " cannot use reboot: Permission denied" ' alias init='echo " cannot use init: Permission denied" ' alias poweroff='echo " cannot use poweroff: Permission denied"' alias shutdown='echo " cannot use shutdown: Permission denied" '
重新加载环境设置:
[root@www- ~]# source .bashrc
第二种:使用visudo进行用户权限管理
提示:visudo是直接操作/etc/sudoers文件,我们也可以直接 vi /etc/sudoers,但是visudo命令的好处在于,退出/etc/sudoers文件时,系统会检查/etc/sudoers语法是否正确。
单用户授权
[root@localhost ~]# visudo root ALL=(ALL) ALL admin ALL=(root) NOPASSWD: ALL,!/usr/bin/passwd,/usr/bin/passwd [a-zA-Z]*,!/usr/bin/passwd root,!/sbin/reboot,!/sbin/halt,!/sbin/shutdown,!/sbin/init,!/sbin/poweroff
群组授权
[root@localhost ~]# visudo ## Allows people in group wheel to run all commands # %wheel ALL=(ALL) ALL %test ALL=(ALL) NOPASSWD: ALL,!/usr/bin/passwd,/usr/bin/passwd [a-zA-Z]*,!/usr/bin/passwd root,!/sbin/reboot,!/sbin/halt,!/sbin/shutdown,!/sbin/init,!/sbin/poweroff #只需要把用户添加到组里即可 [root@localhost ~]# usermod -a -G test jj
别名授权
[root@localhost ~]# visudo #指明用户及其别名USERNAME User_Alias USERNAME=jiajie,jj,admin #指明命令 Cmnd_Alias COMMAND=ALL,!/usr/bin/passwd,/usr/bin/passwd [a-zA-Z]*,!/usr/bin/passwd root,!/sbin/reboot,!/sbin/halt,!/sbin/shutdown,!/sbin/init,!/sbin/poweroff #配置别名拥有的权限 USERNAME ALL=(root) NOPASSWD:COMMAND
转载于:https://blog.51cto.com/dianel/2119739