360 likes | 577 Views
Linux 的系統管理基礎. 鄧姚文. 教材. 陳源謙( 2010 ), Ubuntu Linux 管理與架站實務, 博碩文化股份有限公司, ISBN 978-986-201-389-2 (書號 OS30004 ) 湯秉翰( 2013 ), CentOS Linux 系統建置與實務 ( 第二版 ) , 博碩文化股份有限公司, ISBN 978-986-201-764-7 (書號 OS31312 )
E N D
Linux的系統管理基礎 鄧姚文
教材 • 陳源謙(2010), Ubuntu Linux 管理與架站實務, 博碩文化股份有限公司, ISBN 978-986-201-389-2 (書號 OS30004) • 湯秉翰(2013), CentOS Linux系統建置與實務(第二版), 博碩文化股份有限公司, ISBN 978-986-201-764-7 (書號 OS31312) • 鳥哥(2011), 鳥哥的Linux私房菜--伺服器架設篇(第三版), 碁峰資訊股份有限公司, ISBN 9789862579329 (書號 ACA016100)
章節大綱 • 切換終端機的 • 切換管理者身份 • 指令歷史 • 管理使用者帳號與群組 • 遠端管理Linux主機 • Web介面的Linux管理工具 • Webmin的使用者管理 • 工作排程
切換終端機 • Linux 系統透過 Shell(殼層)接受使用者指令 • 圖形使用者介面 • X-Window • 視窗管理器(Window Manager) • 顯示管理器(Display Manager) • 伺服器版本的 Linux 為了節省資源,經常在正式上線後將 X-Window 關閉 • 暫時關閉 • sudo /etc/init.d/lightdm stop • 永久關閉 • sudo service lightdm off或 • sudo mv /etc/init/lightdm.conf /etc/init/lightdm.conf.disabled
切換終端機 • 一般的 Linux 有 7 個終端機 • Ctrl+Alt+F1: tty1 • Ctrl+Alt+F2: tty2 • Ctrl+Alt+F3: tty3 • Ctrl+Alt+F4: tty4 • Ctrl+Alt+F5: tty5 • Ctrl+Alt+F6: tty6 • Ctrl+Alt+F7: X-Window • 修改 tty的數量 • sudoedit /etc/default/console-setup • 修改 ACTIVE_CONSOLES="/dev/tty[1-6]"
終端機相關名詞 • tty: TeleTYper / TeleTYpewriter電動打字機 • terminal: 終端機 • console: 主控台 • pty: Pseudo terminal 虛擬終端機 • 主控台提供的是 tty,從 tty1 ~ tty6,tty7 執行 X-Window • 從 X-Window 以終端機模擬器開啟的是 pty • 終端機模擬器種類繁多 • K-Console 可以在一個視窗內以分頁管理多個終端機
切換管理者身份 • 最高權限管理者帳號: root • 切勿以 root 的身份做『非系統管理』的工作 • 切勿直接以 root 帳號登入系統 • 以一般使用者身份登入系統,執行系統管理工作時才切換成 root • 使用者權限變更時在系統留下紀錄 • 觀察 /var/log/auth.log • 切換使用者身份的方式 • su: switch user 切換使用者身份 • sudo: switch user & do 切換使用者身份後執行工作 • sudoedit: switch user & edit 切換使用者身份後執行編輯工作
誰可以 sudo ? • 安裝 Linux 作業系統的過程中建立的第一個使用者帳號 • 在 /etc/sudoers之中加入使用者帳號或群組 • # visudo • 已經加入 admin 群組的使用者 • # usermod -a -G admin userName
指令歷史 • history 列出曾經輸入過的指令 • 以 grep過濾關鍵字
指令歷史 • 重新執行第61 筆指令,輸入『!61』 • 重新執行上一行指令,輸入『!!』
指令歷史 • 【Ctrl】+【R】並輸入關鍵字,可從歷史指令記錄找出符合需要的指令 • 找到符合的指令記錄時,只要按下任意鍵,如鍵盤的「左」、「右」按鍵皆可以將該指令放置命令列,按【Enter】即可送出指令。
指令歷史 • 環境變數 HISTSIZE 設定指令歷史儲存容量 • 修改 ~/.bashrc 變更歷史儲存容量 • 調整 HISTSIZE 和 HISTFILESIZE 的值
管理使用者帳號與群組 • Linux 是多人多工(Multi-user, Multi-task)的系統 • 權限可以設定於使用者帳號,也可以設定於群組 • 特殊性的權限可以設定於使用者帳號 • 通用性的權限設定於群組比較好 • 考慮人事異動
管理使用者帳號 • 新增使用者 useradd • # useradd frank • 新增名稱為frank的使用者帳號 • # useradd frank -d /home/MIS • 新增名稱為frank的使用者帳號,並且指定該使用者的家目錄為「/home/MIS」(預設會以使用者名稱為家目錄的名稱) • # useradd frank -G admin • 新增名稱為frank的使用者帳號,並指定該使用者的群組為「admin」 • 刪除使用者 userdel • # userdel frank • 刪除指定的使用者帳號,但不刪除該使用者的家目錄。 • # userdel -r frank • 刪除指定的使用者帳號,並刪除該使用者家目錄、信箱以及其他位置上的相關資源
管理使用者帳號 • 修改使用者usermod • # usermod -G admin -a peggy • 將名稱為peggy使用者帳號加入到名稱為admin的群組。 • 修改登入密碼passwd • 預設當輸入指令passwd時,將提示輸入新的使用者密碼(當前的使用者帳號,即當frank帳號登入Linux系統,輸入指令passwd則將修改frank的登入密碼)。 • 當輸入passwdpeggy,則表示替peggy變更使用者登入密碼,欲變更他人帳號的登入密碼,執行變更動作的使用者帳號必須具備「超級使用者權限」的指令。
管理群組 • 新增群組 groupadd • groupadd developer • 新增名稱為developer的使用者群組 • 修改群組 groupmod • groupmod developer -n phpdeveloper • 修改群組名稱developer成為phpdeveloper • 刪除群組 groupdel • groupdel developer • 刪除名稱為developer的使用者群組
管理遠端 Linux 主機 • SSH • Secure Shell • 與傳統的 telnet 比較 • SSH 在連線與資料傳送的過程加密 • SSH 安全性高
安裝 OpenSSH-Server • 查詢是否已經安裝?
管理遠端 Linux主機 • ssh預設以目前使用者身份連線至遠端主機 • 以其他帳號登入遠端主機 • ssh使用者帳號@主機位址 • ssh主機位址 -l 使用者帳號
以 scp傳輸檔案 • 語法: • scp檔案來源主機 欲傳送的目的主機及路徑 • 透過scp指令將使用者frank 在192.168.1.12 主機的使用者家目錄裡的demossh.mp3 檔案傳送到當前的目錄
管理遠端 Linux 主機 • Windows用戶端透過SSH連線 • Putty • Pietty • TeraTerm
管理遠端 Linux 主機 • WinSCP
WinSCP 標示A 設定連線主機位址、帳號及密碼、連線埠號⋯等等。 標示B 設定終端機的操作模式。 標示C設定連線的方式、是否透過代理伺服器及相關設定值。 標示D設定SSH連線的安全稽核。 標示E切換預設與進階設定選項。 標示F 顯示關於WINSCP的相關資訊。 標示G關閉程式操作介面。
Web介面的Linux管理工具 • Webmin • 以Web 操作介面的Linux、Unix 系統管理工具 • 廣泛支援大多數的Linux 發行版本,包含AIX、HPUX、Solaris、UnixWare、Irix和FreeBSD 等 • 自由軟體的產物,管理者可以在Webmin官方網站免費的取得對應版本之安裝程式進行安裝 • 安裝 Webmin • 下載 Debian Package 套件 • # dpkg --install webmin_1.680_all.deb • 設定 root 的登入密碼,# sudopasswd root • 以 firefox開啟 https://127.0.0.1:10000以 root 登入管理介面 • 困難排除 • 安裝相依套件 # apt-get -install libauthen-pam-perl apt-show-versions
Webmin的使用者管理 • 建議先建立群組再建立登入帳號 • 將存取權限設定於群組
練習:遠端登入與帳號管理 • 以 SSH 遠端登入另一部 LINUX 主機 • 為遠端主機安裝 Webmin • 透過 Webmin為遠端主機新增一個名稱為 frank 的使用者帳號 • 將 frank 加入 admin 群組
Linux 工作排程 • 以 Shell Script 設計工作內容 • 以 crontab設定工作排程 • # crontab -l 列出工作排程 • # crontab -e 編輯工作排程 • 工作排程記錄檔案的標準格式為 • [分鐘] [小時] [日期] [月份] [星期] [要執行的命令] • 重新啟動 /etc/init.d/cron套用新設定
6-8 Linux的工作排程 • 計畫依上述的需求在每個星期日的晚上九點鐘執行一次備份動作
Linux的工作排程 • 執行備份的 SHELL SCRIPT
本章結束 Q&A討論時間