賬戶和權限管理
用戶和組賬號概述
Linux基於用戶身份對資源訪問進行控制
用戶帳號:
超級用戶 root 超級用戶,即root用戶,類似於Windows系統中的Administrator用戶,非執行管理任務時不建議使用root用戶登錄系統
普通用戶 普通用戶帳號一般只在用戶自己的宿主目錄中有完全權限
程序用戶 程序用戶:用於維持系統或某個程序的正常運行,一般不允許登錄到系統。例如:bin、daemon、ftp、mail等
組帳號:
基本組(私有組) 創建用戶時指定的組
附加組(公共組) 額外添加的指定組
UID和GID:
UID(User IDentity,用戶標識號)
GID(Group IDentify
l root用戶的UID的固定值為0、root組帳號的GID號為固定值0
l 1~499的UID、GID默認保留給程序用戶使用,普通用戶/組使用的UID、GID號在500~60000之間
用戶賬號文件 /etc/passwd
保存用戶名稱、宿主目錄、登錄Shell等基本信息
文件位置:/etc/passwd
每一行對應一個用戶的帳號記錄
l 基於系統運行和管理需要,所有用戶都可以訪問passwd文件中的內容,但是只有root用戶才能進行更改
l 在早期的UNIX操作系統中,用戶帳號的密碼信息是保存在passwd文件中的,不法用戶可以很容易的獲取密碼字串並進行暴力破解,因此存在一定的安全隱患,後來經改進後,將密碼轉存入專門的
用戶賬號文件 /etc/shadow
保存用戶的密碼、賬號有效期等信息
文件位置:/etc/shadow
每一行對應一個用戶的密碼記錄
字段7:在密碼過期之後多少天禁用此用戶
字段8:帳號失效時間,默認值為空
字段9:保留字段(未使用)
l 默認只有root用戶能夠讀取文件中的內容,並且不允許root直接編輯該文件中的內容
l 上次修改密碼的時間,表示從1970年01月01日(可理解為Unix系統的誕生日)算起到最近一次修改密碼時間隔的天數
l 當加密的密碼信息為“*“或者”!!”時表示此用戶不能登錄到系統,若為空時無需密碼即可登錄系統
添加用戶賬號
useradd命令
格式 useradd [選項]... 用戶名
常用命令選項
-u:指定 UID 標記號
-d:指定宿主目錄,缺省為 /home/用戶名
-e:指定帳號失效時間,格式為YYYY-MM-DD
-g:指定用戶的基本組名(或UID號)
-G:指定用戶的附加組名(或GID號)
-M:不為用戶建立並初始化宿主目錄
-s:指定用戶的登錄Shell
l 對應的基本組和附加組必須已存在
l 另外使用adduser命令也可以添加用戶帳號
用戶賬號的初始配置文件
文件來源
新建用戶帳號時,從 /etc/skel 目錄中復制而來
主要的用戶初始配置文件
~/.bash_profile:用戶每次登錄時執行
~/.bashrc:每次進入新的Bash環境時執行
~/.bash_logout:用戶每次退出登錄時執行
當用戶退出登錄後所記錄的歷史命令將自動清空
l 如需為所有用戶添加登錄後自動運行的命令程序、自動設置變量等,可以直接修改/etc目錄下的類似文件,如/etc/bashrc、/etc/profile文件
設置/更改用戶口令 passwd
passwd命令
格式 passwd [選項]... 用戶名
l 只有root用戶才能進行更改密碼
l 不指定用戶名時,修改當前賬號的密碼
常用命令選項
-d:清空用戶的密碼,使之無需密碼即可登錄
-l:鎖定用戶帳號
-u:解鎖用戶賬戶
-S :查看用戶賬號的狀態(是否被鎖定)
l 標準性密碼輸入:echo “密碼” | passwd --stdin 用戶名
修改用戶賬號的屬性usermod
usermod命令
格式 usermod [選項]... 用戶名
常用命令選項
-l:更改用戶帳號的登錄名稱
-L:鎖定用戶賬戶
-U:解鎖用戶賬戶
以下選項與useradd命令中的含義相同
-u、-d、-e、-g、-G、-s
l usermod有兩個選項“-L”、“-U”,分別用於鎖定、解鎖用戶帳號,這兩個選項與passwd命令的“-l”、“-u”選項作用基本相同,只不過大小寫存在區別
刪除用戶賬號 userdel
userdel命令
格式 userdel [-r] 用戶名
添加 -r 選項時,表示連用戶的宿主目錄一並刪除
組賬號文件
與用戶帳號文件相類似
/etc/group:保存組帳號基本信息
/etc/gshadow:保存組帳號的密碼信息
l group文件內的最後一個字段中列出屬於該組的用戶成員(一般不包括基本組對應的用戶帳號),多個成員之間以逗號“,”分隔
添加組賬號 groupadd
groupadd命令
格式 groupadd [-g GID] 組賬號名
刪除組賬號 groupdel
groupdel命令
格式 groupdel 組帳號名
查詢賬號信息
id命令
用途:查詢用戶身份標識
格式 id [用戶名]
groups命令
用途:查詢用戶所屬的組
格式 groups [用戶名]
finger命令
用途:查詢用戶帳號的詳細信息
格式 finger [用戶名]
users、w 、who命令
用途:查詢已登錄到主機的用戶信息
文件/目錄的權限和歸屬
訪問權限
讀取 r:允許查看文件內容、顯示目錄列表
寫入 w:允許修改文件內容,允許在目錄中新建、移動、刪除文件或子目錄
可執行 x:允許運行程序、切換目錄
歸屬(所有權)
屬主:擁有該文件或目錄的用戶帳號
屬組:擁有該文件或目錄的組帳號
l “-rw-r—r--”部分的第一個字符表示文件類型,可以是d(目錄)、b(塊設備文件)、c(字符設備文件),減號“-”(普通文件)、字母“l”(鏈接文件)等
l 其余部分指定了文件的訪問權限
l 在表示屬主、屬組內用戶或其他用戶對該文件的訪問權限時,主要使用了四種不同的權限字符: r 可讀 ;w 可寫 ;x 可執行 ;- 無權限
l r、w、x、- 權限字符還可分別表示為8進制數字4、2、1、0
l 普通文件的最大權限為6
l 文件夾的最大權限為7
設置文件和目錄的權限 chmod
chmod命令
格式1
格式2
常用命令選項
-R:遞歸修改指定目錄下所有子項的權限
設置文件和目錄的歸屬 chown
chown命令
格式
chown 屬主 文件或目錄
chown :屬組 文件或目錄 也可以通過 chgrp 屬主 文件或目錄,chgrp命令只用於修改屬組信息(因此並不常用)
chown 屬主:屬組 文件或目錄 也可以chown 屬主.屬組
常用命令選項
-R:遞歸修改指定目錄下所有文件、子目錄的歸屬
賬戶和權限管理