Linux賬号與組群
- 切換身份到root
- UID和GID
-
- 檔案如何判斷擁有者群組群?
- 使用者賬号:
- /etc/passwd
-
- 對于其中的内容的分析
- /etc/shadow
-
- 對于其中的内容的分析
- /etc/group
-
- 對于其中的内容分析
- 賬号管理
- 增
-
- 對使用者密碼的操作
- chage
- usermod
- userdel
- 身份的切換
-
- su
- sudu
-
- sudo的流程
- visudo與/etc/sudoers
- Linux主機上使用者資訊的查詢
-
- id [使用者名]
- w和who
- last和lastlog
切換身份到root
Linux賬号與組群主要是針對管理者的操作,進行身份的的切換可以使用指令
su
來進行切換。

輸入的密碼是管理者使用者的密碼。
UID和GID
每個檔案都具有擁有人和擁有組群的屬性
每一個Linux使用者至少會取得兩個ID:使用者ID:UID和所屬組ID:GID
檔案如何判斷擁有者群組群?
每一個檔案都有自己的所有者ID和所屬組群ID,顯示檔案的屬性的時候,系統會自動根據/etc/passwd于/etc/group的内容找到UID/GID對應的賬号于組群名進行顯示。
/etc/passwd
/etc/group
當我們擅自修改/etc/passwd或者/etc/group中的内容。當系統無法找到所對應的使用者名的時候就會顯示UID而不會顯示使用者名,因為失去了對應的關系。
當我把原來的1000修改為10000的時候再進行
ls -l
指令會出現:
所對應的擁有者的使用者名沒有再顯示。
為了避免系統出錯,改動之後盡快還原。
使用者賬号:
登陸系統,利用了tty1-tty7(tty,teletypes,切換Ctrl+Alt+F1)的login接口輸入賬号密碼。
系統的處理:
1.再/etc/passwd中查找是否又該賬号,沒有則退出,如果有就讀出UID和GID。
2.核對密碼,用/etc/shadow核對密碼。
3.如果一切順利就進入shell
/etc/passwd
passwd對于任何的使用者都是可讀的。
用管理者身份進入/etc/passwd,可以進行修改其中的内容。
該檔案内有多少行就有多少名使用者。其中會有一些系統使用者,不要将該使用者删去,容易出現系統的崩潰。
對于其中的内容的分析
對于每一行來說,分成了七個部分,由:将他們分隔開。
1.賬号名稱
2.密碼,但實際上該檔案并不存密碼,系統将使用者的密碼儲存在/etc/shadow中。
3.UID
将某個使用者的UID改為0,就可以使該使用者直接獲得root權限。
4.GID
5.使用者資訊說明,用來描述使用者的作用,可以用root權限網上添加,也可以沒有。
6.家目錄。使用者的家目錄(絕對路徑)。
7.shell
/etc/shadow
對于其中的内容的分析
用:将每一行的内容分成了九個部分。
1.賬号名稱
2.密碼,加密之後的密碼(用SHA512算法),很難會破解,但也不一定不會被破解。
3.最近更改密碼的日期,是一個時間戳,是從1970年1月1号開始進行累加的。(按秒為機關傳回的時間戳)。
4.密碼不可以被更改的天數,(與第三字段相比),如果是0可以随意改。
5.密碼需要重複新變更的天數(第三字段相比)。
6.密碼需要變更期限前的警告天數(第五字段相比)。
7.密碼過期後的賬号寬限天數(第五字段相比),再密碼過期之後,并不會直接将使用者删除,而是有一個寬限天數。
8.賬号失效日期。
9.保留字段。
/etc/group
對于其中的内容分析
用:将其中的内容分成了四個部分。
1.組名
2.組群密碼
3.GID
4.此組群支援的賬号名稱。各個賬号之間用,進行分割,每個組群裡的使用者的多少不是固定的。
賬号管理
就是賬号的增删改查
增
useradd
可以手動用來實作,隻需要在改變了的檔案中寫入一些内容即可。
1.在/etc/passwd下面增加了一行,就是增加了一個使用者,在home下增加了一個目錄。
2.在/etc/shadow下增加了一行,就是用來記錄新增的使用者的密碼。
3.在/etc/group下增加了一行,跟賬戶名一樣的group
useradd -D指令可以用來檢視當使用useradd的時候都做了些什麼事。
(在/etc/shadow中沒有密碼的使用者用!!表示)
1.group=100,建立賬号的初始組群的GID是100。
2.HOME=/home建立使用者的家目錄就是/home目錄。
3.INACTIVE=-1密碼過去後是否會失去配置
4.EXPIRE使用者失效日期
5.SHELL= /bin/sh預設的shell
6.SKLE=/etc/skel如果批量的要建立一些使用者,使用者的初始有某些檔案或者環境變量,可以在/etc/skel中去配置某些檔案。
7.CREATE_MATL_SPOOL=yes使用郵件箱與否。
對使用者密碼的操作
對于沒有密碼的使用者,是不可以使用的,在使用之前要為使用者建立密碼,之後對其進行操作。
passwd [使用者名]
可以為某使用者建立密碼,或者修改密碼。
passwd
給目前的使用者建立密碼或者修改密碼。
passwd -S [使用者名]
顯示使用者目前的在/etc/shadow檔案下的狀态。
chage
chage -l [使用者名]
可以檢視一些使用者目前的年齡資訊。
usermod
可以修改一些初始的useradd時的預設值
userdel
userdel [使用者名]
删除使用者。如果不确定目前使用者是否确定要删除的時候,可以在/etc/shadow中注釋掉(在最後一個字段中寫0即可)。
Linux賬号的組群
身份的切換
使用一般賬号,而不是管理者賬号是一個好習慣,考慮了一些安全的因素,管理者權限太大,容易誤删,誤改一些重要的檔案,導緻系統檔案崩潰。
用較低權限的賬号啟動軟體。
軟體本身的限制。
su
su [使用者名]
可以切換身份使用者名的身份。從管理者身份到普通使用者身份不需要密碼。
su
在一般身份下執行該指令可以将身份切換為管理者。
su - 或者 su -l 時login shell的意思,相當于登入。再不加參數的情況下并不會登入該使用者,
sudu
一開始系統預設隻有root使用者可以運作sudo
sudo是切換身份執行某些指令的意思。
當我需要用某一個使用者去建立某一個檔案,但是該檔案還不可以登入的時候,可以用sudo切換使用者去執行一個指令,一般沒有shell的使用者需要用到該指令。
sudo的流程
1.運作sudo的時候,系統再/etc/sudoers檔案中查找該使用者是否有運作sudo的權限;
2.如果有該權限,讓使用者輸入自己的密碼進行确認。
3.密碼成功就開始執行sudo之後的指令。
4.如果想切換的身份于使用者的身份相同,那麼就無需輸入密碼。
visudo與/etc/sudoers
可以用visudo指令來對檔案/etc/sudoers進行修改。用來對某些使用者添加或減少或修改一些sudo的使用者權限。
1.使用者賬号
2.登陸者來源的主機名
3.可以切換的身份
4.可以執行的指令。
Linux主機上使用者資訊的查詢
id [使用者名]
查詢某使用者的GID UID groups
w和who
查詢目前已經登入了的使用者
last和lastlog
運作
last
運作lastlog
按照使用者進行排列
當用指令
su - [使用者名]
即使使用者名沒有shell無法操作,仍會有登入的