linux賬號與身份管理

2021-06-16 07:37:56 字數 4708 閱讀 3329

linux賬號與身份管理

1.      linux賬號與使用者組

使用者識別符號:uid與gid

雖然我們平時在登入linux主機的時候,會輸入賬號,但是linux並不會直接認識我們的賬號,它認識的僅僅是id。id是一串數字,儲存在/etc/passwd中。而賬號僅僅是為了方便我們記憶而已。

linux一共有兩種id,即uid和gid,uid是使用者身份的標識,gid是群組的標識,它存在/etc/shadow中。

2.      使用者賬號

當我們登入主機時,會出現乙個login介面提示我們登入,這時輸入我們的賬號和密碼後,linux會做什麼呢?

1)     先查詢/etc/passwd看是否有這個賬號,如果沒有則退出,反之讀出該使用者的uid,gid,shell以及家目錄等資訊。

2)     linux進入/etc/shadow中查詢對應的賬號與uid,判斷使用者輸入的密碼與裡面的密碼是否一致。

3)     如果一切相符,則進入shell的掌控階段。

由上面的流程可以得知,與賬號有關的最重要的兩個檔案就是/etc/passwd以及/etc/shadow,乙個管賬號,乙個管密碼。

/etc/passwd檔案結構

root:x:0:0:root:/root:/bin/bash

huli:x:500:500:huli:/home/huli:/bin/bash

其中每一行代表乙個字段,有一些賬號是系統正常執行所必須得,我們稱它們為系統賬號,每一行共有7個字段,使用』:』分隔開

1)使用者名稱

2)密碼,一般是乙個』x』,由於安全起見,現在的版本中密碼都移到了/etc/shadow中。

3)uid

4)gid

5)賬戶描述資訊

6)使用者家目錄

7)該使用者預設的shell

注意:當uid是0時,表示這個賬戶是系統管理員,因此,要使乙個賬號變成系統管理員,可以將它的uid設成0。

/etc/shadow檔案結構

root:$1$3furypzx$cxcc2ghsgpjp7mzbwaal:15251:0:99999:7:::

同樣,shadow的每一行也代表乙個賬戶,也是以』:』分隔,但是它有9個字段。

1)使用者名稱,與passwd對應

2)密碼:這是真正的密碼,經過加密,如果密碼欄的第乙個字元是』*』或者是』!』,表示這個賬號並不會用來登入。

3)最近更改密碼的日期,這是距離2023年1月1日的天數。

4)密碼不可更改的天數:這個字段表示這個賬號的密碼需要經過幾天後才能更改,如果是0的話,表示密碼隨時可以更改。

5)密碼需要重新更改的天數:如果為99999的話,表示密碼不需要更改

6)密碼更改期限前的警告期限

8)賬號失效日期,這個欄位是自2023年以來的總日數。

9)保留

有效使用者組與初始使用者組

初始使用者組:新增加乙個賬戶時的預設使用者組

有效使用者組:新建立乙個檔案時,檔案所屬的使用者組

可以使用groups來檢視當前使用者所屬的使用者組,在輸出地訊息中,第乙個輸出的使用者組就為有效使用者組。我們可以使用newgrp來改變我們的有效使用者組。

useradd username

引數:-u : 後面接uid,是一組數字。直接給這個賬號制定乙個特定的uid

-g : 後面接的使用者組名稱就是上面提到的初始使用者組。

-g: 後面接的使用者組名稱是這個賬號還可以支援的使用者組

-m: 強制,不要建立使用者家目錄。

-m : 強制,要建立使用者家目錄。

-c : 這個是/etc/passwd第5欄的說明內容。

-d : 指定某個目錄稱為家目錄,而不要使用預設值。

-r : 建立乙個系統賬號,這個賬號的uid會有限制(/etc/login.defs)

-s : 使用的預設shell

這個命令可能會更改的檔案有:

/etc/passwd

/etc/shadow

/etc/group

/etc/gshadow

/home/username

/etc/default/useradd

/etc/login.defs

/etc/skel/*

passwd(更改密碼)

passwd [-lunxws] username

引數:-l : 將username賬號的密碼鎖住(lock),在/etc/shadow內的密碼欄修改。

-u: 將-l的lock解開

-n: 後面接天數,/etc/shadow內的第四欄

-x: 後面接天數,/etc/shadow內的第五欄

-w: 後面接天數,/etc/shadow內的第六欄

-s: 顯示當前這個username的相關資訊

注意:所有的使用者均可使用passwd來修改自己的密碼,但只有root可以使用該命令修改別人的密碼

usermod(用於修改賬號相關的資訊)

usermod [-cdegglsulu] username

引數:-c  : 後面接賬號的說明,/etc/passwd的第5欄

-d  : 後面接賬號的家目錄,/etc/passwd的第6欄

-e  : 後面接日期,格式是yyyy-mm-dd,/etc/shadow的第8欄

-g  : 後面接group name,/etc/passwd的第4欄

-g  : 修改該使用者所支援的使用者組,修改的是/etc/group

-l   :後面接賬號名稱,/etc/passwd的第一欄

-s   :後面接shell的實際檔案,如果/bin/bash

-u   :後面接uid,/etc/passwd第3欄

-l   :暫時凍結使用者,即修改/etc/shadow的密碼欄

-u   :將/etc/shadow密碼欄的!去掉,解凍。

userdel(刪除賬戶)

userdel [-r] username

引數:-r : 連同使用者的家目錄一起刪除

切換使用者身份(su,sudo)

su可以切換到root身份,不過需要root密碼。如果直接使用su,那麼mail/path/user等環境變數還是原來登陸者的(注意home變數會切換),如果希望在切換身份時環境變數也跟著變,那麼建議使用su -。

su [-lmc] [username]

引數:-          : 如果執行su –時,表示該使用者想要變換身份成為root,且使用root的環境引數檔案,如/root/.bash_profile等

-l   : 後面可以接使用者,例如su –l huli,這個-l的好處是,可使用變換身份者

的所有相關環境設定檔案。

-m  :-m與-p是一樣的,表示「使用當前環境設定,而不重新讀取新使用者的設定檔案」

-c   :僅進行一次命令,-c後面接命令。

sudo的乙個弊端是普通使用者必須知道管理員的密碼,當系統中有許多使用者時,

如果每個使用者都知道管理員密碼,便存著者安全隱患。這個時候,可以使用

sudo,sudo是如何工作呢?

當使用者執行sudo時,系統會先查詢/etc/sudoers檔案,判斷使用者是否有sudo。

如果有許可權,便提示使用者輸入自己的密碼來確認。

若密碼輸入成功,便可執行命令。

sudo [-u [username|#uid]] command

引數:-u : 後面接使用者賬號名稱,或者是uid。

手動增加使用者

如果要手動增加使用者,必須清楚得了解到所有相關的設定檔案。

一般,手動增加使用者會涉及到以下幾個檔案的修改:

/etc/passwd

/etc/shadow

/etc/group

/etc/gshadow

/home/username

系統提供了一些工具來保證手動新增使用者的安全性

peck

它能夠檢查/etc/passwd賬號設定檔案內的資訊,以及實際的家目錄是否存在

等資訊,還可以比較/etc/passwd、/etc/shadow的資訊是否一致,另外,如果

/etc/passwd內德資料字段錯誤,也會提示修改。

pwconv

這個命令的目的是將/etc/passwd內的賬號與密碼移到/etc/shadow中。

pwunconv

這個命令的目的是將/etc/shadow內的密碼欄資料寫回到/etc/passwd中。

grpconv

這個命令的目的是將/etc/group內的賬號與密碼移動到/etc/gshadow中

chpasswd

這個命令可以讀入未加密前的密碼,並且經過加密後,將加密後的密碼寫入

/etc/shadow中。它可以由標準輸入讀入資料,每個資料的格式是:

「username:password」

例:echo 「skind:user!@#」 | chpasswd

Linux賬號與身份管理

1.ulimit限制 2.umask特殊許可權限制 3.身份管理 grep user1 etc group etc passwd etc shadow root x 0 0 root root bin bash liudongwei x 1000 1000 liudongwei,home liudo...

Linux 賬號與許可權管理

不同的身份,不同的許可權 uid為 0 代表root 1 999 代表程式使用者 1000 60000 代表普通使用者 組帳號uid和gid 儲存使用者名稱 宿主目錄 登陸shell等基本資訊 帶有 bin bash 表示此賬號可以登陸系統 帶有 sbin nologin 表示此賬號不能登陸系統 儲...

Linux賬號與許可權管理

10.查詢賬戶資訊 二 管理目錄和檔案的屬性 2.檢視檔案 目錄的許可權和歸屬 3.設定檔案和目錄的許可權chmod 4.設定檔案和目錄的歸屬chown 5.設定目錄和檔案的預設許可權umask linux基於使用者身份對資源訪問進行控制 使用者賬號 組賬號uid與gid uid 使用者標識號 gi...