420 likes | 521 Views
第七章 使用者帳號管理. 學習目標 了解 Linux 的帳號與群組 新增使用者帳號與群組 刪除帳號與群組 驗證帳號建立是否正確 認識檔案與目錄的權限. 章節大綱. 7-1 新增群組. 7-3 認識檔案與目錄的權限. 7-2 新增使用者帳號. 備註:可依進度點選小節. 多人使用環境是 Linux 的主要特色 為多個使用者建立多個帳號 (User) 群組的設計,可讓系統管理者為有相同特性的使用者訂定更彈性的管理模式 同 user 可以在不同的群組中. 使用者帳號管理. vipw. Vim / etc / passwd.
E N D
第七章 使用者帳號管理 學習目標 了解Linux的帳號與群組 新增使用者帳號與群組 刪除帳號與群組 驗證帳號建立是否正確 認識檔案與目錄的權限
章節大綱 7-1 新增群組 7-3 認識檔案與目錄的權限 7-2 新增使用者帳號 備註:可依進度點選小節
多人使用環境是Linux的主要特色 為多個使用者建立多個帳號(User) 群組的設計,可讓系統管理者為有相同特性的使用者訂定更彈性的管理模式 同user可以在不同的群組中 使用者帳號管理
vipw • Vim /etc/passwd
一個群組皆對應一個編號,稱為GID(Group ID) 每個群組的GID皆不相同 groupadd指令,再指定一個群組名稱 groupaddrd cat /etc/group | greprd greprd /etc/group 7-1 新增群組
管理者必需為使用者建立帳號,並為其設定密碼 useradd指令新增一個新的帳號 useradd mike; passwd mike 7-2 新增使用者帳號
每個帳號至少要有一個所屬群組 Linux的帳號資料 1. 帳號名稱 2. 密碼 以前的Linux會把加密過的密碼放這裡,現在只有x,真正的密碼放在更安全的地方: /etc/shadow 中,改之前為*或!!,改了後(passwd之後)會變成加密過後的長字串 7-2 新增使用者帳號
使用者帳號-續 • Linux的帳號資料 • 3. 帳號編號 • 4. 所屬群組編號 • 5. 註解,如Mike Lin,通常為空值,非必要 • 6. 家目錄,別人無法登入
把mike group改為rd(原為mike group) • (TERMINAL 1) watch tail -n 3 /etc/passwd • (TERMINAL 2) usermod -g rd mike
新增一partition, boot auto mount to /home2 • 把mike帳號home改到 /home2/mike • mkdir /home2/mike • usermod -d /home2/mike • login mike >> 可login,但無法操作家目錄, • 因為 ll -d /home2/mike, 看一下 permissionowner & group 仍為 root • 所以要做 …
1.) 把 /home2/mike 資料夾與裡面所有東西owner & group全部改為mike • (root) touch /home2/mike/root_file • (root) chownmike.mike /home2/mike • root_file owner & group仍為 root • 所以應為:(root) chown-R mike.mike/home2/mike • 2.) (要由root做) cp -r /etc/skel/* /home2/mike/. • 沒有東西? 因為都是隱藏檔,改為…
cp /etc/skel/.b* /home2/mike/. • cp -r /etc/skel/.g* /home2/mike/. • cp -r /etc/skel/.m* /home2/mike/. • 為何不就 cp -r /etc/skel/.* /home2/mike/.就好了?因為會把..也copy過來 • 記得要再做一次 • chown -R mike.mkie /home2/mike
以上是臨時要改home, 所以 …. • 若要永久改:把useradd的 預設home上層改為/home2 • vim /etc/default/useraddHOME=/home >> HOME=/home2 即可 • test: useradd mike2 >> ok了 • 又想建一個home在 /home不是/home2的帳號,怎麼辦? • useradd -d /home/mike3 mike3(passwd mike3 >> login mike3 >> pwd)
7. 登入時使用的Shell • 當使用者登入系統後就會取得一個 Shell 來與系統的核心溝通以進行使用者的操作任務。預設 shell :bash • 預設為 /bin/bash, 是帳號登入後的第一支程式若是 /bin/nologin則無法登入 • sshmike@10.10.88.88 >> ok • 改 shell為 /bin/nologin >> Permission denied • 那建這mike帳號有什麼屁用?? • nologin shell, 一般用來建 純 pop 郵件帳號者
使用者帳號-續 • 帳號都要有家目錄 • 系統環境設定檔 • /etc/skel • 電子信箱郵件
useradd -D (userad預設值)/etc/default/useradd • GROUP=100 (Centos,並不是用這個,公共群組機制,所有帳號group=users) • CentOS(RH)採用私有群組制,會建同username的group,dir permission為700,只有自己進得去 • 公共群組機制(如SuSE),所有帳號group=users(gid=100),dir permission為755,所有人預設home dir共享! • HOME=/home • INACTIVE=-1(/etc/shadow 7th column) • shadow file第七欄位表示密碼過期後, 在多久時間內還可使用舊密碼登入。如果是 0 代表密碼過期立刻失效, 如果是 -1 (在shadow內為空值,預設)則是代表密碼永遠不會失效,如果是數字,如 30 ,則代表過期 30 天後才失效。
EXPIRE= • EXPIRE=:帳號失效的日期,除非是付費帳號才會設 • SHELL=/bin/bash • 若要成為pop專用,請改nologin • SKEL=/etc/skel • ll -a /etc/skel (要-a哦) • 若以後要有/home/xxx/www,請在 /etc/skel建www dir • CREATE_MAIL_SPOOL=yes • ll /var/spool/mail • 可收發email
useradd指令規格 useradd指令除了能快速建立帳號,其選項提供了許多客製的功能,如指定GID、指定群組、指定家目錄與指定該帳號預設使用的shell,都可透過選項來達到,指令的規格如下: 7-2 新增使用者帳號
useradd指令規格 欲建立的帳號名稱是useradd指令的參數,記得放在最後即可,若使用任何選項時,會在系統中自動建立一個群組,這個新群組與帳號名稱同名,並自動指派一個未使用的使用者編號(UID)。 7-2 新增使用者帳號
useradd指令規格 建立新帳號並指定已存在的群組 使用-g選項可指定新建立帳號並指定群組,-g加上空白後給予群組名稱或GID,唯該群組必須是已存在,讀者先依本章範例建立一個新的群組rd後,建立一個新帳號eric並指令群組為rd: 7-2 新增使用者帳號
useradd指令規格 useradd [選項] 帳號名稱 7-2 新增使用者帳號
想要修改user資訊 • vipw (vim /etc/passwd) & vigr (vim /etc/group) • usermod • eric原為 rd group,改為sales groupusermod -g sales eric可以先 watch tail -n 5 /etc/passwd觀察 • usermod-G rd,不可以有空格manager eric(再加兩個附屬的groups) • id eric或 groups eric檢查一下
改 uid • usermod -u 888 帳號 • usermod • -g 改group • -G 加附屬群組 • -c 註解 • -d 改家目錄 • 記得把所有.開頭設定檔 copy過來~ (cp -r)
useradd指令規格 指定附加群組 在實務上,一個帳號不一定只能指定於單一個群組,例如帳號tom的所屬群組為rd,也能讓tom再屬於另外的群組,就像一個經理(帳號)可以屬於業務部(群組),也能屬於行銷部(另一附加群組)。 要讓一個帳號tom除了主要群組rd外,再指定附加群組manager,可以使用-G(大寫)選項達成,筆者先以groupadd建立第二個群組manager,再使用選項-g與-G建立新帳號tom: 7-2 新增使用者帳號
useradd指令規格 指定附加群組 目前主機帳號與群組情形應該如下示意圖,黑色部份是已建立完成的工作,讀者可以試著建立灰色未建立的群組與帳號: 7-2 新增使用者帳號
查詢使用者相關資訊 利用id指令,在id指令後加上帳號名稱 [root@fc ~]# id mike uid=501(mike) gid=501(mike) groups=501(mike) 7-2 新增使用者帳號
刪除帳號 利用指令userdel(User Delete) 將帳號資訊從系統設定檔中移除(但不移除帳號所屬群組) userdel指令空白後,加上帳號名稱 [root@mylinux ~]# userdel mike [root@mylinux ~]# id mike id: mike:此用戶不存在 在刪除帳號時,一併刪除該帳號的家目錄所有檔案 userdel -r mike 7-2 新增使用者帳號
變更帳號資料 usermod指令是用來修改使用者帳號 usermod指令的常用選項說明: 7-2 新增使用者帳號
useradd -g rd -g sales twog • 沒有用,twog只有sales group,沒有rd group • 可用groups twog查證 • useradd -g rd-Gsales twog2 • 這才是正確用法(前小g,後大G),twog2 有rd& sales group • 可用groups twog查證
刪除群組 刪除一個群組,可用groupdel(group delete) 只能刪除沒有使用者指派的群組 groupdel群組名稱 查詢使用者的群組 groups指令可用來查詢使用者的群組資訊 想知道使用者tom所屬的群組有那些 [root@fc ~]# groups tom tom : rd manager (列出tom的群組為rd,另一群組為manager) 7-2 新增使用者帳號
停止帳號登入 可以使用userdel將帳號從系統裏刪除 home dir不會自動刪,請手動rm 若要連home dir也一起刪userdel -r 帳號 只想讓帳號暫停使用,使其無法登入 : 修改/etc/passwd中帳號的密碼欄位 (第2欄) 將x改為!,就是暫停使用 利用chsh改變該帳號的shell chsh -l 帳號 (查看該帳號可用那些shell,無帳號就是看自己可用shell) 其實就是show出 /etc/shells chsh -s /sbin/nologin帳號 (改變shell為nologin) 7-2 新增使用者帳號
每個檔案與目錄都擁有各自的權限設定 權限的代表的意義 使用ls -l指令來觀察輸出結果 [root@fc ~]# ls -l myfile -rwxrwxr-- 1 root root 0 2009-02-19 21:09 myfile 7-3 認識檔案與目錄的權限
權限字母有r、w、x與-(減號) r:可讀,可使用如cat編輯器讀取檔案內容,但無法修改。 w:可寫入,也代表可以修改、新增資料或刪除檔案。 x:此檔案可被執行 減號-:減號代表不允許該權限 7-3 認識檔案與目錄的權限
mimia 變更檔案權限chmod 使用chmod指令來達成 chmod權限表示法 檔案(對象) 用三組八進位的方式表示 語意描述法 7-3 認識檔案與目錄的權限
變更檔案權限chmod 權限表示法 八進位的方式 r代表4、w代表2、x代表1 7-3 認識檔案與目錄的權限
解讀權限 644代表rw-r--r--,擁有者可讀寫、群組可讀、其他人可讀 755代表rwxr-xr-x,擁有者可讀寫可執行、群組可讀可執行、其他人可讀可執行。 660代表rw-rw----,擁有者可讀寫、群組可讀寫、其他人無權限 754代表rwxr-xr--,擁有者可讀寫可執行、群組可讀可執行、其他人可讀。 7-3 認識檔案與目錄的權限
語意描述法 使用幾個字母、加減號與等號組成很方便使用的語意描述法,字母u、g、o、a u代表user也就是該檔案的擁有者(權限第一組) g 代表group,該檔案的群組(權限第二組) o代表other,除了擁有者與群組人員外的其他人(權限第三組) a代表all,代表所有人,也可說是上述ugo的集合 7-3 認識檔案與目錄的權限
改變權限 語法: chmod 755 檔案 為擁有者(u)加上可執行權限(x) chmod u+x 檔案 一次為擁有者(u)與群組(g)加上可讀(r)與可執行(x)權限 chmod ug+rx 檔案 為所有人加上r權限 chmod a+r 檔案 7-3 認識檔案與目錄的權限
目錄的權限 r: 代表可以列出該目錄的檔案清單,可以利用ls指令列出該目錄的內容。 w: 代表至該目錄中的檔案與目錄都可以異動,如寫入檔案、建立、刪除、與更名檔案與目錄。 x: 代表可進入該目錄中,也就是使用cd指令進入該目錄。 7-3 認識檔案與目錄的權限
變更檔案擁有者chown 使用chown(change owner)將檔案的擁有權變更為其他使用者 指令用法: chown 使用者帳號 檔案或目錄 亦可以一併更變擁有群組 chown 使用者帳號.群組 檔案或目錄 chown 使用者帳號:群組 檔案或目錄 7-3 認識檔案與目錄的權限
變更檔案所屬群組chgrp 使用chgrp(change group)將檔案的擁有權變更為其他使用者 指令用法: chgrp 群組名稱 檔案或目錄 利用chown即可變更檔案的所屬群組,不用多背一個chgrp指令 7-3 認識檔案與目錄的權限
練習新增一partition,mount to /home2,以後都以此為新home