• 跳至主要導覽
  • 跳至主要內容
  • 跳至主要資訊欄
Office 指南

Office 指南

辦公室工作實用教學

  • Excel
  • Word
  • PowerPoint
  • Windows
  • PowerShell
  • R

Linux 以 id 指令查詢使用者 UID 與群組 GID 教學與範例

介紹如何在 Linux 系統上使用 id 指令查詢使用者帳號的相關資訊。

查詢使用者帳號 ID 相關資訊

id 指令可以用來查詢使用者帳號 ID 與各群組 ID 資訊:

# 查詢目前使用者的帳號 ID 與各群組 ID 資訊
id
uid=1000(myuser) gid=1000(myuser) groups=1000(ubuntu),4(adm),20(dialout),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),108(lxd),114(netdev)

亦可指定要查詢的使用者:

# 查詢 myuser 使用者的帳號 ID 與各群組 ID 資訊
id myuser2
uid=1001(myuser2) gid=1001(myuser2) groups=1001(myuser2)

查詢使用者與群組 ID

當建立使用者時,會指定使用者 ID 與預設群組 ID,這個使用者 ID 與群組 ID 就是所謂的真實使用者 ID(Real UID,即 RUID)與真實群組 ID(Real GID,即 RGID)。

由於 Linux 系統上的行程可以用其他的使用者或群組權限來執行,所以當程式在執行時可能會以其他的使用者身分來執行,這就是有效使用者 ID(Effective UID,即 EUID)與有效群組 ID(Effective Group ID,即EGID)。在大部分的狀況下,真實與有效的 UID 與 GID 會是一樣的。

若要取得有效的 UID 與 GID,可以使用 -u 與 -g 參數:

# 有效使用者 ID
id -u
1000
# 有效群組 ID
id -g
1000

若要取得真實的 UID 與 GID,可以使用 -ru 與 -rg 參數:

# 真實使用者 ID
id -ru
1000
# 真實群組 ID
id -rg
1000

若要查詢使用者隸屬的所有群組 ID,可以使用 -G 參數:

# 列出使用者隸屬的所有群組 ID
id -G
1000 4 20 24 25 27 29 30 44 46 108 114

檢查執行者是否為 root

若在 bash shell 指令稿中需要檢查執行者是否為 root,可以透過 id 檢查 UID 是否為 0 來判斷:

#!/bin/bash
# 檢查是否以 root 權限執行
if [[ `id -u` -ne 0 ]]; then
  echo "I am not root." 
  exit 1
fi

若在 bash shell 中除了使用標準的 id 指令之外,也可以直接從 $EUID 這個特殊變數取得有效使用者 ID,根據此 ID 來判斷執行者是否為 root:

#!/bin/bash
# 檢查是否以 root 權限執行
if [[ $EUID -ne 0 ]]; then
  echo "I am not root." 
  exit 1
fi

參考資料

  • Linux Handbook:How to Use the id Command in Linux: 5 Useful Examples

分類:Linux 標籤:Bash

讀者互動方式

發佈留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

主要資訊欄

搜尋

近期文章

  • C++ 語言使用 Crypto++ 實作 RSA 數位簽章教學與範例
  • C++ 語言使用 Crypto++ 實作 RSA-OAEP 搭配 SHA256 加密教學與範例
  • C++ 語言使用 Crypto++ 實作 AES 加密、解密、認證加密教學與範例
  • C++ 語言使用 Crypto++ 實作 MD5、SHA1、SHA2、BLAKE2 雜湊教學與範例
  • Ubuntu Linux 安裝、使用 Crypto++ 加密函式庫教學與範例
  • C 語言使用 OpenSSL 實作橢圓曲線 ECDH 金鑰交換教學與範例
  • Python 以 eciespy 實作 ECC 非對稱式加密方法教學與範例
  • C 語言使用 OpenSSL 實作 PBKDF2 教學與範例

推薦網站

  • Udemy 線上教學課程
  • Coursera 線上教學課程

關注本站

  • 電子郵件
  • Facebook

公益

  • 家扶基金會
  • 台灣世界展望會
  • Yahoo 奇摩公益
  • igiving 公益網
  • 兒福聯盟

Copyright © 2021 · Office Guide