如何僅列印 /etc/sudoers 中的使用者清單和存取等級?

如何僅列印 /etc/sudoers 中的使用者清單和存取等級?

我們有多個伺服器,我想使用 bash 列印使用者清單和存取等級。

我嘗試了以下命令,但無法獲得我想要的確切結果:

awk '/Allow root/{p=5} p > 0 {print $1; p--}'   /etc/sudoers

上面的指令只給我五個條目,如下圖所示

## 
root    
abcd
ghfd
fcff

但我應該得到如下 O/P:

UserList      AccessLevel
root           ALL
abcd        !/usr/bin/*

我能得到上面的輸出嗎?

答案1

經過如此多的實驗後,我能夠透過以下命令盡可能接近地實現它。

grep "ALL=(ALL)" /etc/sudoers | awk  '{ print $1 "\t""\t""\t" $3 $4}' | cut -d '#' -f1 | cut -d '%' -f1

輸出如下:

xxxx                    ALL
xxxxxx                      ALL
xxxx                 ALL


xxxx                        NOPASSWD:ALL
abcd                 ALL
xxxx                 ALL

但我仍然得到空格分隔的輸出。我想跳過輸出中的空格。

相關內容