年底將近,各種系統攻擊開始蠢蠢欲動,駭客會透過APT等各種方式發動攻擊,所以這時候預警性的帳號盤點就很重要,這次我會透過幾種方式教大家輕鬆做好使用者帳號盤點,於是就有了寫這篇文章的契機,希望能讓Ubuntu系統管理人員都能透過本文的相關技巧快速掌握,盤點系統所有自建帳號,就趁這次教學把設定與驗證過程中記錄下來,也希望藉由此次分享讓系統管理者能更快掌握Linux主機目前的狀況。
Table of Contents
透過檔案方式取得帳號清單
透過cat 印出/etc/passwd使用者帳號資訊
> cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
:
略
透過cut擷取部分字串,產生帳號清單
❯ cut -d: -f1 /etc/passwd
root
daemon
bin
:
略
透過aws擷取部分字串,產生帳號清單
❯ awk -F: '{print $1}' /etc/passwd
root
daemon
bin
:
略
透過查詢系統資料庫方式取得帳號清單
印出passwd中的帳號資訊
❯ getent passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
:
略
透過cut擷取部分字串,產生帳號清單
❯ getent passwd | cut -d: -f1
root
daemon
bin
:
略
透過aws擷取部分字串,產生帳號清單
❯ getent passwd | awk -F: '{print $1}'
root
daemon
bin
:
略
檢查單一使用者的帳戶資訊
❯ getent passwd username
username:x:1002:1002:NickHuang,,,:/home/username:/bin/bash
檢查單一使用者所屬群組資訊
❯ id username
uid=1002(username) gid=1002(username) groups=1002(username),4(adm),33(www-data)
印出自建的使用者帳號(排除系統帳號)
取得UID_MIN 與UID_MAX的設定值
❯ grep -E '^UID_MIN|^UID_MAX' /etc/login.defs
UID_MIN 1000
UID_MAX 60000
取得UID_MIN=1000與UID_MAX=60000之間的使用者列表
❯ getent passwd {1000..60000}
ubuntu:x:1000:1000:Ubuntu:/home/ubuntu:/bin/bash
user:x:1001:1001:user,,,:/home/user:/bin/bash
:
略
※RDPAPA小提醒:大部分第一筆使用者帳號都是從1001開始建立
整合透過查詢UID_MIN 與UID_MAX的設定值,列出所有自建使用者帳號資訊(完整資訊)
❯ eval getent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)}
ubuntu:x:1000:1000:Ubuntu:/home/ubuntu:/bin/bash
user:x:1001:1001:user,,,:/home/user:/bin/bash
:
略
整合透過查詢UID_MIN 與UID_MAX的設定值,列出所有自建使用者帳號資訊(只印出使用者)
❯ eval getent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)} | cut -d: -f1
ubuntu
user
:
略
Reference
- 官方套件說明-cut:https://manpages.ubuntu.com/manpages/focal/man1/cut.1.html
- Linux 的 cut 擷取部份字元、欄位指令教學與常用範例整理:https://blog.gtwang.org/linux/linux-cut-command-tutorial-and-examples/
- AWK command in Unix/Linux with examples:https://www.geeksforgeeks.org/awk-command-unixlinux-examples/
- How to List Users in Linux:https://linuxize.com/post/how-to-list-users-in-linux/
你好,我是RD爸,希望透過我的紀錄,可以帶給你一些新的想法~ 專注於各式3C產品的開箱評測、程式相關技術及理財筆記。
email ►[email protected]