在 Linux 中,id 命令用于顯示用戶(hù)的真實(shí)有效的用戶(hù)ID和組ID。
本文我們通過(guò)一些例子來(lái)介紹一下如何使用 id 命令。
Linux 中的 id 命令
如下為 id 命令的語(yǔ)法:
id [options] [username]
在實(shí)際命令中,如果沒(méi)有提供 username(即用戶(hù)名),那么該命令將會(huì)顯示當(dāng)前登錄用戶(hù)的信息。
比如,下面例子為在 ubuntu 中顯示當(dāng)前登錄用戶(hù)的信息:
$ 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)
在上面的輸出中,用戶(hù) gliu 的 uid為1000,gid 為 1000,這是用戶(hù) gliu 默認(rèn)所屬的主要組。
除此之外,用戶(hù) gliu 也是某些其他組的成員,這些組也顯示在輸出中。
以下是id命令的最常見(jiàn)選項(xiàng):
“真實(shí)”與“有效”的用戶(hù)ID和組ID
這可能會(huì)讓你感到有些疑惑,什么是 “真實(shí)” 的用戶(hù)ID?什么是 “有效” 的用戶(hù)ID?
在系統(tǒng)中創(chuàng)建用戶(hù)時(shí),會(huì)為其指定用戶(hù)名、用戶(hù)ID(uid)和默認(rèn)的組,該默認(rèn)組的ID就是該用戶(hù)的gid,這就是“真實(shí)”的用戶(hù)ID和組ID。
同時(shí),在Linux中,進(jìn)程可以通過(guò)其他用戶(hù)和組運(yùn)行,所以還有第二組ID,即稱(chēng)為“有效”的ID。
大多數(shù)時(shí)候,“真實(shí)”ID和“有效”ID是相同的。但是也有不同的時(shí)候,也就是使用有效ID的時(shí)候,比如普通用戶(hù)需要修改受保護(hù)的文件,最常見(jiàn)的場(chǎng)景就是使用 passwd 命令修改密碼。修改密碼其實(shí)是修改的 root 用戶(hù)所屬的 /etc/passwd 文件。
id 命令的一些例子
接下來(lái)我們介紹一些使用 id 命令的例子。
1,打印某個(gè)用戶(hù)的 uid 和gid
要打印用戶(hù)的 uid 和 gid,只需在 id 命令后指定用戶(hù)名即可:
id
可以列出 Linux 系統(tǒng)中所有的用戶(hù),以獲取用戶(hù)名。關(guān)于如何列出所有用戶(hù),我們后面會(huì)單獨(dú)介紹。
2,僅打印用戶(hù)的 UID
可以使用 -u 選項(xiàng)來(lái)打印用戶(hù)的 uid。如前所述,如果省略用戶(hù)名,它會(huì)顯示當(dāng)前登錄用戶(hù)的信息。如下語(yǔ)法結(jié)構(gòu):
id -u
注意,這里只會(huì)顯示 uid,它是一個(gè)數(shù)值,而不是名稱(chēng):
$ id -u
1000
3,僅打印用戶(hù)的 gid
可以使用選項(xiàng) -g 來(lái)打印用戶(hù)的 gid。這里所說(shuō)的 gid 是指用戶(hù)所屬的默認(rèn)組的組ID,它是一個(gè)數(shù)值。
id -g
同樣,它只會(huì)顯示組的數(shù)字ID,看下面的例子:
$ id -g nobody
65534
4,打印用戶(hù)所屬的所有其他組的ID
一個(gè)用戶(hù)可以屬于多個(gè)組,這是 Linux 文件系統(tǒng)的基本特性。你可以使用 usermod 命令并將其添加到 sudo 組以授予其 root 權(quán)限。
可以使用 -G 選項(xiàng)顯示用戶(hù)所屬的所有組的 ID:
id -G
同樣,這里也是只顯示ID,為數(shù)值:
$ id -G gliu
1000 4 24 27 30 46 119 130 131
5,打印用戶(hù)名稱(chēng)(而不是數(shù)字ID)
數(shù)字ID可能會(huì)讓人弄混了,所以如果需要的話,可以使用 -n 選項(xiàng),與 -u、-g 或者 -G 結(jié)合使用,來(lái)顯示用戶(hù)名。
比如,如果想要顯示用戶(hù)所屬的所有組,可以這樣使用:
id -nG
我們使用先前的那個(gè)打印用戶(hù)所有組的例子,添加 -n 選項(xiàng),它會(huì)顯示如下內(nèi)容:
$ id -nG gliu
gliu adm cdrom sudo dip plugdev lpadmin lxd sambashare
打印真實(shí)的ID
以上所介紹的例子都顯示的是“有效”的ID,但是幾乎所有時(shí)候其也是“真實(shí)”的ID。但是,如果你想確保獲得“真實(shí)”的ID,可以使用 -r 選項(xiàng),將其與 -u、-g 或者 -G 結(jié)合使用:
id -ru
關(guān)于它的輸出,大家可以自行嘗試一下看看。
審核編輯:劉清
-
Linux系統(tǒng)
+關(guān)注
關(guān)注
4文章
605瀏覽量
28612 -
Ubuntu
+關(guān)注
關(guān)注
5文章
592瀏覽量
31227
發(fā)布評(píng)論請(qǐng)先 登錄
檢查Linux DRM顯示設(shè)備ID的腳本
Linux系統(tǒng)中unlink命令的使用
Linux基本命令總結(jié)
Linux系統(tǒng)命令指南
概述學(xué)習(xí)Linux系統(tǒng)中命令的簡(jiǎn)單方法

Linux中mail命令的使用教程分享
如何去使用這幾個(gè)Linux命令?
如何在Linux使用pidof命令
如何使用ip命令在Linux中進(jìn)行網(wǎng)絡(luò)管理
恒訊科技分析:如何使用cp命令在Linux中復(fù)制目錄?
linux中創(chuàng)建group的命令
Linux系統(tǒng)中shell命令解析
盤(pán)點(diǎn)Linux系統(tǒng)中的常見(jiàn)命令

評(píng)論