1. 程式人生 > >Linux查看用戶屬於哪些組/查看用戶組下有哪些用戶

Linux查看用戶屬於哪些組/查看用戶組下有哪些用戶

swd .cn color 密碼 了解 發現 所屬主 etc 其中

一、關於/etc/group格式的討論

在說/etc/group格式的時候,網上很多文章都會說是“組名:組密碼:組ID:組下用戶列表”,這說法對了解/etc/group格式是沒問題的,但如果碰到“查看用戶屬於哪些組/查看用戶組下有哪些用戶”這個問題上,這種說法會很誤導人。

測試發現“組下用戶列表”中並不包括以該組為主屬組的用戶。這導致的問題就是:

在處理“查看用戶屬於哪些組”時,如果直接使用grep username /etc/group,那麽只能找到用戶所屬的附加組反而漏了最重要的主屬組

在處理“查看用戶組下有哪些用戶”時,如果直接使用grep groupname /etc/group,那麽只能找到以該組為附加組的用戶反而漏了最重要的以其為主屬組的用戶

二、查看用戶屬於哪些組

2.1 使用groups查看

以查看oracle用戶屬於哪些組為例:

技術分享

2.2 結合/etc/passwd和/etc/group查看

以查看oracle用戶屬於哪些組為例:

grep `grep oracle /etc/passwd | cut -d ":" -f 4` /etc/group  | cut -d ":" -f 1 #查看用戶所屬主屬組
grep oracle /etc/group | cut -d ":" -f 1 #查看用戶所有所屬附加組

技術分享

即oracle屬於oinstall組和dba組;其中以oinstall為主屬組,以dba為附加組。

三、查看用戶組下有哪些用戶

以查看oinstall組下有哪些用戶為例

grep `grep oinstall /etc/group | cut -d ":" -f 3 ` /etc/passwd | cut -d ":" -f 1#查看以其為主屬組的用戶
grep oinstall /etc/group | cut -d ":" -f 4 #查看以其為附加組的用戶

技術分享

即ointall組下有oracle,test,test2三個用戶;其中oracle以oinstall為主屬組,test和test2以oinstall為附加組。

Linux查看用戶屬於哪些組/查看用戶組下有哪些用戶