使用groupmems -l -g 組名選項遇到的問題

groupmems -l -g 組名 顯示的不是附加組的成員,而是顯示的是/etc/group文件的最后一個字段的內容

groupmems -l選項幫助文檔上寫的意思是顯示的是一次組為附加組的用戶列表,但是這是不準確的

那么先創建幾個用戶吧

[root@centos7 ~]#useradd zhao
[root@centos7 ~]#useradd li
[root@centos7 ~]#useradd zhang
[root@centos7 ~]#getent shadow zhao zhang li
zhao:!!:17493:0:99999:7:::
zhang:!!:17493:0:99999:7:::
li:!!:17493:0:99999:7:::

首先先將zhang用戶設為zhang組的組管理員

[root@centos7 ~]#gpasswd -A zhang zhang
[root@centos7 ~]#getent gshadow zhang
zhang:!:zhang:

用zhang用戶管理組,將zhao用戶添加到zhang組

[root@centos7 ~]#su – zhang
[zhang@centos7 ~]$gpasswd -a zhao -g zhang
Adding user zhao to group zhang

但是我們用zhang能不能查看組成員呢?

[zhang@centos7 ~]$getent gshadow zhang

結果組管理員卻不能查看,那么還是用root用戶查看吧

[root@centos7 ~]#getent gshadow zhang
zhang:!:zhang:zhao
[root@centos7 ~]#getent group zhang
zhang:x:1007:zhao
[root@centos7 ~]#id zhao
uid=1002(zhao) gid=1002(zhao) groups=1002(zhao),1007(zhang)

使用groupmems查看

[root@centos7 ~]#groupmems -l -g zhang
zhao

從上面的結果來看zhang組是zhao的附加組,我們可以暫時理解為gshadow和group文件最后一個字段是以此組作為附加組的成員列表,那么現在做一個合理的實驗,為了方便操作我不在切換成zhang用戶管理該組了,現在將zhang用戶添加到zhang組里:

[root@centos7 ~]#gpasswd -a zhang zhang
Adding user zhang to group zhang
[root@centos7 ~]#getent gshadow zhang
zhang:!:zhang:zhao,zhang
[root@centos7 ~]#getent group zhang
zhang:x:1007:zhao,zhang
[root@centos7 ~]#id zhang
uid=1004(zhang) gid=1007(zhang) groups=1007(zhang)

從上面的結果來看,zhang用戶的確被添加到zhang組里了,但是zhang組仍然是zhang用戶的主組,我們用groupmems查看一下

[root@centos7 ~]#groupmems -l -g zhang
zhao zhang

從上面的執行結果來看zhang組是zhang的主組卻也用groupmems -l選項顯示出來了,這就說明groupmems這個命令查看的就不是以此組作為附加組的成員列表了

深究一下,先查看與組有關的文件

[root@centos7 ~]#getent gshadow zhang
zhang:!:zhang:zhao,zhang
[root@centos7 ~]#getent group zhang
zhang:x:1007:zhao,zhang

貌似跟著兩個文件都有關呢,那么修改一下gshadow文件在zhang組最后一個字段的后面添加一個用戶li(其實可以不是用戶,隨便的字符串都行),在group文件在zhang組最后一個字段的后面添加一個不存在的用戶wangcai

[root@centos7 ~]#getent gshadow zhang
zhang:!:zhang:zhao,zhang,li
[root@centos7 ~]#getent group zhang
zhang:x:1007:zhao,zhang,wangcai

添加好后,在執行groupmems -l命令查看結果:

[root@centos7 ~]#groupmems -l -g zhang
zhao zhang wangcai

結果很明顯了,groupmems -l顯示的并不一定是以此組為附加組的用戶列表,該命令是讀取的/etc/group文件中對應組的最后一個字段的全部內容。

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/88830

(4)
ChaogGeChaogGe
上一篇 2017-11-23
下一篇 2017-11-23

相關推薦

  • 系統基礎之文件管理工具

    系統基礎之文件管理工具   linux的重要哲學思想之一,一切皆文件.那作為系統管理員,就要求對文件的操作管理特別熟悉.那么下面介紹的一個工具可以幫助到大家,更有效,快捷的完成對文件的處理.下面讓我們來認識以下的工具. 文本工具: 文件內容:   cat: 復制標準輸入到標準輸出     選項:   &nbs…

    Linux干貨 2016-08-07
  • 為你的網絡傳輸加把鎖(OpenSSL)

    互聯網形成的初期,更多關注的是設備之間通過網絡相互訪問功能的實現,我們都知道,兩個設備之間要想相互通信,就必需遵循某種協議,于是早期的互聯網也出現來眾多的協議,比如傳輸層最著名的協議就是tcp和udp,而應用層比較著名的協議有:http、ftp、pop、smtp、dns、telnet等等,而這些協議這開發初期,更多是關注功能的實現,數據這網絡上傳輸是明文方式…

    Linux干貨 2015-12-06
  • Shell腳本編程之循環(for、while、until)

    Shell腳本編程之循環(for、while、until)   一、循環語句的對比: for語句 while語句 until語句 執行機制: 依次將列表中的元素賦值給“變量名”; 每次賦值后即執行一次循環體; 直到列表中的元素耗盡,循環結束 CONDITION:循環控制條件;進入循環之前,先做一次判斷;每一次循環之后會再次做判斷;條件為“true”…

    Linux干貨 2016-08-18
  • 第七周練習

    1、創建一個10G分區,并格式為ext4文件系統;   (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl;   ~]# mke2fs -t ext4 -b 2048 -m 2 -L…

    Linux干貨 2016-12-10
  • 6個用于大數據分析的最好工具

    大數據是一個含義廣泛的術語,是指數據集,如此龐大而復雜的,他們需要專門設計的硬件和軟件工具進行處理。該數據集通常是萬億或EB的大小。這些數據集收集自各種各樣的來源:傳感器,氣候信息,公開的信息,如雜志,報紙,文章。大數據產生的其他例子包括購買交易記錄,網絡日志,病歷,軍事監控,視頻和圖像檔案,及大型電子商務。  在大數據和大數據分析,他們對企業的影…

    Linux干貨 2015-04-04
  • DHCP服務

    dhcp server: DHCP:Dynamic Host Configuration Protocol     arp –> address resolving Protocol     &nbsp…

    Linux干貨 2016-11-01
欧美性久久久久