伺服器建置實務上課補充教材
- 最新消息:
- 授課教材:鳥哥的 Linux 私房菜-伺服器架設篇第三版
- 每週都有可能會有上機實作,要等老師檢查完畢才能夠下課!否則就不算有來上課!
- 回首頁
- 舊版教材簡易介紹
unit 02:Linux 的基礎操作實務
權限的意義與管理、帳號的建置與管理
- Linux 系統的權限概念
- 在 Linux 底下的任何一個檔名 (目錄或一般檔案) 都是一個物件,這個物件誰可以使用,就是重點。
所以,權限的目的,就是在規範:『那一個檔案是誰可以讀取、寫入與執行』的概念!
- 使用者、群組與其他人
- 就跟 FB 一樣,你可以將一個訊息 (檔名) 分享給某個人 (使用者) 或在某個社團 (群組) 當中發布,而不是某個人也不是加入某社團的其他帳號,
當然就是其他人!
- 因此,你可以想像,所謂的群組就是 FB 成立的社團,目的不在於『社團』而是『加入這個社團的帳號可以做些什麼』,
重點還是在『帳號』上面喔!群組只是讓我們管理員可以快速的做某些檔案權限的設計而已。
- 總之,針對一個檔案來說,這個檔案會有 (1)所屬帳號 (2)所屬群組與 (3)其他人 的三種身份的權限,使用英文來表示就是:
- u: user, 使用者
- g: group, 群組
- o: other, 其他人
- 哪些權限?
- 就是針對硬碟上面的資料啊!所以通常權限就會有:(1)讀取、 (2)寫入、(3)執行,使用英文來表示就是:
- r: read, 讀取
- w: write, 寫入
- x: executable, 可執行
- 所以,身份與權限的結果就是:共有三組人,每組人有三個可能的權限,因此就會有 9 個權限 (3X3 的緣故),
使用簡單的 rwx 來做解釋的話,就會變成:
- 全部的權限都存在: rwxrwxrwx
- 全部的權限都不存在: ---------
如果用圖示的方法來看,有點像這樣:
- 因為有三個人,每個人有 rwx ,如果 r 是 4 分, w 是 2 分,x 是 1 分時,那麼每個身份會有一個分數,
最低分就是 0 ,最高分就是 7,因此,依據使用者、群組、其他人的權限排列,最低分為 000,最高分為 777 這樣。
- 全部的權限都存在: rwxrwxrwx: 777
- 全部的權限都不存在: ---------: 000
- 某些權限存在的情況: rwxr-x---: 750
- 如果要查看某個人加入的群組,就可以使用『 id 帳號 』來查看,例如『 id student 』或『 id root 』之類的方式。
[student@localhost ~]$ id student
[student@localhost ~]$ id root
- 練習:
例題:完成底下的實做結果說明:
- 查看一下 /etc/hosts 這個檔名,之後回答 (1)檔案屬於誰的? (2)檔案屬於哪個群組 (3)檔案的權限分配是幾分?
- 承上,說明 bin 這個人對於 /etc/host 來說,具有什麼權限?
- 查看一下 /var/spool/mail 這個檔名,之後回答 (1)檔案屬於誰的? (2)檔案屬於哪個群組 (3)檔案的權限分配是幾分?
- 承上,說明 mail 這個人對於 /var/spool/mail 來說,他具有什麼權限?
- 承上,說明 student 這個人對於 /var/spool/mail 來說,他具有什麼權限?
- 權限的管理
- 修改檔案的所屬用戶,使用『 chown 帳號名稱 檔名 』 來處理
[root@localhost ~]# touch test # 建立一個名為 test 的空檔案
[root@localhost ~]# ll test # 檢查一下 test 所屬帳號與群組及權限
[root@localhost ~]# id bin # 看看有沒有 bin 這個帳號的存在,若沒有就會顯示無帳號
[root@localhost ~]# chown bin test # 更改檔案所屬人
[root@localhost ~]# ll test # 看看有沒有更改成功
- 修改檔案的所屬群組,使用『 chgrp 群組名稱 檔名 』 來處理
[root@localhost ~]# chgrp sshd test # 群組直接去設定,若無群組就會回報錯誤
[root@localhost ~]# ll test # 再次查看有沒有成功
- 修改檔案的權限,使用『 chmod 權限分數 檔名 』 來處理
[root@localhost ~]# chmod 644 test
[root@localhost ~]# ll test # 看看有沒有成為 -rw-r--r-- 的狀態?
- 切換成為 root 之後進行如下的練習,練習完畢再轉回來:
- 建立 /dev/shm/test 目錄,並且前往該目錄成為工作目錄
- 將 /etc/hosts 複製到該目錄下,並且更名為 myhosts
- 讓 myhosts 具有底下的權限:
- bin 為擁有者,且具有 rwx 的權限
- mail 為擁有群組,且具有 rx 的權限
- 其他人只有讀取的權限
- 每個步驟完成後,請立即查閱才好!
- 帳號的建立與管理
- 當我們登入系統時,會輸入的資訊有帳號與密碼,因此,建立新的帳號也一樣,需要的就是帳號名稱與密碼資料。
此外,當帳號建立後,該帳號會主動的在 /home 底下建立一個相同帳號名稱的目錄,作為該帳號的家目錄。
- 帳號的管理方式:記得,要有帳號與密碼喔!
- 帳號:帳號的建立使用 useradd 來處理,請先 useradd --help 查看可以加的選項,之後使用『 useradd 帳號名稱 』
- 密碼:密碼的給予使用 passwd 來處理,直接『 passwd 帳號名稱 』即可
[root@localhost ~]# useradd 帳號名稱
[root@localhost ~]# passwd 帳號名稱
- 帳號的刪除方式:記得使用 userdel -r 這個 -r 的選項才行!,刪除直接用『 userdel -r 帳號名稱』 即可。
但是不要隨意刪除帳號,除非你知道自己是在幹麻,否則系統預設的帳號千萬不要惡搞!
[root@localhost ~]# userdel -r 帳號名稱
- 群組管理:加入使用者到某個群組或移除的方式:
- 增加群組使用:『 groupadd 群組名稱 』
- 將某個用戶加進這個群組:『 usermod -a -G 群組名稱 帳號名稱 』,完成後使用『 id 帳號名稱 』檢查即可
[root@localhost ~]# groupadd 群組名稱
[root@localhost ~]# usermod -a -G 群組名稱 帳號名稱
[root@localhost ~]# id 帳號名稱 # 重點在觀察有沒有更改成功
- 練習:
- 建立一個名為 alex 的帳號,密碼請設定為 'GoGo123_' 這樣 (英文大小寫、數字、符號搭配)
- 建立一個名為 mygroup 的群組,並且將 alex 加入到這個群組當中。
- 按下 [ctrl]+[alt]+[F2] 來到文字畫面,使用 alex 登入看看
- 登入後,按下 w, whoami, pwd 看看相關的帳號登入與訊息
- 最終請登出 alex 用戶
- 按下 [ctrl]+[alt]+[F1] 回到原本的圖形畫面。
- 今日練習:記得使用 root 的權限來處理
- 建立 myuser1, myuser2, myuser3 三個帳號,且三個帳號的密碼都是 iamuser1 這樣
- 將這三個帳號加入 mygroup 群組的支援當中
- 在 /srv 底下建立名為 project 的目錄
- 該目錄屬於 mygroup 群組,且 mygroup 可以具有 rwx 的完整權限,其他人則沒有任何權限,無法進入該目錄!
- 在 tty2 嘗試使用 myuser1 進入 /srv/project ,並複製 /etc/hosts 成為 /srv/project/myuser1
- 在 tty3 嘗試使用 student 進入 /srv/project,看看結果是如何?
- 請按右上角的設定,去啟動網路
- 使用 ifconfig 這個指令,找出你的 IP 後,告訴老師你的 IP 號碼 (例如 172.16.8.8),老師會線上檢查你是否完成作業了!