<b> </b><b>《</b><b>linux</b><b>系統管理》理論課</b><b> </b>
<b>第四章</b><b> </b><b>管理使用者和檔案權限</b>
<b> </b>
2.1使用者群組賬号概述
<b>1)</b><b>使用者賬号:超級使用者,普通使用者和程式使用者。</b>
Ø <b>超級使用者,即root</b><b>使用者,類似于Windows</b><b>系統中的Administrator</b><b>使用者, </b><b>非執管理任務時不建議使用root</b><b>使用者登入系統</b>
Ø <b>普通使用者帳号一般隻在使用者自己的宿主目錄中有完全權限</b>
Ø <b>程式使用者:用于維持系統或某個程式的正常運作,一般不允許登入到系統。例如:bin</b><b>、daemon</b><b>、ftp</b><b>、mail</b><b>等</b>
<b>2)</b><b>組賬号</b>
<b>基本組(私有組):每個使用者至少有一個組。</b>
<b>附件組(公共組):同時包括在其他組中。</b>
<b>3)</b><b>UID</b><b>和GID</b>
Ø <b>root</b><b>使用者的UID</b><b>的固定值為0</b><b>、root</b><b>組帳号的GID</b><b>号為固定值0 </b>
Ø <b>1~499</b><b>的UID</b><b>、GID</b><b>預設保留給程式使用者使用,普通使用者/</b><b>組使用的UID</b><b>、GID</b><b>号在500</b><b>~60000</b><b>之間</b>
<b>2.2 </b><b>使用者賬号管理</b>
<b> 1</b><b>) </b><b>使用者賬号檔案</b>
<b> A . passwd</b><b>檔案位置:/etc/passwd</b>
<b> </b><b>例:benet:x:500:500:BENET Student User:/home/benet:/bin/bash</b>
<b>字段1</b><b>:使用者帳号的名稱</b>
<b> </b><b>字段2</b><b>:使用者密碼字串或者密碼占位符“x”</b>
<b> </b><b>字段3</b><b>:使用者帳号的UID</b><b>号</b>
<b> </b><b>字段4</b><b>:所屬基本組帳号的GID</b><b>号</b>
<b> </b><b>字段5</b><b>:使用者全名</b>
<b> </b><b>字段6</b><b>:宿主目錄</b>
<b> </b><b>字段7</b><b>:登入Shell</b><b>資訊</b>
<b> B</b><b>.shadow</b><b>檔案位置:/etc/shadow</b>
<b> </b><b>例benet:$1$po/zD0XK$4HSh/Aeae/eJ6dNj1k7Oz1:14495:0:99999:7:::</b>
<b> </b><b>字段1</b><b>:使用者帳号的名稱</b>
<b>字段2</b><b>:加密的密碼字串資訊</b>
<b> </b><b>字段3</b><b>:上次修改密碼的時間</b>
<b> </b><b>字段4</b><b>:密碼的最短有效天數,預設值為0</b>
<b> </b><b>字段5</b><b>:密碼的最長有效天數,預設值為99999</b>
<b> </b><b>字段6</b><b>:提前多少天警告使用者密碼将過期,預設值為7</b>
<b> </b><b>字段7</b><b>:在密碼過期之後多少天禁用此使用者</b>
<b> </b><b>字段8</b><b>:帳号失效時間,預設值為空</b>
<b> </b><b>字段9</b><b>:保留字段(未使用)</b>
<b>2)</b><b>useradd</b><b>指令——添加使用者賬戶</b>
<b> A </b><b>格式:useradd [</b><b>選項]... </b><b>使用者名</b>
<b>B </b><b>常用指令選項</b>
<b>-u</b><b>:指定 UID </b><b>标記号</b>
<b>-d</b><b>:指定宿主目錄,預設為 /home/</b><b>使用者名</b>
<b>-e</b><b>:指定帳号失效時間:YYYY-MM-DD</b>
<b>-g</b><b>:指定使用者的基本組名(或UID</b><b>号)</b>
<b>-G</b><b>:指定使用者的附加組名(或GID</b><b>号)</b>
<b>-M</b><b>:不為使用者建立并初始化宿主目錄</b>
<b>-s</b><b>:指定使用者的登入Shell</b>
<b>3)</b><b>passwd</b><b>指令——為使用者設定密碼</b>
<b>A </b><b>格式:passwd [</b><b>選項]... </b><b>使用者名</b>
<b>B </b><b>常用指令選項</b>
<b>-d</b><b>:清空使用者的密碼,使之無需密碼即可登入</b>
<b>-l</b><b>:鎖定使用者帳号</b>
<b>-S</b><b>:檢視使用者帳号的狀态(是否被鎖定) </b>
<b>-u</b><b>:解鎖使用者帳号</b>
<b> 4</b><b>)usermod</b><b>指令——修改使用者賬戶屬性</b>
<b> A </b><b>格式:usermod [</b><b>選項]... </b><b>使用者名</b>
<b>B </b><b>常用指令選項</b>
<b>-l</b><b>:更改使用者帳号的登入名稱</b>
<b>-L</b><b>:鎖定使用者賬戶</b>
<b>-U</b><b>:解鎖使用者賬戶</b>
<b>以下選項與useradd</b><b>指令中的含義相同</b>
p <b> -u</b><b>、-d</b><b>、-e</b><b>、-g</b><b>、-G</b><b>、-s</b>
<b>注意:usermod</b><b>有兩個選項“-L”</b><b>、“-U”</b><b>,分别用于鎖定、解鎖使用者帳号,這兩個選項與passwd</b><b>指令的“-l”</b><b>、“-u”</b><b>選項作用基本相同,隻不過大小寫存在差別 </b>
<b>5</b><b>)userdel</b><b>指令——删除使用者賬戶</b>
<b>a)</b><b>格式:userdel [-r] </b><b>使用者名</b>
<b>b)</b><b>添加 -r </b><b>選項時,表示連使用者的宿主目錄一并删除</b>
<b>6)</b><b>使用者賬戶的初始化配置檔案</b>
<b>A </b><b>檔案來源</b>
<b>建立使用者帳号時,從 /etc/skel </b><b>目錄中複制而來</b>
<b>B </b><b>主要的使用者初始配置檔案</b>
<b>~/.bash_profile</b><b>:使用者每次登入時執行</b>
<b>~/.bashrc</b><b>:每次進入新的Bash</b><b>環境時執行(登陸時執行嗎)</b>
<b>~/.bash_logout</b><b>:使用者每次登出時執行</b>
<b>2.3 </b><b>組賬戶管理</b>
<b> 1</b><b>)組賬戶檔案</b>
<b> </b><b>與使用者帳号檔案相類似</b>
<b>/etc/group</b><b>:儲存組帳号基本資訊</b>
<b>/etc/gshadow</b><b>:儲存組帳号的密碼資訊(很少用)</b>
<b> 2</b><b>)groupadd</b><b>指令——添加組賬戶</b>
<b> 3</b><b>)gpasswd</b><b>指令——添加、删除組成員</b>
<b> </b><b>例如:gpasswd –a(add)/-d(delete) mike(</b><b>使用者) root</b><b>(組)</b>
<b>4)</b><b>groupdel</b><b>指令——删除組賬戶</b>
<b>格式:groupdel </b><b>組名稱</b>
<b>2.4</b><b>使用者群組賬号查詢。</b>
<b>1</b><b>) id</b><b>指令</b>
<b>用途:查詢使用者身份辨別</b>
<b>格式:id [</b><b>使用者名]</b>
<b>2</b><b>)groups</b><b>指令</b>
<b>用途:</b><b>查詢使用者所屬的組</b>
<b>格式:groups [</b><b>使用者名]</b>
<b>3</b><b>)finger</b><b>指令</b>
<b>用途:查詢使用者帳号的詳細資訊</b>
<b>格式:finger [-l] [</b><b>使用者名]</b>
<b>4</b><b>)users</b><b>、w </b><b>、who</b><b>指令</b>
<b>用途:查詢已登入到主機的使用者資訊</b>
<b>2.5</b><b>圖形化得使用者和管理工具</b>
<b> </b><b>打開方式:system-config-users</b><b>後輸入管理者密碼</b>
<b>1. 管理檔案/目錄的權限和歸屬</b>
<b>權限</b>
<b>讀取:允許檢視檔案内容、顯示目錄清單</b>
<b>寫入:允許修改檔案内容,允許在目錄中建立、移動、删除檔案或子目錄</b>
<b>可執行:允許運作程式、切換目錄</b>
<b>歸屬(所有權)</b>
<b>屬主:擁有該檔案或目錄的使用者帳号</b>
<b>屬組:擁有該檔案或目錄的組帳号</b>
<b> 3.1</b><b>檢視檔案/</b><b>目錄的權限和歸屬</b>
<b> </b>
<b>注意:“-rw-r—r--”</b><b>部分的第一個字元表示檔案類型,可以是d(</b><b>目錄)</b><b>、b(</b><b>塊裝置檔案)</b><b>、c(</b><b>字元裝置檔案)</b><b>,減号“-”</b><b>(普通檔案)、字母“l”</b><b>(連結檔案)等</b>
<b> 3.2</b><b>設定檔案/</b><b>目錄的權限</b>
<b>表示使用者u g</b><b>表示組 o</b><b>表示其他 a</b><b>表示所有 </b><b>使用者組和其他</b>
<b>Chmod - -reference </b><b>檔案1 </b><b>檔案2 </b><b>把檔案1</b><b>的權限複制給檔案2</b>
<b>思考: chmod u+x,o-r aa</b>
<b>3.3 </b><b>設定檔案/</b><b>目錄的歸屬 chown</b><b>指令</b>
<b>A </b><b>格式:chown </b><b>屬主 </b><b>檔案或目錄</b>
<b> chown :</b><b>屬組 </b><b>檔案或目錄</b>
<b> chown </b><b>屬主:</b><b>屬組 </b><b>檔案或目錄</b>
<b>B </b><b>常用指令選項</b>
<b>-R</b><b>:遞歸修改指定目錄下所有檔案、子目錄的歸屬</b>
<b> 3.4 </b><b>使用附件權限</b>
<b>1)</b><b>SET</b><b>位權限(SUID;SGID</b><b>)</b>
<b>A </b><b>主要用途:</b>
<b> </b><b>為可執行(有 x </b><b>權限的)檔案設定,權限字元為”s”</b>
<b> </b><b>其他使用者執行該檔案時,将擁有屬主或屬組使用者的權限</b>
<b>B SET</b><b>位權限類型:</b>
<b> SUID</b><b>:表示對屬主使用者增加SET</b><b>位權限</b>
<b> SGID</b><b>:表示對屬組内的使用者增加SET</b><b>位權限</b>
<b>例子:ll /usr/bin/passwd</b>
<b> 2)</b><b>粘滞位權限</b>
<b>A </b><b>主要用途:</b>
<b> </b><b>為公共目錄(例如,權限為777</b><b>的)設定,權限字元為“t”</b>
<b> </b><b>使用者不能删除該目錄中其他使用者的檔案</b>
<b>B </b><b>應用示例:/tmp</b><b>、/var/tmp </b>
<b> 3)</b><b>設定附件權限</b>
<b>A </b><b>使用權限字元</b>
<b> chmod ug±s </b><b>可執行檔案...</b>
<b> chmod o±t </b><b>目錄名...</b>
<b>B </b><b>使用權限數字:</b>
<b> chmod mnnn </b><b>可執行檔案...</b>
<b> m</b><b>為4</b><b>時,對應SUID</b><b>,2</b><b>對應SGID</b><b>,1</b><b>對應粘滞位,可疊加</b>