使用者在終端介面通過login介面,輸入帳號密碼後,linux系統做了什麼?
先找尋 /etc/passwd 裡面是否有你輸入的賬號?如果沒有則跳出,如果有的話則將該賬號對應的 uid 與gid (在 /etc/group 中) 讀出來,另外,該賬號的家目錄與 shell 設定也一併讀出;
linux 會進入 /etc/shadow 裡面找出對應的賬號與 uid,然後核對一下你剛剛輸入的密碼與裡頭的密碼是否相符;
如果一切都 ok 的話,就進入 shell 控管的階段囉
/etc/passwd檔案結構
檔案每一行代表乙個帳號
e.g.
root:x:0
:0:root
:/root
:/bin/bash
帳號名稱
密碼(以x代替,實際密碼加密儲存在/etc/shadow中)
uid (user id)(0代表root,1~999為系統帳號,1000~給一般使用者用的)
gid (group id)(與/etc/group有關)
使用者資訊說明欄
家目錄shell (用哪個帳號登入時獲取的shell)
/etc/group檔案結構
檔案每一行代表乙個群組
e.g.
root
:x:0:
組名
群組密碼(以x代替,實際密碼儲存在/etc/gshadow中)
gid
在此群組中的帳號(我們知道乙個賬號可以加入多個群組,那某個賬號想要加入此群組時,將該賬號填入這個字段即可。 舉例來說,如果我想要讓 a與 b 也加入 root 這個群組,注意不要有空格, 使成為root:x:0:a,b )(其中初始群組(initial group)的使用者已預設加入,因此不會在顯式寫出,比如在這個root群組中root這個帳號已經預設加入,因此第四段為空)
答:針對已經存在的檔案和目錄,只要是加入的群組的功能均可使用;新建檔案或目錄時,檔案和目錄的群組應為這個使用者的有效群組
通過groups指令可以獲取當前使用者加入的所有群組,顯示出的第乙個群組即為有效群組
在root環境中可以使用usermod指令給使用者添**組
新增使用者以及使用者密碼的指令useradd
[-u uid]
[-g 初始群組]
[-g 次要群組]
[-mm]
[-c 說明欄]
[-d 家目錄絕對路徑]
[-s shell] 使用者賬號名
passwd
[賬號名稱]
刪除使用者的指令userdel [-r] 帳號名稱 //-r表示家目錄刪除掉
acl 是 access control list 的縮寫,主要的目的是在提供傳統的 owner,group,others 的read,write,execute 許可權之外的細部許可權設定。acl 可以針對單一使用者,單一檔案或目錄來進行r,w,x 的許可權規範,對於需要特殊許可權的使用狀況非常有幫助
那 acl 主要可以針對哪些方面來控制許可權呢?他主要可以針對幾個專案:
1. 使用者 (user):可以針對使用者來設定許可權;
2. 群組 (group):針對群組來設定其許可權;
3. 預設屬性 (mask):還可以針對在該目錄下在建立新檔案/目錄時,規範新資料的預設許可權;
Linux帳號管理與ACL許可權 帳號與群組
1 帳號與群組 1 etc passwd a 記錄uid gid與帳號之間的對應關係 b uid為0,代表系統管理員 1 499,為系統帳號 500後,為自定義帳號 2 etc shadow a 記錄帳號和口令的對應關係 b 帳號與passwd中相同 3 etc group a 記錄gid與組名之間...
Linux 帳號管理與 ACL 許可權設定
1.linux 的賬號與群組 1.1 使用者識別 uid 與 gid 1.2 使用者賬號 etc passwd,etc shadow 1.3 關於群組 有效與初始群組 groups,newgrp 2.賬號管理 2.1 新增與移除使用者 useradd,相關設定檔,passwd,usermod,use...
Linux帳號與身份管理
增加使用者 sudo useradd tom 更改密碼 sudo passwd tom,當然必須設定了密碼,這個帳號才會被系統啟用 修改使用者tom說明欄 sudo usermod c 湯姆 tom 禁用乙個使用者 sudo usermod l tom 啟用被禁用的使用者 sudo usermod ...