【CentOS】Linux sudo權限集中管理案例

目的


使得公司的Linux系統權限管理更規範,讓每個用戶擁有自己所該有的權限,防止因爲某些用戶的權限過大後的一些誤操作,導致服務器的不正常運行。


操作


1、編輯Linux系統中的sudoers文件

[root@Temp-2 ~]# vim /etc/sudoers
#Edit by root
User_Alias NETMAN = net01, net02 #用戶別名
User_Alias ADMIN = admin01, admin02
User_Alias SA = %sa
#定義的別名必須都要用大寫字母,別名後面跟的參數是用 ,(逗號)+ 空格 隔開的
Cmnd_Alias NETCMD = /sbin/ifconfig, /etc/init.d/network #命令別名
Cmnd_Alias ADMINCMD = /usr/sbin/useradd, /usr/sbin/userdel

NETMAN ALL = (ALL) NETCMD
ADMIN ALL = (ALL) ADMINCMD
SA ALL = (ALL) ALL

在/etc/sudoers文件中,自行重新定義別名(別名爲一羣擁有相同屬性的集合)


別名分爲:主機別名(Host_Alias)、用戶別名(User_Alias)、命令別名(Cmnd_Alias)、身份別名(Runas_Alias)


(其中主機別名和身份別名較少用,主機別名的用途在於多臺服務器共享同一個sudoers文件)


別名與Sudoers配置的位置對應爲:

wKioL1Of-Mfx_Q6mAABIBCOZqEo151.jpg

注:


①、身份別名中所涉及的用戶必須是系統中真實存在的。


②、命令別名的路徑必須使用絕對路徑


③、在引用用戶組時,須在用戶組名前面加%


2、對以上的sudoers配置結果進行驗證

[root@Temp-2 ~]# su - net01
[net01@Temp-2 ~]$ sudo -l #用戶所擁有的sudo權限查看
[sudo] password for net01:
User net01 may run the following commands on this host:
(ALL) /sbin/ifconfig, /etc/init.d/network

[root@Temp-2 ~]# su - admin01
[admin01@Temp-2 ~]$ sudo -l
User admin01 may run the following commands on this host:
(ALL) /usr/sbin/useradd, /usr/sbin/userdel

[root@Temp-2 ~]# id nowsun
uid=500(nowsun) gid=508(sa) groups=508(sa)
[root@Temp-2 ~]# su - nowsun
[nowsun@Temp-2 ~]$ sudo -l
[sudo] password for nowsun:
User nowsun may run the following commands on this host:
(ALL) ALL

對比完發現,與在/etc/sudoers中的配置一致。

3、配置sudo的日誌審計

①、安裝sudo(CentOS 6.4  中的服務爲rsyslog)

[root@Temp-2 ~]#yum install sudo

②、配置/etc/sudoers

[root@Temp-2 ~]# echo "Defaults logfile=/var/log/sudo/log" ; /etc/sudoers
[root@Temp-2 ~]# tail -1 /etc/sudoers
Defaults logfile=/var/log/sudo/log

③、在普通用戶下,執行sudo命令

[nowsun@Temp-2 /]$ sudo ls
app boot etc lib lost+found misc net proc sbin srv tmp var
bin dev home lib64 media mnt opt root selinux sys usr
[nowsun@Temp-2 /]$ sudo /usr/sbin/useradd kkk
useradd: user kkk exists

④、查看/var/log/sudo/log的日誌文件

[root@Temp-2 ~]# cat /var/log/sudo/log
Jan 8 10:44:45 : nowsun : TTY=pts/1 ; PWD=/home/nowsun ; USER=root ; COMMAND=/bin/ls
Jan 8 10:44:51 : nowsun : TTY=pts/1 ; PWD=/home/nowsun ; USER=root ; COMMAND=/bin/ls
Jan 8 10:44:57 : nowsun : TTY=pts/1 ; PWD=/ ; USER=root ; COMMAND=/bin/ls
Jan 8 10:45:36 : nowsun : TTY=pts/1 ; PWD=/ ; USER=root ;
COMMAND=/usr/sbin/useradd kkk

發現已經記錄下來了,後面就可以根據這個日誌來抓出破壞系統的真兇了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章