1、查看當前用戶之id、whoami
命 令:id
功能說明:查看顯示目前登陸賬戶的uid和gid及所屬分組及用戶名
語 法:id [-gGnru][--help][--version][用戶名稱]
補充說明:id會顯示用戶和所屬群組的實際與有效ID。若兩個ID相同,則僅顯示實際ID。若僅指定用戶名稱,則顯示目前用戶的ID。
這個命令在溢出時常常用到,查看是否是溢出root成功,履行1下id命令,顯示uid=0,則成功了。
參 數:
-g或--group 顯示用戶所屬群組的ID。
-G或--groups 顯示用戶所屬附加群組的ID。
-n或--name 顯示用戶,所屬群組或附加群組的名稱。
-r或--real 顯示實際ID。
-u或--user 顯示用戶ID。
-help 顯示幫助。
-version 顯示版本信息
履行結果:
[root]#id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
[root]#su linuxso
[]$id
uid=505(linuxso) gid=505(linuxso) groups=504(test),505(linuxso)
[root]-> whoami
root
[root]-> id root
uid=0(root) gid=0(root) groups=0(root)
2、查看用戶列表、用戶組之/etc/passwd、/etc/group、/etc/shadow
以下參考:http://blog.chinaunix.net/uid⑵4837409-id⑶174035.html
在Linux中,用戶(User)和用戶組(Group)的配置文件,是作為系統管理員的你最應當了解和掌握的系統基礎文件之1。從另外一方面來講,了解這些文件也是系統安全管理的重要組成部分,作為1個合格的系統管理員1定要對用戶和用戶組配置文件了解透徹才行;
【1】、用戶(User)相干:
談到用戶,就不能不談用戶管理、用戶配置文件、和用戶查詢和管理的控制工具;用戶管理主要通過修改用戶配置文件完成,用戶管理控制工具終究目的也是為了修改用戶配置文件。
那末,甚么是用戶查詢和管理控制工具呢?用戶查詢和控制工具是查詢、添加、修改和刪除用戶等系統管理工具,比如查詢用戶的id和finger命
令,添加用戶的useradd 或adduser 、userdel 用戶的刪除 、設置密碼的passwd命令 、修改用戶usermod
等等;我們需要知道的是通過用戶查詢和控制工具所進行的動作的終究目的也是修改用戶配置文件;所以我們進行用戶管理的時候,直接修改用戶配置文件1樣可以
到達用戶管理的目的。
了解了上面所說的,我們便能實實在在的感覺到用戶(User)配置文件的重要性:其實用戶和用戶組在系統管理中是不可分割的,但為了說明問題,
我們還是得把用戶(User)的配置文件單列出來解說,其中包括/etc/passwd 和/etc/shadow
文件;在這當中,你還能了解UID的重要性;
通過本標題,您可以了解或掌握的內容有:了解/etc/passwd和/etc/shadow;甚么UID ;
與用戶相干的系統配置文件主要有/etc/passwd
和/etc/shadow,其中/etc/shadow是用戶資訊的加密文件,比如用戶的密碼口令的加密保存等;/etc/passwd
和/etc/shadow 文件是互補的;我們可以通過對照兩個文件來差看他們的區分;
1、關于/etc/passwd 和 UID;
/etc/passwd 是系統辨認用戶的1個文件,做個不恰當的比喻,/etc/passwd
是1個花名冊,系統所有的用戶都在這里有登錄記載;當我們以beinan 這個賬號登錄時,系統首先會查閱 /etc/passwd
文件,看是不是有beinan 這個賬號,然后肯定beinan的UID,通過UID 來確認用戶和身份,如果存在則讀取/etc/shadow
影子文件中所對應的beinan的密碼;如果密碼核實無誤則登錄系統,讀取用戶的配置文件;
1)/etc/passwd 的內容理解:
在/etc/passwd 中,每行都表示的是1個用戶的信息;1行有7個段位;每一個段位用:號分割,比以下面是我的系統中的/etc/passwd 的兩行:
beinan:x:500:500:beinan sun:/home/beinan:/bin/bash
linuxsir:x:501:502::/home/linuxsir:/bin/bash
第1字段:用戶名(也被稱為登錄名);在上面的例子中,我們看到這兩個用戶的用戶名分別是 beinan 和linuxsir;
第2字段:口令;在例子中我們看到的是1個x,其實密碼已被映照到/etc/shadow 文件中;
第3字段:UID ;請參看本文的UID的解說;
第4字段:GID;請參看本文的GID的解說;
第5字段:用戶名全稱,這是可選的,可以不設置,在beinan這個用戶中,用戶的全稱是beinan sun ;而linuxsir 這個用戶是沒有設置全稱;
第6字段:用戶的家目錄所在位置;beinan 這個用戶是/home/beinan ,而linuxsir 這個用戶是/home/linuxsir ;
第7字段:用戶所用SHELL 的類型,beinan和linuxsir 都用的是 bash ;所以設置為/bin/bash ;
2)關于UID 的理解:
UID 是用戶的ID 值,在系統中每一個用戶的UID的值是唯1的,更確切的說每一個用戶都要對應1個唯1的UID
,系統管理員應當確保這1規則。系統用戶的UID的值從0開始,是1個正整數,至于最大值可以在/etc/login.defs
可以查到,1般Linux發行版約定為60000; 在Linux 中,root的UID是0,具有系統最高權限;
UID 在系統唯1特性,做為系統管理員應當確保這1標準,UID
的唯1性關系到系統的安全,應當值得我們關注!比如我在/etc/passwd 中把beinan的UID
改成0后,你假想會產生甚么呢?beinan這個用戶會被確認為root用戶。beinan這個帳號可以進行所有root的操作;
UID 是確認用戶權限的標識,用戶登錄系統所處的角色是通過UID 來實現的,而非用戶名,切記;把幾個用戶共用1個UID
是危險的,比如我們上面所談到的,把普通用戶的UID 改成0,和root共用1個UID
,這事實上就造成了系統管理權限的混亂。如果我們想用root權限,可以通過su或sudo來實現;切不可隨便讓1個用戶和root分享同1個UID ;
UID是唯1性,只是要求管理員所做的,其實我們修改/etc/passwd 文件,可以修改任何用戶的UID的值為0,
1般情況下,每一個Linux的發行版都會預留1定的UID和GID給系統虛擬用戶占用,虛擬用戶1般是系統安裝時就有的,是為了完成系統任務所必須的用戶,但虛擬用戶是不能登錄系統的,比如ftp、nobody、adm、rpm、bin、shutdown等;
在Fedora 系統會把前499 個UID和GID 預留出來,我們添加新用戶時的UID
從500開始的,GID也是從500開始,至于其它系統,有的系統可能會把前999UID和GID預留出來;以各個系統中/etc/login.defs
中的 UID_MIN 的最小值為準; Fedora 系統 login.defs的UID_MIN是500,而UID_MAX
值為60000,也就是說我們通過adduser默許添加的用戶的UID的值是500到60000之間;而Slackware
通過adduser不指定UID來添加用戶,默許UID 是從1000開始;
2、關于/etc/shadow ;
1)/etc/shadow 概說;
/etc/shadow文件是/etc/passwd 的影子文件,這個文件其實不由/etc/passwd
而產生的,這兩個文件是應當是對應互補的;shadow內容包括用戶及被加密的密碼和其它/etc/passwd
不能包括的信息,比如用戶的有效期限等;這個文件只有root權限可以讀取和操作,權限以下:
-r――
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
------分隔線----------------------------
------分隔線----------------------------