如何使用 id 命令?
如下為 id 命令的語法:
id [options] [username]
在實際命令中,如果沒有提供 username(即使用者名稱),那麼該命令將會顯示當前登入使用者的資訊。
比如,下面例子為在 ubuntu 中顯示當前登入使用者的資訊:
$ id uid=1000(gliu) gid=1000(gliu) groups=1000(gliu),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),119(lpadmin),130(lxd),131(sambashare)
在上面的輸出中,使用者 gliu 的 uid為1000,gid 為 1000,這是使用者 gliu 預設所屬的主要組。
除此之外,使用者 gliu 也是某些其他組的成員,這些組也顯示在輸出中。
以下是id命令的最常見選項:
選項 | 描述 |
-u | 列印有效的使用者ID |
-g | 列印有效的組ID |
-G | 列印使用者所屬的所有組的ID |
-n | 列印名稱(需與-u、-g 或 -G 組合) |
-r | 列印真實ID(需與-u、-g 或 -G 組合) |
這可能會讓你感到有些疑惑,什麼是 “真實” 的使用者ID?什麼是 “有效” 的使用者ID?
在系統中建立使用者時,會為其指定使用者名稱、使用者ID(uid)和預設的組,該預設組的ID就是該使用者的gid,這就是“真實”的使用者ID和組ID。
同時,在Linux中,程式可以透過其他使用者和組執行,所以還有第二組ID,即稱為“有效”的ID。
大多數時候,“真實”ID和“有效”ID是相同的。但是也有不同的時候,也就是使用有效ID的時候,比如普通使用者需要修改受保護的檔案,最常見的場景就是使用 passwd 命令修改密碼。修改密碼其實是修改的 root 使用者所屬的 /etc/passwd 檔案。
接下來我們介紹一些使用 id 命令的例子。
要列印使用者的 uid 和 gid,只需在 id 命令後指定使用者名稱即可:
id <username>
可以列出 Linux 系統中所有的使用者,以獲取使用者名稱。關於如何列出所有使用者,我們後面會單獨介紹。
可以使用 -u 選項來列印使用者的 uid。如前所述,如果省略使用者名稱,它會顯示當前登入使用者的資訊。如下語法結構:
id -u
注意,這裡只會顯示 uid,它是一個數值,而不是名稱:
$ id -u 1000
可以使用選項 -g 來列印使用者的 gid。這裡所說的 gid 是指使用者所屬的預設組的組ID,它是一個數值。
id -g
同樣,它只會顯示組的數字ID,看下面的例子:
$ id -g nobody 65534
一個使用者可以屬於多個組,這是 Linux 檔案系統的基本特性。你可以使用 usermod 命令並將其新增到 sudo 組以授予其 root 許可權。
可以使用 -G 選項顯示使用者所屬的所有組的 ID:
id -G <username>
同樣,這裡也是隻顯示ID,為數值:
$ id -G gliu 1000 4 24 27 30 46 119 130 131
數字ID可能會讓人弄混了,所以如果需要的話,可以使用 -n 選項,與 -u、-g 或者 -G 結合使用,來顯示使用者名稱。
比如,如果想要顯示使用者所屬的所有組,可以這樣使用:
id -nG <username>
我們使用先前的那個列印使用者所有組的例子,新增 -n 選項,它會顯示如下內容:
$ id -nG gliu gliu adm cdrom sudo dip plugdev lpadmin lxd sambashare
以上所介紹的例子都顯示的是“有效”的ID,但是幾乎所有時候其也是“真實”的ID。但是,如果你想確保獲得“真實”的ID,可以使用 -r 選項,將其與 -u、-g 或者 -G 結合使用:
id -ru <username>
關於它的輸出,大家可以自行嘗試一下看看。
以上就是本次分享全部內容,歡迎討論。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901823/viewspace-2926915/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux 中如何使用 id 命令Linux
- 如何使用 date 命令
- [android]android-am命令的使用Android
- 如何使用 Glances 命令監控
- CAD剪下命令如何使用
- CAD如何使用映象命令
- CAD如何使用倒角命令
- 命令模式下如何使用Jaas?模式
- chattr命令如何使用?Linux運維核心命令Linux運維
- Linux中Type命令如何使用Linux
- 如何使用grep命令的排除功能
- CAD複製命令如何使用
- CAD移動命令如何使用
- CAD如何使用旋轉命令
- CAD如何使用縮放命令
- CAD如何使用任意線命令
- CAD如何使用打斷命令
- CAD如何使用陣列命令陣列
- Linux中如何使用alias命令Linux
- [Android]getevent,sendevent,input命令的使用Androiddev
- oracle工具之nid命令的使用Oracle
- 【android】android使用命令模擬按鍵Android
- 如何使用 IdGen 生成 UIDUI
- windows下tftp命令,windows如何使用 tftp 和 telnet 命令WindowsFTP
- Linux系統如何使用Fuser命令Linux
- 如何使用curl命令下載檔案
- CAD如何使用離散曲線命令
- CAD倒圓角命令如何使用
- CAD橢圓弧命令如何使用
- 如何在Linux中使用 Truncate 命令Linux
- 命令列客戶端MySQL如何使用命令列客戶端MySql
- 如何在Linux中使用awk命令Linux
- 使用命令列 + 代理更新 Android SDK命令列Android
- grid使用者asmcmd命令相關ASM
- 使用pidstat命令監視某程式的資源使用
- windows下tftp命令,windows 7 如何使用 tftp 和 telnet 命令WindowsFTP
- Android 中如何使用動畫Android動畫
- 如何使用命令列管理Git倉庫命令列Git