Download presentation
Presentation is loading. Please wait.
1
Linux品牌 RedHat Linux SuSE Linux Mandrake Linux Caldera Linux
Turbolinux Debian GNU/Linux Gentoo Linux Linpus Linux
2
Linux Kernel現況與認證 Kerenl 版本 http://www.kernel.org Linux認證 發展版本-2.5.70
穩定版本-2.4.20 Linux認證 RedHat RHCE LPI Level one/two/three
3
開機管理選項 開機管理程式 GRUB LILO 不安裝開機程式 開機程式安裝在哪裡? MBR /boot 的第一個磁區 設定核心參數
4
Linux 開機流程 BIOS 嘗試在開機磁碟機的第 0 磁區、第 0 磁柱載入可供開機的磁區開機
開機載入程式 (boot loader ,如 LILO或Grub)的程式碼 找出 kernel 所在位置,接著載入並執行它以啟動開機程序 一旦 kernel 載入完畢,一些基本設備也完成初始化 (initialization) 嘗試從某個設備載入以及掛上 (mount) root filesystem 一旦 root filesystem 被載入並掛上,會看到一行訊息像: VFS: Mounted root (ext3 filesystem) readonly
5
Linux 開機流程 此時系統會在 root filesystem 上找到 init 程式 ( 在 /bin or /sbin) 並執行
init 讀取它的組態設定檔 (configuration file) /etc/inittab ,找出檔中標明 sysinit 的一行,並執行被指名的script。這個 sysinit script 通常類似 /etc/rc 或 /etc/init.d/boot 這兩個檔。這個 script 是一組建立基本系統服務的 shell 指令,諸如: 對所有磁碟執行 fsck 載入必備的核心模組 (modules) 啟動 swapping 進行網路初始化 將指定在 fstab 內的磁碟掛上
6
Linux 開機流程 當 sysinit script 結束後,控制權回到 init 上,接著進入預設的runlevel
預設的 runlevel 以 initdefault 這個關鍵字被指定在 /etc/inittab 內
7
runlevel 說明 0 – 關機 halt (不要在 initdefault 設定這個)
1 – 單人模式 Single user mode 2 – 多人模式未含網路功能 Multiuser, without NFS (與 runlevel 3 相同, 用在沒有網路環境下) 3 – 完整多人使用者模式 Full multiuser mode 4 – 未使用 unused 5 – xwindow 模式 X11 6 – 重開機 reboot (不要在 initdefault 設定這個)
8
man 男人? 線上查詢 man page # man ls # man 1 ls # info ls /etc/man.conf
whatis filename
9
vi 文書處理器 vi 管理員至少一定要會一種編輯器 vi 的使用: 一般模式:移動、複製、刪除、貼上 編輯模式:插入與取代文件
指令列模式:搜尋、自動取代、檔案存取等
10
Linux 檔案 # touch test # ls –al test
11
Linux 檔案種類 正規檔案( regular file ) 目錄 (directory): 連結檔 (link):
第一個屬性為 [ - ] 純文字檔(ascii) 二進位檔(binary) 目錄 (directory): 第一個屬性為 [ d ] 連結檔 (link): 第一個屬性為 [ l ] 設備檔 (device): 區塊 (block) 設備檔,第一個屬性為 [ b ]; 字元 (character) 設備檔,第一個屬性為 [ c ]。
12
Linux 檔案屬性
13
更改 Linux 檔案屬性指令 r=4,w=2,x=1 # chmod 770 test u g o a +(加入) -(除去) =(設定)
owner = rwx = = 7 group = rwx = = 7 others = --- = = 0 r=4,w=2,x=1 # chmod 770 test u g o a +(加入) -(除去) =(設定) r w x 檔案或目錄 chmod
14
更改 Linux 檔案擁有者指令 語法: chown [ -R ] 帳號名稱 檔案或目錄 chown [ -R ] 帳號名稱:群組名稱 檔案或目錄 範例: root]# chown games test root]# ls -l test drw-r--r-- 1 games root 0 Jun 20 14:36 test root]# chown –R root:root tmp
15
更改 Linux 檔案所屬群組 語法: chgrp 群組名稱檔案或目錄 範例:
root]# chgrp users test root]# ls -l drw-r--r-- 1 root users 1 Jun 20 14:36 test
16
Linux 目錄結構 /bin:常用系統程式目錄 /boot:開機設定檔,也是預設擺放核心 vmlinuz 的地方
/dev:擺放所有系統裝置檔案的目錄 /etc:幾乎系統的所有設定檔案均在此,尤其 passwd, shadow /etc/rc.d/init.d:系統開機的時候載入服務的 scripts 的擺放地點 /home:系統使用者的家目錄
17
Linux 目錄結構 /lib:Linux 執行或編譯程式函式庫目錄 /mnt:軟碟與光碟接預設掛載點的地方
/proc:系統核心與執行程序的一些資訊 /root:系統管理員的家目錄 /usr/bin, /bin:一般執行檔擺放的地方 /usr/sbin, /sbin:系統管理員常用指令集 /var:擺放系統記錄檔案的地方 /lost+fount:擺放系統不正常產生錯誤時遺失的片段
19
Linux 管理工具介紹 檔案與目錄管理 磁碟與硬體管理 程序與資源管理 RPM的管理 帳號與身份管理
20
檔案與目錄管理 目錄與路徑 相對路徑與絕對路徑
. 代表此層目錄 .. 代表上層目錄 ~ 代表自己的家目錄 ~user 代表到 user 這個人的家目錄
21
檔案與目錄管理 cd pwd mkdir rmdir 變換目錄 刪除一個裡面是空的空目錄 cd /root 環境變數PATH 顯示目前的目錄
建立一個新目錄 mkdir –p /root/abc/123 rmdir 刪除一個裡面是空的空目錄 rmdir –p abc/123 環境變數PATH echo $PATH PATH=”$PATH”:/root
22
檔案與目錄管理 ls [-ailS] 參數說明: -a :全部的檔案都列出(連同隱藏檔) -i :印出 inode 的值 -l :長的列出,連同檔案大小的資料等等 -S :以檔案大小排序
23
檔案與目錄管理 cp [-drsu] [來源檔] [目的檔] 參數說明: -d:在進行 copy 的時候,如果是 copy 到 link 檔案,若不加任何參數,則預設情況中會將 link 到的原始檔案copy 到目的地,若加 -d 時,則 link 檔案可原封不動的將 link 這個捷徑其拷貝到目的地 -r:可以進行目錄的 copy -s:做成連結檔,而不 copy 之意!與 ln 指令相同功能! -u, --update:如果來源檔比較新,或者是沒有目的檔,那麼才會進行 copy 的動作
24
檔案與目錄管理 rm [-fir] [檔名] 參數說明: -i :提供使用者確認(這是預設值) -r :遞迴刪除 -f :強力刪除
25
檔案與目錄管理 mv [-u] [來源檔] [目的檔] 參數說明: -u :同樣的,為 update 的簡寫,當來源檔比目的檔還新的時後才會動作
26
觀看檔案內容 cat 由第一行開始顯示檔案內容 tac 從最後一行開始顯示,可以看出 tac 是 cat 的倒著寫
more 一頁一頁的顯示檔案內容 less 與 more 類似,可以往前翻頁 head 只看頭幾行 tail 只看尾巴幾行 nl 顯示的時候,順道輸出 行號 od 以二進位的方式讀取檔案內容
27
連結檔的介紹 連結檔的介紹: 什麼是 inode ln
Block 是記錄『檔案內容資料』的地區,而inode 則是記錄『該檔案的屬性、及該檔案放置在哪一個 Block 之內』的資訊 ln hard link 不能跨 filesystem/不能 link 目錄 symbolic link ln [-s] [來源檔] [目的檔]
28
檔案與目錄權限 chown 改變檔案的擁有人 chgrp 改變檔案的所屬群組 chmod 改變檔案的可寫、可讀、可執行等屬性
umask 改變預設的建立檔案或目錄時的屬性 chattr 改變檔案的特殊屬性 lsattr 顯示檔案的特殊屬性
29
搜尋檔案或目錄 which 查看可執行檔案的位置 # which ls
whereis 查看檔案的位置 # whereis [–b/-m] ls locate 配合資料庫查看檔案位置 # locate ls #updatedb find 尋找檔案 # find / -name “ls”
30
磁碟與硬體管理 查看硬碟或目錄的容量:df, du 切割與格式化硬碟:fdisk, mke2fs, e2label, mknod
檢查硬碟壞軌與資料同步化寫入:fsck, sync 關於軟碟開機片: mkbootdisk, fdformat 各式磁區的掛載:mount, umount 設定開機時即掛載的方式:/etc/fstab 虛擬記憶體 Swap:mkswap, swapon, swapoff 磁碟效能:hdparm
31
程序與資源管理 什麼是程序? 任何觸發系統工作的事件,系統會給予一個 process ID 來控制該事件的執行,這個 PID 就是程序
需要注意到,程序『屬於誰?他的權限是不同的!』而程序執行後輸出的訊息則與資料流有關
32
程序與資源管理 如何觀察程序? 常駐記憶體的程式(daemon, 服務) top ps 在背景下執行
是系統正常運作所必需要的(syslog,cron) 是某些服務提供所必需要的(www, mail..)
33
Linux 套件管理 RPM 具有資料庫:容易安裝、升級、移除 在查驗及搜尋方面極為有效率 漏洞修補速度快速
最大的缺點:屬性相依的問題(這包含了版本、平台等等)
34
帳號與身份管理 帳號管理 groupadd groupdel useradd userdel chsh chfn userconf
35
帳號與身份管理 密碼管理與設定 passwd 使用者身份切換 su sudo visudo
36
帳號與身份管理 使用者查詢 id finger groups
37
系統關機 關機 重新起動 shutdown –h now halt poweroff init 0 shutdown –r now
reboot init 6
38
網路工具 一些網路偵錯指令 遠端連線使用指令 文字界面網頁瀏覽
ping, ifconfig, ifup, ifdown, netstat, route, traceroute, host, dig, nslookup 遠端連線使用指令 telnet, ssh, ftp, ncftp, lftp, wget 文字界面網頁瀏覽 lynx, links
39
RedHat Linux 網路設定 修改主機名稱與Gateway等設定 修改網路卡設定 修改DNS與Hosts設定
/etc/sysconfig/network 修改網路卡設定 /etc/sysconfig/network-script/ifcfg-eth0 修改DNS與Hosts設定 /etc/resolv.conf /etc/hosts
40
DNS Server套件-BIND 套件:bind-9.2.1-16, bind-utils-9.2.1-16 服務:named
服務埠:53 upd, 53 tcp 設定檔:/etc/named.conf , /var/namd/*
41
DNS Server 啟動與停止 /etc/init.d/named start 啟動
tail –f /var/log/messages 查看 log 紀錄 /etc/init.d/named stop 停止 killall named or kill -9 PID
42
WWW Server 套件: httpd { , -devel, -manual } 服務名稱:httpd
啟動的script : httpd 執行埠:80/tcp (http), 443/tcp (https) 設定檔:/etc/httpd/*, /var/www/* 相關: redhat-config-httpd,mod_ssl,以及其它
43
WWW Server 設定檔 設定檔位置 模組位置 網頁文件預設放置目錄 /etc/httpd/conf/httpd.conf
/var/www/html/
44
sendmail 啟動與測試 # /etc/init.d/sendmail start # telnet localhost 25
mail from: rcpt to: data This is a test Mail . quit
45
Proxy Server套件-squid 安裝Proxy套件 – squid-2.5.STABLE1-2.i386.rpm
目錄位置:/etc/squid 設定檔:/etc/squid/squid.conf 紀錄檔:/var/log/squid/access.log /var/log/squid/cache.log /var/log/squid/store.log
46
acl的用法 <acl> <acl名稱> <acl類型> <設定的內容> acl類型
以來源端:src,srcdomain 以目地端:dst,dstdomain 以正規表式法:url_regex [-i] ^ urlpath_regex [-i] \.gif$ 設定的內容 IP or Domain or String acl example dstdomain .com
47
http_access 用法 設定允許存取 squid Server 的列表 以 acl 的定義來做管制
http_access allow example #設定只允許example的acl訂義存取 http_access deny all #如果要開放的話,改成 allow all
48
cache_peer 用法 <cache_peer> <主機名稱> <類別> <http_port> <icp_port> <其他參數> 類別:parent(上層),sibling(同一層) http_port/icp_port:3128/3130 其他參數: proxy-only,weight=n,no-query,default,no-netdb-exchange,no-digest 到處向其它proxy server請求會消耗太多網路資源,所以請勿設太多parent和sibling server. cache_peer proxy.hinet.net parent proxy-only
49
cache_peer_access 用法 cache_peer_access proxy.hinet.net allow example
<cache_peer_access> <上層 Proxy> <allow|deny> <acl名稱> cache_peer_access proxy.hinet.net allow example
50
不要進行cache的設定值 只要網址列出 cgi 字樣都不做 cache hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \? no_cache deny QUERY
51
與時間相關的設定值 refresh_pattern ^ftp: 1440 20% 10080
<refresh_pattern> <regex> <最小時間> <百分比> <最大時間> refresh_pattern ^ftp: % refresh_pattern ^gopher: % refresh_pattern %
52
與時間相關的設定值 connect_timeout 2 minutes # 連線的timeout時間
peer_connect_timeout 30 seconds # 連線到上層proxy的timeout時間 request_timeout 5 minutes # 連上後,要求的 timeout 時間 persistent_request_timeout 1 minutes # 連上後, 連續要求 timeout 時間
53
額外的功能參數 與 FTP 有關的設定項目,主要是針對被動式連線
ftp_user ftp_passive on 主要與 DNS 的設定值有關,如果在高負載的 Proxy 環境下,可以考慮將 dns_children 提高到 20 左右,這個值最大為 32 dns_timeout 1 minutes hosts_file /etc/hosts
54
transparent proxy 設定 squid.conf
httpd_accel_host proxy.example.com httpd_accel_port 80 httpd_access_with_proxy on httpd_accel_uses_host_header on 設定 NAT 主機的 port map iptables -t nat -A PREROUTING -i eth0 -p tcp -s /24 --dport 80 -j REDIRECT --to-ports 3128
55
啟動 squid server /etc/init.d/squid start
tail –f /var/log/squid/access.log
Similar presentations