認識X Window
X Window System可以分為X Server、X Client、X Protocol。
如果在系統安裝設定時沒有設定X Window系統,之後就必須先設定滑鼠、鍵盤、顯示器、顯示卡等硬體,才可以成功啟用X Window。
X Window的設定檔是在 /etc/X11/xorg.conf裡面。
ServerLayout是用來建立X Server啟動的外觀。
如果檔案中包含多個ServerLayout Section,預設會使用第一個設定。
Identifier是ServerLayoutSection的名稱。
如何使用GNOME和KDE桌面
- 1. 二種桌面可做切換。
- 2. 圖形介面切換到文字介面 ctrl+alt+f1~f6。
- 3. 文字介面切換到圖形介面 ctrl+alt+f7。
- 4. 指令: startx 切換到圖形介面。
- 5. 設定預設啟動介面。/etc/inittab。
1-7使用vim文字編輯器
Vim 檔案名稱
I 輸入文字
Esc 退出文字輸入模式
X刪除單個字原
Dw刪除整個單字
Dd刪除一整行
退出vim編輯器
顯示系統上的使用者名單:who
顯示時間:date
顯示所有檔案系統的磁碟使用情況: #df –a
用kb單位來顯示檔案系統的使用量: #df –k
指定檔案類型的磁碟空間使用情況: #df –t
顯示檔案系統類型: #df –T
沒有延遲的顯示系統程序的狀態: #top –q
顯示程序的完整路徑與名稱: #top –c
不顯示閒置或無用的行程: #top –i
將top的結果輸出到檔案: #top –b
將更新二次的結果輸出到檔案內:#top –n 2 –b < filename.log
顯示MB單位的記憶體使用情況:#free –m
每隔60秒顯示一次記憶體使用的情況:#free –s 60
顯示記憶體的總和:#free –t
顯示目前所在群組的磁碟使用限制:#quota –g
顯示使用者leon的磁碟使用情況:#quota leon
終止程序識別碼為324的程序:#kill -9 324
回收記憶體增加系統資源:#free
直接使用程序的名稱來終止程序:#killall –HUP 程序名稱
查看系統網路配置:#ifconfig
查看指定介面的網路配置:#ifconfig eth0
顯示所有界面的資訊:#ifconfig –a
暫停指定介面eth0:
#ifconfig eth0 down
修改介面eth0的ip、netmask
#ifconfig eth0 192.168.1.254 netmask 255.255.255.0
連續ping主機kongove.cn這台主機四次
#ping –c kongove.cn
顯示主機目前路由表
#netstat –r
顯示各網路協定統計資料
#netstat –s
檢視基本的網路統計流量
#netstat –e
列出磁碟分割的情況
#fdisk –l
建立掛載點的目錄
#mkdir /mnt/名稱自取
將/dev/sda1(ntfs 格式)掛載
#mount –t 檔案格式 –o 選項 磁碟分割 掛載點 目錄名稱
#mount -t ntfs -o nls=utf8,umask=000 /dev/sda1 /mnt/掛載資料夾
檢查磁碟掛載狀態
#df -lh
將/dev/sda8(fat32格式)掛載到/mnt/winG上
#mount -t vfat -o iocharset=utf8 ,umask=000 /dev/sda8 /mnt/wing
在/etc/fstab檔案內加入自動掛載/dev/sda1
/dev/sda1 /mnt/winC ntfs umask=000,nls=utf8
在/etc/fstab檔案內加入自動掛載/dev/sda8的fat32格式
/dev/sda5 /mnt/wing vfat umask=000,iocharset=utf8 0 0
將掛載好的windows分割區放在桌面上
#ln –s /mnt/winc/ -root/deskto/winC
基本上在fedora9之後都能自動掛載windows分割區了
將系統關機,與halt指令相當
Shutdown -h
向所有使用者發出再10min後重新啟動的警告
#shutdown –r +10
重新啟動
#reboot
建立目錄
#mkdir 目錄名稱
刪除目錄
#rmdir 目錄名稱
在/usr/fedora目錄下建立子目錄data,但只有所有者擁有讀寫執行權限。
#mkdir –m 700 /usr/fedora/data
在目前的目錄下建立inin和inin下的mail目錄
#mkdir –p –m 700 ./inin/mail/
刪除子目錄bak和父目錄bin
#rmdir –p /bin/bak
開啟檔案目錄位置
#cd 目錄名稱
顯示目前工作目錄的絕對路徑
#pwd
顯示目錄下的所有子目錄與檔案,包括隱藏檔案。
#ls –a
依照修改時間來列出目前目錄
#ls –c
顯示檔案的內容
#cat 檔案名稱
一頁一頁的顯示檔案內容
#more 檔案名稱
顯示檔案開頭的數行
#head 檔案名稱
顯示檔案尾端的樹行
#tail 檔案名稱
用cat指令來顯示clear.txt檔案內容
#cat clear.txt
以每頁時行的格式來顯示chap.txt檔案內容
#more -10 chap.txt
顯示test檔案的前五行
#head -5 test
在文字檔案中搜尋符合的單字
#grep 參數 運算式 檔案名稱
複製檔案
#cp 參數 原始檔案或目錄 目的檔案或目錄
保留連結、檔案屬性、遞迴的複製目錄
#cp –a 原始檔案 目的檔案
複製目錄及目錄內的所有項目
#cp –R
刪除目錄的檔案或目錄
#rm 參數 檔案清單
-f 忽略不存在的檔案
-r 全部目錄和子目錄遞迴的刪除
-I 互動式刪除
移動檔案或目錄,還可以在移動的當時修改名稱
#mv 參數 原始檔案 目的檔案
-I 先詢問是否覆蓋相同檔案名稱檔案
-f 直接覆蓋相同檔案名稱檔案
-u 如果相同檔案名稱檔案的日期較新則不覆蓋
將檔案abc修改為aaa
#mv abc aaa
掛載光碟
#mount /mnt/floppy/
掛載floppy
#mount /mnt/cdrom/
掛載usb
#mount /mnt/usb
壓縮檔案
#compress 參數 檔案清單
-f 遞迴壓縮該目錄與該目錄中的子目錄與檔案
-c 將壓縮資料傳回標準輸出裝置
-v 顯示每個資料夾的壓縮百分比
解壓縮檔案
#uncompress 參數 檔案清單
-c 將解壓縮資料傳回標準輸出裝置
壓縮檔案
#gzip 參數 檔案清單
-v 輸出處理資訊
-d 壓縮指定檔案
-t 測試壓縮檔案的完整性
解壓縮指令
#gunzip 參數 檔案清單
-c 將解壓縮的檔案寫入標準輸出裝置
-l 列出壓縮檔案內的檔案而不進行解壓縮
-r 遞迴地解壓縮檔案
打包備份
#tar 參數 打包黨的名稱 要打包的檔案名稱
-c 建立新的打包檔案
-r 在打包檔案尾端加上檔案
-x 從打包檔案中解壓縮出檔案
-o 將檔案解壓縮到標準輸出裝置
-v 輸出相關資訊
-z 呼叫gzip來壓縮打包檔案
指定遊覽器預設下載目錄
修改遊覽器暫存檔位置
Wget下載工具
安裝wget
#tar zxvf wget-1.11.4.tar.gz
#cd wget-1.11.4
#./configure
#make
#make install
Useradd指令建立帳號hello
#useradd hello
#passwd hello
編輯/etc/passwd暫停不允許使用者登入系統
#hello:x:501:501::/home/hello:/bin/bash 在帳號的最前面加上#
Uid使用者的ip、Gid群組的id
Userdel刪除帳號hello
#userdel –r hello
-r 刪除帳號時一併將使用者目錄一併刪除
Groupadd建立群組team,並指定群組的id為600
#groupadd –g 600 team
群組設定檔位置/etc/group
Team::x:600: //新增近來的代碼
帳號到user這個帳號
#su user
用普通帳號執行root權限
使用者必須有再wheel群組中,所以必須修改/et/group檔案
Wheel:x:10:root,帳號
執行sudo指令
$sudo 指令
查詢帳號所屬群組
#group 帳號
顯示目前帳號UID、GID、群組
#id 帳號
若要管理磁碟配額,可以安裝quota來進行配額
查看/home目錄的權限
#ls –l /home
R 可讀 4
W 可寫 2
X 可執行 1
Drwx------3 hello hello 4096 09-17 22:17 hello
可讀可寫可執行
三個鏈結數
建立者為hello
檔案大小4096
09-17建立或最後修改時間
Hello檔案名稱
第一組 擁有者的權限 u
第二組 群組的權限 g
第三組 非本群組的權限 o
新增屬性+
取消屬性-
設定屬性=
將檔案1修改為擁有可可讀可寫可執行、群組內可讀不可寫可執行、非本群組不可讀不可寫不可執行
#chmod 750 1
#chmod u=rwx,g=rx 1
將檔案2加入hello群組
#chgrp hello 2
改變檔案的擁有者
Chown –r 帳號名稱:群組名稱 檔案或目錄名稱
Chown –r hello:hello 2
查看目前登入使用者
#who
Root pts/0 2010-09-09 20:00 (:192.168.1.1)
查看使用者目前正在做什麼
#w
查看使用者hello
#w hello
查看使用者hello登入歷史資訊
#last hello
登入歷史資訊存放於/var/log/
查看顯示所有程序
#ps –A
列出屬於使用者hello的程序
#ps –u hello
列出目前終端機所執行的所有程序
#ps –a
用樹狀結構來顯示程序
#ps –H
動態顯示目前執行程序
#top
VIRT程序使用的記憶體總量
以記憶體大小排序 #top –M
以cpu使用量來排序 #top –P
刪除PID為2105的程序
#kill -9 2105
停止PID為2105的程序
#kill -15 2105
修改程序gaim的程序執行優先數續值PR,將優先值修改為10
#nice –n 10 gaim
更改程序ID=2291的程序值先優先順序值PR,PR=5
#renice 5 2291
一般使用者可設定0~19
超級使用者可設定-20~19,數值越大表示優先順序越低
Shell基本語法
#指令 選項 參數
將指令ls –l設定為l別名
#alias l=’ls –l’
在一個指令列中輸入多個指令,必須使用分好將各個指令隔開
#ls –l ; cp –I a b
在多個指令列中輸入一個指令,必須使用反斜線將指令列接續到下一行
#cp –I\
a\
b
列出所有以a為開頭的檔案
#ls a*
列出所有包含a字元的檔案
#ls *a*
列出以a為開頭,二個字元的檔案
#ls a?
列出以a為開頭,三個字元的檔案
#ls a??
查看目前核心的版本
#uname –r
此版本數為基數代表是測試版本
在啟動系統的過程中,除了MBR以外,第一個被讀入記憶體的就是核心。
將核心檔案linux-2.6.25.16.tar.bz2放置在/usr/src下,不要放置在/usr/src/linux中,否則系統容易讀到錯誤的核心檔案。
#cd /usr/src
#tar –jxvf /root/linux-2.6.25.16.tar.bz2
#cd linux-2.6.25.16
#make mrproper
設定編譯選項
#make menuconfig
編譯核心
將所下載的核心檔案解開來放在/usr/src下,並進入核心檔案目錄。
移動到核心檔案目錄/usr/src/linux-2.6.25.16
#cd /usr/src/linux-2.6.25.16
先清除以前可能做過的紀錄,避免產生版本誤差
#make clean
製作核心檔案,會耗時比較久
#make bzImage
製作模組相關檔案
#make modules
安裝模組
#make modules_install
如此就將模組安裝到/lib/modules/2.6.25.16了
編譯好的核心會在/usr/src/linux-2.6.25.16/arch/x86_64/boot/bzImage
安裝核心
將核心檔案複製到/boot/vmlinuz-2.6.25.16
#cp /usr/src/linux-2.6.26.16/System.map /boot/system.map-2.6.25.16
修改開機設定
修改grup檔案/boot/grub/grub.conf
修補核心
補丁檔案只能使用前一版本的核心來做修補
使用find指令來搜尋補丁檔案
#find –name *patch*
解壓縮補丁檔案
#patch patch-2.6.25.15
系統啟動Grub時要求密碼驗證
透過修改/etc/grub.conf檔案來設定
在檔案中加入參數reDisableded和password
可以使用gedit文字編輯器來開啟/etc/grub.conf檔案
reDisableded
password=11111111
因為/etc/grub.conf中含有純文字密碼,所以將此檔案設定為只有root權限才可以存取
#chmod 0600 /etc/grub.conf
帳號安全設定
預設使用者密碼是五位數,密碼有效期限是七天。
可以編輯/etc/login.defs檔案來修改密碼的長度與有效期限。
PASS_WARN_AGE 7
#密碼有效期限為七天
PASS_MIN_LEN 8
#密碼預設長度為八碼
清除沒有設密碼的帳號
可以編輯/etc/passwd檔案來查看哪些帳號沒有設定密碼。
Leon:x:500:500:leon:/home/leon:/bin/bash 有設定密碼
Hello::501:501:hello:/home/hello:/bin/bash 沒有設定密碼
刪除使用者hello
#userdel hello
刪除特殊帳號,沒有使用sendmail可以將news刪除
刪除特殊帳號,沒有使用X-Windows可以將gopher與ftp刪除
重要檔案安全設定
修改關鍵性檔案權限passwd、passwd.old、shadow、xinetd.conf、services、lilo.conf。
將關鍵性檔案修改為root,且不可修改
#chmod 600 /etc/xinetd.conf
#chattr +I /etc/xinetd.conf
等要進行修改的時候在進行修改
#chattr –I /etc/xinetd.conf
縮短自動記錄的指令數量
修改/etc/profile檔案,將指令紀錄改為只記錄100筆
HISTSIZE=100
禁止回應ping請求
#echo “1”>/proc/sys/net/ipv4/icmp_echo_ignore_all
禁止使用者以su指令變成root使用者,只有root群組的使用者可以。
在檔案/etc/pam.d/su中加入以下代碼
Auth sufficient pam_rootok.so debug
Auth regrired pam_wheel.so group=xxx
禁止使用ctrl+alt+delete來重新啟動系統
將/etc/event.d/control-alt-delete檔案內的命令。
註解掉exec /sbin/shutdown –r now “control-alt-delete pressed”
最後執行以下指令
#/sbin/init q
保障系統開啟服務的安全
先檢查哪些服務有被註解掉
#grep –v “#” /etc/services
可以查一下目前系統有執行的服務數量
#ps –eaf | wc –l
檢查目前有哪些服務正在執行
#netstat –ap
將設定服務的檔案屬性設定為不可修改
#chattr +I /etc/services
直接修改指令黨/etc/rc.d/rc3.d、/etc/rc.d/rc5.d
System Port Security Setting
0~1023公認阜,明確的表明了某些服務的協定
1024~49151註冊阜,鬆散地綁訂一些服務
49152~65535動態和私有阜
/etc/service
21 FTP、22SSH、23Telnet、25SMTP、53DNS、69TFTP、80HTTP、109POP2、110POP3、1114SQL、2049NFS、3128Squid
維護日誌黨安全
連線時間日誌
/var/log/wmtp
/var/run/utmp
程序統計
錯誤日誌
/var/log/messages
使用who指令來查詢以前的登入紀錄
#who /var/log/wtmp
顯示目前系統中的每個使用者和所執行的程序資訊
#w
查詢目前登入的使用者
#users
顯示以前到現在登入過的使用者
#last
留言列表