Linux 如何高效率的查詢使用者列表

2020-10-06 18:00:13

  我用的是Kali Linux做演示

  當我們使用Linux卻不知道新增了多少使用者,做法如下:

  1. w 命令顯示目前登入系統的使用者資訊:
    在這裡插入圖片描述
      在用w命令檢視當前使用者後,可用su命令進行切換,
  2. cat /etc/passwd 可以檢視所有使用者的列表 :
    在這裡插入圖片描述
      缺點是,資訊量太多,不是很醒目的看到有多少使用者。
  3. cat /etc/group 檢視使用者組(效果和2一樣):
    在這裡插入圖片描述

Linux下檢視使用者列表最高效的命令:

  1. cat /etc/passwd|grep -v nologin|awk -F":" ‘{ print $1"|"$3"|"$4 }’|more (最精簡)
    在這裡插入圖片描述
  2. cat /etc/passwd|grep -v nologin|grep -v halt|grep -v shutdown|awk -F":" ‘{ print $1"|"$3"|"$4 }’|more
    (如果想檢視更多的內容可以改用次命令,在不同狀態下會顯示不同。)
    在這裡插入圖片描述
      命令簡略講解:
        ●  passwd 是個文字檔案, 它包含了一個系統帳戶列表, 給出每個帳戶一些有用的資訊,比如使用者 ID,組 ID, 家目錄, shell,等. 通常它也包含了每個使用者經過加密的密碼. 它通常應該是可讀的(許多命令,工具程式,象 ls (1) 用它做使用者 Id 到使用者名稱稱的對映),但是隻允許超級使用者有寫方式許可權。passwd此外做為命令使用時,是更改使用者的密碼。
        ●  /etc/nologin 檔案給系統管理員提供了在 Linux 系統維護期間禁止使用者登陸的方式。如果系統中存在 /etc/nologin 檔案那麼普通使用者登陸就會失敗。這是一種提高安全性和防止資料不同步現象。
          建立 /etc/nologin 檔案時,我們多用touch命令,例如:touch /etc/nologin,就這麼簡單。
          同時,這個檔案會在系統關機或者重新啟動的時候由管理員自動建立,然後處理相應程式的退出停止工作,並在處理完工作後將 /etc/nologin 檔案刪除,但是如果這個時候直接按電源關機,那麼在這個檔案就不i會被自動刪除,那麼就有可能導致再次啟動後,普通使用者無法登陸的問題出現,只要刪除檔案就好了。
        ●  在第5個命令處,halt和shutdown都是用來關機的命令,只不過halt是在系統的 runlevel 為 0 或 6 ,關閉系統,否則以呼叫shutdown命令,並以-h引數的方式來替代(shutdown -h 也是在Linux中最安全的關機方式),halt會把所有使用者都關閉,所以請慎用,而shutdown則是當前,這也是為什麼halt一般在#許可權下才可執行(給普通使用者給予許可權後也是可以的),而shutdown在任何賬號下均可的原因。
         所以,讀者應該明白,第5條命令的意思了,通過檢視擁有關機許可權的使用者來判斷使用者數目。
        ●  而awk命令則是Linux中檔案處理非常強大的命令,其實他更像一門程式語言,他可以自定義變數,有條件語句,有迴圈,有陣列,有正則,有函數等。他讀取輸出,或者檔案的方式是一行,一行的讀,根據你給出的條件進行查詢,並在找出來的行中進行操作,感覺他的設計思想,真的很簡單,但是結合實際情況,具體操作起來就沒有那麼簡單了。他有三種形勢,awk,gawk,nawk,平時所說的awk其實就是gawk。在第5命令中awk 後面引數-F相當於內建變數FS, 指定分割字元。

    想要進一步瞭解awk命令可以點選以下連結,進一步學習瞭解awk命令:

      1.  Awk百度百科:
      2.  菜鳥教學 Linux awk命令詳解
      3.  awk命令詳細豐富的教學(1)
        awk命令詳細豐富的教學(2)