有關visudo的需求分析及其使用

背景:最近小夥伴們老是抱怨雲服務器又登錄不上了,由於許多人都在使用同一臺服務器,不免有的人誤操做使用了關機或者重啓命令。所以給那些在線的小夥伴帶來了困擾。如何解決

題目:建立普通用戶,經過sudo提權,禁止使用關機,重啓命令。

解決辦法:

第一種 :不是辦法的辦法

能夠經過使用命令別名來設置:即將關機命令使用alias進行修改:vim

[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" '

從新加載環境設置:bash

[root@www- ~]# source .bashrc

第二種:使用visudo進行用戶權限管理

提示:visudo是直接操做/etc/sudoers文件,咱們也能夠直接 vi /etc/sudoers,可是visudo命令的好處在於,退出/etc/sudoers文件時,系統會檢查/etc/sudoers語法是否正確。服務器

  1. 單用戶受權markdown

    [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
  2. 羣組受權app

    [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
  3. 別名受權ide

    [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
相關文章
相關標籤/搜索