2008年9月14日 星期日

Linux 用戶身份和密碼

Linux 分 root 和 user, root 是在 Windows 內的 administrator ! 在 login 時你會用 user 身份 login(你須 disable root 直接 login), 之後如果你想有 admin 權限, 你就須轉用 root 身份才可以做到更改 system 野, 就是有雙重保險, 因為你須用兩個不同的密碼, 所以如有人想控制你 system, 他須破解兩次你的密碼 !
# ( 代表 root)
$ (代表 user)

例如 :
[lisa@lisa ~]$ su -
Password:
[root@lisa ~]#

新增 user 和密碼
# adduser steven (是行一個 script 用 useradd 去製造 user, 會把 /etc/skel 的內容 copy 去 home directory)
# useradd steven (都可以製造 user, 但就吾見了 /etc/skel 內面的檔案, 如 Maildir)

給 user 製密碼 ( 用密碼, 一定要用強密碼, 就是用多過8個位的數目字加大小草和符號如#)
# passwd steven
Unix password

如一個 user 自己想改密碼也可以用
$ passwd lisa

# userdel -r steven (刪除 user)
# passwd -l steven (暫停戶口, Lock account)
# passwd -u steven (重開戶口, enable account)
# usermod sally -l sjones (改 user 名)
# w (檢視有那些 user login 過)
# who (檢視誰在 login)
# ftpwho (檢視誰在 login ftp)
# last steven (查看 steven 的 login 記錄)
# finger steven (查看 steven 的 shell)

# cat /etc/shadow (顯視 user 的壓縮了的密碼)
# cat /etc/passwd (會顯視系統內的全部 user, 可以最多收藏有 user ID = 2^16-1=65535 user)
# id steven (會顯視 steven 的 uid 和 gid )
# find / -uid 529 (找出 user id 529 的全部檔案)

# cat /etc/group (顯視 user 屬於那一個 group)
# find / -gid 504 (找出屬於 group id 504 的全部檔案)

多數 uid 和 gid 0 至 99 會分配給系統內的 applications :
0 是 root
2 是 daemon
(所以如果你見到某 uid 或 gid 是 0, 就代表已有駭客入了你系統)

你也可以用 root 身份去改 user 的 gid, 這樣同一個 group 的人都可以改到某些檔案 !
# vi /etc/group

每一個 user 有分配一個 user name 和一個 group name, 如果你在一個檔案夾內打
$ ls -l
-rwxr-xr-x 1 lisa lisa 19968 5月 14 2006 Regchangeaddress.doc
-rwxr-xr-x 1 lisa lisa 19968 5月 14 2006 Regchangebankac.doc
-rwxr-xr-x 1 lisa lisa 20480 5月 14 2006 sharedraw.doc

你就會見到以上顯視, 如果你想改某檔案的 owner 或 group, 你就可以轉 root 身份用以下指令
#chown user:group file

如果想改成個檔案夾內的全部檔案
#chown -R user:group directory

一個 user 都可以改自已的 group
$ newgrp newgroupname

Linux 開機 mode

呢樣叫 System Initialization.

當你開 Linux 時, 你可以選用視窗開或用文字模式開; 控制這 startup 是在以下 script 中, 你只須用編緝器入去改就可以的了 !

# vi /etc/inittab

0 - halt (關機)
1 - Single user mode (如在 Windows 內的 savemode)
2 - Multiuser without NFS
3 - Full multiuser mode (文字模式)
4 - unused
5 - X11 (Xwindow 視窗模式)
6 - reboot(重新開機)
id:3:initdefault (你只須 3 改為 5, 就可以用視窗開機, 而開動 Xwindow)

/etc/rc.d/rc0 (0至6)

#Trap CTRL-ALT-DELETE
ca:ctrlaltdel:/sbin/shutdown -t3 -r now (這代表如果你按 Ctrl+Alt+Delete, 部機就會重開, 所以想改Ctrl+Alt+Delete 功能, 可以在呢度改, 例如改為關機)

離開 vi 編緝器先按 Esc, 才打 :wq (save and quit), 只打 :w (save and not quit) 或 :q! (強行離開不儲存)

想用 single user mode, 在開機時按 Ctrl-x 和打 : single linux (本人沒用過, 所以你須自己去做 testing)

shutdown 指令, 會用在 script 內 :
# shutdown -h now (shut down)
# shutdown +5 (shut down after 5 min)
# shutdown -r now ( restart)
# shutdown -r 23:30 (restart at special time)
# shutdown [-t sec] [-arkhcfF] time [warning message]
t = default 5 sec
a = system will check /etc/shutdown.allow to give permission to shutdown
r = change to runlevel 6
k = send only shutdown message
h = change to runlevel 0
c = can still change your mind
f = skip fsck when reboot
F = force fsck when reboot
# shutdown -h +10 "system upgrade; start again after one hour"

現時我們在 console 會用以下指令來開關部機 :
# halt (停機)
# reboot(重開機)

黑客入侵大爆炸實驗系統

文匯報

模擬宇宙大爆炸的大型強子對撞器度(LHC)上周啟用,但其電腦網絡竟被一群名叫「希臘安全隊」的黑客入侵,入侵雖然沒有對實驗造成任何影響,但囂張的黑客隨即在網站中建立一個假網頁,譏諷LHC的網絡防護系統的技術員就如學生般幼嫩。

 黑客表示,並不想破壞實驗,只是向科學家發出警告,並用希臘文留言說:「我們把你們的褲子脫掉,其實是不想當恐慌來臨時,你們仍光著身子,忙於尋找躲避處。」被入侵的相信是讓科學家在第1階段實驗完成後進入的網頁,該階段旨在把原子粒子加速至以近光速運行。

  一些焦慮的科學家稱,黑客只差一步就能操控實驗,他們似乎鎖定了「緊湊渺子線圈」(Compact Muon Solenoid, CMS)探測器的電腦系統。CMS是四個負責分析的探測器之一,若能成功再進一步的話,黑客就可把探測器上部分裝置關閉,浪費科學家之前付出的大量心血和 時間。

 負責實驗的核子研究中心(CERN)的發言人則表示,入侵只破壞了一個檔案,而且很快就被偵查出來,並強調網絡有不同的安全等級,操作LHC的敏感資料是載在更嚴謹的網絡中。  ■《每日郵報》/《泰晤士報》

2008年9月13日 星期六

Linux 硬碟顯視

IDE hard disk :
IDE controller 1
Primary master /dev/hda
Primary slave /dev/hdb
IDE controller 2
Secondary master /dev/hdc
Secondary slave /dev/hdd

SCSI hard disk
/dev/sda
/dev/sdb
/dev/sdc
/dev/sdd
等等..........

Partitions 會分為 /hda1, /hda2, /hda3, /hda4, 就是四個Primary partitions 或 Primary partitions + extended partition 中, /hda5, hda6, hda7 等等就是 logical drives.

其他 hardware 會似硬碟型式顯視出來 :
#ls -l /dev/cdrom
/dev/hdc

Printer /dev/Ipo
Modem /dev/ttyso, /dev/ttysa, /dev/ttys2

我在我部 laptop consol 打

[root@lisa ~]# df -hl
Filesystem 容量 已用 可用 已用% 掛載點
/dev/hda7 63G 31G 29G 52% /
/dev/hda5 9.4G 4.7G 4.7G 51% /backup
/dev/shm 379M 0 379M 0% /dev/shm

就顯視以上資料出來; 為何會變為 /dev/hda5 及 /dev/hda7 ?
可能因為我重裝了幾次和次次都保留 /backup 不格式 !
/dev/shm 就是我的 DVD-Rom


# ls -l /dev (顯視你部機的硬件)
# dmesg (檢查你部機的硬件運作)
# top (顯視你 CPU, RAM 和 Swap, 還有 run 緊的軟件和軟件用的 process ID), 打 Ctrl+C 退出 !
# free (檢查已用了幾多 swap)

Linux partition 和 Windows partition 一樣, 吾可以就甘改大小, 一定要用某些軟件來改, 吾係你會失去 partition 內的資料 !
你都可以用 LVM(Logical Volume Manager) 來控制 partition 的大小, 請看 LVM Howto 但用過後覺得幾麻煩, 因為如用在 server, 而你吾成日檢查, 可能因為吾夠位而某些 services 行吾到, 如 mail server 或 news server, 所以預先預多些空間俾重要的 application 就最好的了!

Symbolic link

Linux 有一樣好處, 就係可以用 symbolic link 來把一些檔案夾或檔案, 由一個 partition link 去第二個 partition, 所以你的檔案不一定要放在少位的 partition 內 !
例如你的相放在 /home/lisa/pic, 而你想 webserver 可以 display 你的相, 你可以去 webserver root 度, 如設在 /var/www
#cd /var/www
#ln -s /home/lisa/pic album
甘你就會見到在 /var/www 出現了一個叫 album 的檔案夾 !album 入面的檔案, 就是 pic 入面的檔案 !
當然還須留意 owner 和 permissions 的問題, 但就吾會在呢度講 !
註:我在 Fedora Core 遇到的問題是, 我不把舊 /home 在重裝時格式, 後來不能用 symbolic link 把 home folder link 去 /var/www ! 在另一部全新安裝部機中就做到 !

在 Windows IIS 都可以把第二個 partition 內的檔案夾 link 去 IIS webserver, 呢樣叫 Virtual Directory, 是一個對保安來說很好用的方法 !我以前用 IIS 時, 吾會用 wwwroot, 因為 standard 野, 好昜俾人破解攻入你 server !

2008年9月12日 星期五

Dual boot

好多人都想 Windows 同 Linux 可以在同一部機度行, 所以就會把 Windows 同 Linux 安裝在同一個硬碟中在不同的 partition(分割區)!只須注意要先安裝 Windows, 之後才安裝 Linux, 這樣在開機時, 就會有選單俾你選用那一個 OS 開機 !如果你裝了 Linux 才去裝 Windows, 哪你就須要花一些功夫才可以在選單上見到 Windows !

有些人也會用 VMware 來在一個虛擬的環境下安裝 Linux, 就係在 Windows 機上面行多一層 layer 來 run Linux ! 你也可以用一隻 LiveCD 在 Windows 上行 Linux !

但我本人就比較喜歡間單和 clean, 最多用一隻硬碟行 Windows, 再用另一隻硬碟來行 Linux, 比較麻煩就是要轉換硬碟 !

想刪掉在 dual boot 的 Linux , 你只須格式 Linux 個個 partition 及用 fixmbr 來還原 Windows 的開動 !

(我學習時吾覺寫筆記悶, 但現時重寫 technical 野, 就是幾悶下, 所以會轉一轉方式, 在 technical 文章中挾一些有趣軟件介紹, 我諗會精神好多 !)

2008年9月6日 星期六

Partitioning in Linux

一個 physical hard disk 只可以分割成四個 Primary Partition, 如想分割多過四個 partition 就要把最後那個 Primary Partition 變成 Extended Partition (Logical Partition), 才在這 Extended Partition 內分割出好多個 Logical Drive, 可以說 unlimited, 除了如在 Windows 來說, 你用完了全部 drive letters.(但都有解決方法, 不過這是屬於 Windows 的教學了) Linux system 就不會用 drive letters, 而用 mountpoint (掛戴點).

我們首先要明白為何要分割 partitions ?
因為:

  1. 在一部電腦中可以同時按裝幾個 OS 分開在不同的 partition.

  2. 分開 bootup system 及 operating system 會使 system 行快些.

  3. 防止有些檔案如 log files 突然暴增使硬碟空間用完, 如全部檔案裝在一個partition, 你會連機都 boot 不起了.

  4. 分隔出某些 partition 來裝須保留的檔案, 如相片, mp3或網頁檔(server side); 如須重裝 OS, 可以不須格式這些 partition 來保留檔案; 除非中毒或 bad sector(硬碟的損壞), 這些檔案是可以一路保持落去的(Windows 和 Linux 都可以).


Linux partitions 可以分為 :

/swap - 2 x RAM (RAM 的兩倍大小)- 重裝一定要格式
swap partition can be made in every physically hard drive in SCSI system and in IDE system, but only one in every IDE controller.

/boot - 重裝一定要格式
(最少 50 MB, 但我會分 1G 出來, 因為如 Fedora Core, update kernel 會須要多些空間) - 用來安裝 bootup system, 最好用 ext3.

/root - 重裝一定要格式
(最少 100MB, 如你會再分割其他 partition 出來; 我都會分 1G 出來) - 其實只要你分割了 /swap 及 /root, 你跟本可以 install 成個 OS, 因為不分出來的 mountpoint 會自動放在 /root 下面. 如果你的電腦硬碟小, 而又是用來做 desktop 的, 如手提電腦, 我會建意你只分割 /swap 和 /root或多個 /home(或 /backup 來保存想保留的檔案); 但如果是用來做 server 的, 你就須為了保安, 分割其他 mountpoint 出來 !

/home - 重裝不同版本 Linux 一定要格式, 如同一個版本就不須格式
用來裝用戶的檔案夾, 如用戶的信箱, 個人資料夾或 FTP 檔案夾, 而每一個用戶有自已的檔案夾, 如 /home/steven, /home/janet ! 如果部電腦有多個用戶, 這樣你就須給 /home 多些空間, 例如 mailserver, FTP server, Samba file server ! /home 在重裝時, 可以不須格式的, 但如果你想轉 Linux 版本, 你就一定要格式 /home, 因為不同版本的 user ID 會不同, 如不格式, 你的 user 有機會不能 login !

/usr - 重裝一定要格式
如果 user 安裝軟件, 軟件的 files 會多數放在 /usr 及 /usr/local, 也有 libraries files 會放在 /usr/lib 和分享檔會放在 /usr/share (這是新版 Linux 的新功能) 如不分平台的檔案 : .pdf, .txt, .gif, .jpg, .mp3. 跟隨某平台的檔案就會放在 /bin 和/sbin. 須跟據你想安裝幾多軟件來定空間的大小, 多數 desktop 會需要多些空間(我會分 20G 出來, 因為我通常會安裝各類形的軟件來做 testing, 而 server 就幾 G 都夠用了, 但通常我會分 10 G 出來的 !

/var - 重裝一定要格式
多數 log files 會放在 /var. 如不特設用戶信箱在 /home, 信件多數會放在 /var/spool/mail, 還有 news server 的 post 都會放在 /var/spool/news, 所以如果你開的是多人去的 server, 最好分多些空間出來, 我 server 會分 20 G 出來, 當然如果你的 news server 如 news.3home.net 哪樣忙, 分 100 G 出來都不過分了 ! 但普通的 desktop 分 5 G 出來都已好夠了 ! Desktop 也不須要分 /var/ftp 和 /var/www 出來的, 但如果是一部 webserver, 你就最好分 /var/www 出來 ! 如是一部 FTP server, 你也可以分 /var/ftp 出來 !

/var/ftp - 重裝不須格式, 可以保留檔案

/var/www - 重裝不須格式, 可以保留檔案
因為我 server 以前裝了 gallery, 放了好多相, 有成十幾 G, 所以下次安裝都會加大個 /var/www !

/backup - 重裝不須格式, 可以保留檔案
自定大小睇須要 ! 我當初以為在 Linux 可以自已改 mountpoint 的名如在 Windows, 原來是不可以的, 只可以用系統已有的 !

/opt
100 MB - 2 GB (專業用途, 普通用戶不須分出來)
/opt/applicationname
/etc/opt/applicationname
Here are the special application stored.
When an application is unpacked, all the files will send to different partitions for storage, so when programming houses want to keep their application in one directory, they will use this partition.

以下是老師教落的筆記, 只對想考 Linux 試的人士才有用 !

These partition are worth to be backup :
/home, /etc, /lib, /spool.

sharable
Static partitions
/usr
/opt

sharable
Variable partitions
/var/mail
/var/spool/news

nonsharable
Static partitions
/etc
/boot

nonsharable
Variable partitions
/var/run
/var/lock