Linux 操作系统技术使用总结
Linux 的軟體配置
在這裏,配置的物件並非內核,而是軟體。至於網路的配置,主要在安裝系統是已經基本完成;也可以進入GUI介面從功能表選擇liloconf來配置。
與WINDOWS一樣,在LINUX系統可以從光碟、軟碟安裝應用軟體;但不同的是,它需要用命令mount來登錄光碟機、軟盤機。而且,軟體大多是經過壓縮的,所以還需要懂得如何解壓。最後必須配置、編譯才能運行。下面分四個方面進行介紹:
一、mount登錄
LINUX的軟盤機設備用特殊文件/dev/fd0,文件系統是msdos,因此用以下命令登錄,讀取軟碟內容:
# mount -t msdos /dev/fd0 /mnt/floppy
# cd /mnt/floppy
同理,鍵入以下命令讀光碟:
# mount -t iso9660 /dev/hdb /mnt/cdrom
# cd /mnt/cdrom
然後,用cp命令將所需的軟體拷貝到系統中。
退出軟盤機、光碟機用umount命令。注意,不能在其目錄中使用此命令,而應先cd到其他目錄,再使用:umount /mnt/cdrom。
二、安裝軟體
關於LINUX的軟體一般是以.gz或.tar或者.tar.gz結尾的。前者是由gzip壓縮的,後者是先用tar歸檔,在用gzip壓縮而成的。
1、以.gz結尾的爲壓縮文件,用命令:gzip -d filename來解壓,得到的文件在當前目錄中,但已沒有了.gz。
2、以.tar結尾的爲歸檔文件,用命令:tar -xvf filename來展開,生成的文件與原始檔案在同一目錄中,只是少了.tar。
3、以.tar.gz結尾的文件最常見,可直接用命令:gzip -cd filename | tar xfv -來安裝。
一般情況下,這類文件的第一項是一個目錄,所以用上面的命令時會創建出這一個目錄,並把所有的文件都存在此目錄之下。如果是特殊情況,可先用命令:tar -tvf filename | more 來查看文件的第一項。倘若它並不是目錄,則先創建一個目錄,把文件放在此目錄之下,在用命令:tar -xvf filename來安裝。
經過以上步驟,會生成README及INSTALL等文件。用vi來仔細閱讀這些文件造處於LINUX有關的部分,更具體是進行配置。一般的步驟是:(1)./config,(2)make install,(3)make。主要的變化在第一步,其後面需要參數, 可見入命令來選擇:./config --help。
Linux支援幾種類型的文件系統的介紹
minix
最老的、認爲也是最可靠的,但性能上是很有限的(有時沒有標誌,檔案名最多30個字元)並且容量也是有限的(每個這樣的文件系統最多 64MB)。
xia
一個 minix文件系統的修正版本,降低了對檔案名長度以及文件系統
大小的限制,但並沒有引進新的特性。它並不流行,但據報道工作的很好。
ext3
非常有特色的出自於 Linux的文件系統,也是當今最流行的文件系統
。它被設計成易於升級的,這樣文件系統代碼的新版本就不需要重建已存在的文件系統。
ext
是 ext2 的老版本,不是向上相容的。已不再在安裝中使用了,並且
大多數人都已轉換到了 ext2。另外,還支援一些外來的文件系統,使
得與其他作業系統交換文件變得更容易了。這些外來的文件系統工作起來如同本地的一樣,只是它們缺乏一些通常的 UNIX的特徵,或者有
著奇特的限制或其他古怪的地方。
msdos
與 MS-DOS 的(以及 OS/2 和 Windows NT) FAT 文件系統相容。
usmdos
是在 Linux 下對 msdos 文件系統的擴展,支援長檔案名、所有者、
許可權、連接以及設備文件。這使得一個常規的 msdos 文件系統能
夠想 Linux的文件系統一樣的使用,因此對Linux來說也就無需一個
獨立的分區了。
Iso9660
標準的 CD-ROM 文件系統;自動支援允許更長檔案名的 Rock Ridge 擴展文件系統。它是對標準 CD-ROM 文件系統的擴展。
nfs
一個網路文件系統,允許在許多電腦之間共用一個文件系統,易於這些電腦對文件的訪問。
hpfs
OS/2 的文件系統。
sysv
SystemV/386,以及 Xenix 文件系統。
要依具體情況來選擇使用文件系統。如果相容性或其他原因使得需要使用一個非原始的文件系統,那就必須使用其中的一個。如果能自由地選用文件系統的話,那麽選用 ext3 也許是最明知的,因爲它有所有的特徵並且
沒有性能上的下降。
還有一種 proc 文件系統,通常作爲 /proc目錄來訪問,它其實完全不是
一個真正的文件系統,儘管看起來它很象。proc 文件系統使得訪問某些內
核的資料結構變得很容易,如進程列表(因此還有名字)。它使得這些資料結構看起來很像是一個文件系統,並且能夠使用所有通常的文件工具來操作處理。例如,要取得所有進程的一個列表,可以使用命令。
Samba服务典型的三种共享配置
pub - 不需要密码,且可读写及删除档案。
read-only - 不需要密码,但只可以读取档案
user1 - 需要密码,可读写及删除档案。
步骤如下:
一、首先以root身分登录进入系统。
二、编辑/etc/smb.conf文件,将"unix password sync = no"这个一句改为 "unix password sync = yes"。这样子的话,以后系统增加使用者时,会自动将该使用者的密码也更新到/etc/smbpasswd内 (Samba的帐号密码文件)。
三、到/home目录下增加下列目录,并指定这些目录的权限:
/home/pub nobody:nobody 777
/home/read-only root:root 755
/home/user1 user1:user1 700
四、编辑/etc/smb.conf这个文件,修改:
security = share
五、编辑/etc/smb.conf这个文件,到文件最后面增加下面几句:
[public]
comment = Public Areas
path = /home/pub
browseable = yes
guest ok = yes
writable =yes
[read-only]
comment = Read-Only Areas
path = /home/read-only
browseable = yes
guest ok = yes
[user1]
comment = Password Required
path = /home/user1
browseable = yes
writable = yes
完成后存盘离开。
六、重行运行Samba:
samba restart
WindowsNT和Linux的文件許可權一個區別
先說說大家熟悉的Windows,對於WindowsNT,只要你對某個文件設置了所有人不可寫的安全屬性(也就是文件許可權咯),無論在哪個文件夾中都是不可以刪除的,不管他所在的文件夾的安全屬性是什麽。
當大家習慣了Windows的安全屬性設置後,形成一個觀念,文件是否可以刪除是取決於這個文件的安全屬性。我本來也有這個概念。
然後我們來看看日益增多的Linux系統。我用的是RedHat和紅旗Linux,應該其他Linux也一樣。
如果在Linux中有一個目錄假定爲 share (許可權drwxrwxrwx,即任何人
完全控制),他的下面有一個文件amtr,假設這個文件是某個用戶寫給root的一個message,他不想讓別人看到文件的內容,於是把 amtr 的許可權設置爲 -rw-------,這樣應該差不多了吧——如果另一個用戶在 share 目錄執行cat amtr就會顯示Permission denied(沒有許可權)。
但是,如果另一個用戶在 share 目錄下執行 rm amtr,你說會有什麽結
果——amtr不見了。更壞的,別的用戶可以任意改名。如執行 mv amtr rootTMD,呵呵,這樣root肯定會看。
究其原因,是因爲Linux把文件的i-nod資訊全都交給了目錄管理。包括文件存不存在、檔案名是什麽、文件存放在磁片哪里等資訊。只要你有這個目錄的寫許可權,就可以刪除目錄下的任意文件(注:這裏的文件不包括目錄)和更改目錄下的任意文件的檔案名(注:包括目錄)。
特別的,對於目錄,如果你這個目錄只是一個空目錄的話,就相當於一個文件,完全可以刪除。但是因爲Linux不能刪除一個非空的目錄。只要你的目錄別人沒有權利寫且目錄內有別人沒有許可權寫的文件,那就不能刪除你的目錄(執行 "rm -r 目錄名" 不是把目錄從當前目錄一點截斷,而是用遞迴逐個刪除目錄內容,所以沒辦法刪除),最多改個名字。
大家應該可以看到/tmp的許可權是 drwxrwxrwt ,t的意思是只有創建者可
以修改。原來我以爲這樣設的原因是不讓別人把tmp這個目錄給刪掉,把這個目錄設成 o+t 的原因還有不讓你刪除別人不給刪但是又在這個目錄下的東西。
所以在Linux中要小心不要把你的重要文件放在任何人完全控制的目錄裏。即使這個文件的許可權是0。
文件目錄的許可權
linux下,每一個文件、每一個目錄都有一個屬主,並針對用戶自己、用戶
所在組、其他所有帳號(組)分別設定讀、寫、執行三種許可權。例如,我(假定是webusers組的floatboat帳戶的擁有者)使用如下命令建立一個新的文件
mkdir mytestfile 然後我們使用ls -l mytestfile這一命令來查看這個文件
的許可權狀態(關於ls命令,可以查閱本站的命令查詢),可以得到如下的螢幕輸出顯示:
-rw-rw-r-- 1 floatboat webusers 0 Feb 6 21:37 mytestfile
輸出由空格分爲9個部分,我們比較關心第一、三、四個欄位,分別表示文件許可權屬性、文件所有者帳戶、文件所屬組。
◆ 使用chown命令修改文件的主人
當你新建立一個文件的時候,文件的所有者當然就是你了。這一事實只有超級用戶(比如說root)才可以通過chown命令改變(例如 chown otheruser mytestfile,把mytestfile文件的屬主改爲
otheruser)。普通用戶不能把自己的文件“送”給別人,不然你把有特殊目的的程式給了root怎么辦?:)
chown命令的用法比較簡單。這裏我先假設你現在擁有超級用戶許可權,那么你就可以使用如下命令將一個文件“送給”floatboat了:
chown floatboat /home/floatboat/thefileisrootcreate.txt (假定該文件是由root創建的)
修改一個目錄的所有者也是類似的:
chown floatboat /home/newboat
當然,如果這個目錄還有子目錄及文件需要同時送給floatboat,chown也是支援-R參數的:
chown -R floatboat /home/newboat
如果你同時想修改文件/目錄所屬的組的話,你可以使用以下命令方便的達到目的:
chown -R floatboat.ftpusers /home/newboat
這樣,不但文件主人得到了修改,文件所屬的組也變成了ftpusers
◆ 修改文件的組屬性
文件所屬組你倒是可以改變,前提是:
1、你的超級用戶。
2、你同時屬於兩個或兩個以上的組。
兩個條件你至少具備一個,你才能夠把文件所屬舊組變爲新組。使用如下的命令將當前目錄下所有html文件所屬的組改爲httpd:
chgrp httpd *.html
和chown命令一樣,chgrp也可以使用-R參數對一個目錄內的所有文
件和子目錄進行遞迴的修改組屬性。
<提示>:你可以使用不帶參數的groups命令查看自己屬於哪個組。
文件許可權的設定是我們這一小節討論的核心,我們主要介紹chmod命令的兩種用法。
◆ 使用訪問字串設置文件目錄許可權
正如前面所說的,每一個文件、目錄都針對用戶自己、用戶所在組、其他所有帳號(組)分別有讀、寫、執行三種許可權及其組合。當一個普通用戶新建一個文件的時候,它默認的訪問許可權顯示就如我們剛才所舉例子的第一個欄位所示。總共十位元字元“-rw-rw-r--”,第一位是目錄區分標誌,如果是d的話,表示這是一個目錄。第二到四位分別表示文件所有者的讀(r:read)、寫(w:write)、執行(x:execute)屬性,第五到七位元是文件所屬組的讀、寫、執行許可權,第八到第十位則是其他用戶的讀、寫、執行許可權。如果對應的位元是相應的字母,就是有這相應許可權,否則爲“-”,表示沒有獲得這個許可。象剛才例子中的文件就是自己可讀寫,本組可讀寫,其他用戶可讀,所有的用戶(包括自己)都不能執行它。我們的用u、g、o分別來指代用戶(user)、組(group)、其他帳
戶(other),就可以方便的設置文件和目錄的許可權了。當然,我們也可以用a來表示所有的這三項。
例如,我們要對所有perl的腳本文件設定許可權,對所有用戶都可以讀和執行,文件所有者還允許寫許可,那么我們可以使用如下命令:
chmod a+rx,u+w *.pl
注意:如果要使用多個訪問字串,它們之間要用逗號隔開,各個許可字串之間不允許有空格。正如上例所示。
如果要修改目錄中所有文件和子目錄的許可權屬性,可以使用chmod提供的-R參數來遞迴修改。例如,下列命令將/www/site1目錄及其下
面的子目錄的許可權屬性設定爲所有者和組可讀、寫、執行,其他用戶不可訪問:
chmod -R a+rwx,o-rwd /www/site1
注意,不要輕易使用-R選項,這可能會帶來安全隱患。
使用字串方便了理解,單輸入那么多字母還是有點累,如果你對8進制有些概念的話,可以使用下面介紹的方法來做許可權設置。
◆ 使用八進位數設置文件目錄許可權
我們知道,在ls -l的輸出中,文件許可權表示爲“-rw-rw-r--”,前一位元只和是否爲目錄有關,其他九位元正好可以分成三段,每段三位,“rw-”、“rw-”和“r--”,“-”代表無效“0”,其他字元代表有效“1”,那么這個文件的許可權就是“110”、“110”、“100”,把這個2進制串轉換成對應的8進制數就是6、6、4,也就是說該文件的許可權爲664(三位八進位數)。我們也可以使用類似這種三位八進位數來設定文件授權,如上邊兩個例子,就也可以寫爲:
chmod 755 *.pl
chmod -R 770 /www/site1
是不是很簡潔?關鍵在於你能根據你需要設定的許可權正確的選擇八進位數(利用八進位數的二進位表示可以非常輕易的做到這一點)。
◆ 讀、寫、執行的許可權說明
1、所謂寫的許可權,也就是對文件修改和刪除的許可權。如果目錄的寫許可權也對你開放了,則可以創建、刪除或修改該目錄下的任何文件或自目錄——即使該文件和子目錄並不屬於你。
2、對目錄有唯讀許可的用戶,不能用cd命令進入該目錄;還必須同時有執行許可才可以進入該目錄。
3、必須同時擁有讀和執行許可權才可以使用ls這樣的程式列出目錄內容清單。
4、只對目錄有執行許可權的用戶,想訪問該目錄下的文件有讀許可權的文件,必須知道該檔案名才可以訪問。
使用Linux的5個技巧
1、消除Xwindows下的死機現象
我們可以用兩個常用的方法來消除這種現象:第一,用鍵盤上的複合鍵 “Ctrl+Alt+Backspace”來關閉當前正在運行的任務;第二,首先按住鍵盤上的“Ctrl+Alt+F2”複合鍵,讓系統切換到另一個操作臺,然後登錄到系統,再執行“#ps -ax/grepstartx”命令,這將會列出你的Xserver的進程標識,接
著在令行中輸入如下命令就能消除Xwindows下的死機現象:#kill -9 PID_Number,最後通過“Alt+F1”複合鍵返回到原來的平臺。
2、快速關閉Linux系統
最新版本的Linux/UNIX系統借鑒了大型機的技術,採用了抗掉電的日誌式文件系統,可以自動跟蹤保存用戶資料,自動同步刷新文件系統,用戶完全可以隨手關閉電源,從而達到快速關閉系統的目的。
3、巧妙使用“rm”命令
我們可以使用帶“-r”參數的“rm”命令來刪除一個非空目錄,例如
我們在命令行中輸入“rm -r bbb”這樣的命令,表示系統將把bbb目錄中包含
的所有文件和子目錄全部刪除掉。
4、巧妙使用“Tab”鍵
大家知道在Linux字元介面中輸入命令時,有時需要輸入很多字元,如果經常這樣逐個地輸入字元,比較麻煩。假設鍵入的字元足以確定該目錄下一個惟一的文件時,我們只需按鍵盤上的“Tab”鍵就可以自動補齊該檔案名的剩下部分,例如要把目錄/ccc下的文件“ddddddd-1.2.3.tar.gz”解包時,當我們
在命令行中鍵入到“tar xvfz/ccc/d”時,如果該文件是該目錄下惟一以“d”
打頭的文件的話就可以直接按下“Tab”鍵,這時命令會被自動補齊爲:
tar xvfz /ccc/ddddddd-1.2.3.tar.gz ,從而提高了輸入效率。
5、多用滑鼠拷貝與粘貼來提高操作速度
Linux系統安裝後,每次啓動到字元介面時都會自動運行一個叫“gpm”的程式,該程式運行後就可以用滑鼠來拷貝與粘貼了。具體做法是按住滑鼠左鍵拖動使要拷貝的地方突出顯示,這時突出顯示的區域已經被拷貝,再按滑鼠右鍵拷貝的內容就會被粘貼在游標所在位置了。如果我們在Xwindow下運行Linux系統,拷貝與粘貼的操作與在Windows 9x系統下一樣。
通過Samba共享文件和打印機
SMB(服務器信息塊),是Microsoft和Intel最初開發的一個協議,它允許Windows系統彼此共享磁盤和打印等資源。現在也可以應用於包括Linux領域。通過SMB可以把Red Hat Linux變成一台SMB客戶機或者伺服器,你可以允許Windows9x,WindowsNT/2000等系統的SMB用戶客戶機用戶使用你的Linux磁盤和打印機;同樣,你的Linux用戶也可以從SMB伺服器使用如 Windows9x,WindowsNT/2000等上的磁盤和打印機。
1.安裝Samba
安裝samba軟件包samba-2.2.1a-4.i386.rpm(在RedHat7.2安裝盤1#的/RedHat/RPMS目錄下),可以用rpm -ivh samba-2.2.1a-4.i386.rpm 命令安裝
用vi或其他編輯軟件打開/etc/samba/下的smb.conf文件的内容,其中以#和;開始的行代表注釋的内容,Samba對其不予理睬,以一對方括號如[global]來定義的行,它定義的是一個部分。
(1)如果要共享Linux下/pub目錄中的内容,且設為完全共享,無論在Linux或者Windows下每個用戶都可以用guest這個賬號進行登陸和映射磁盤分區。需做如下設置:
在【gobal】欄位下,添加netbios記錄,一般加在workgroup記錄的下一行;
netbios name = testsamba
·在【gobal】欄位下,修改secrity記錄;
secrity = share
·在【public】欄位下,修改path記錄;
path = /pub
·在【public】欄位下,添加guest ok記錄;
guest ok = yes
·刪除【public】欄位每行行首的";"標示,以使其產生作用
(2)如果在 Linux下的用戶要共享一台Windows 打印機,需做如下設置:
smbclient //windows name/SharePrinter name -U guest -N -P[/url]
一旦連接完畢,你可以在smbclient提示符後輸入類似於
print /root/viewdbg.txt
的命令來打印該文件。如果你的打印機開始正常打印文件,那麽你的工作已經完成了一半。
現在你可以用RedHat中基於X-Windows的printtool應用程序。在其中添加打印機。選擇LanWindowsManagePrinter(SMB)並繼續進行設置,添入相應的打印伺服器的信息,並用guest作爲賬戶,密碼置為空值。完成後即可進行測試打印。
(3)如果在Windows下的用戶要共享一台Linux打印機,Windows用戶可以以guest用戶進行登陸,[url=http://www.csdn.net/Linux%20Documents/課類/samba-2.2.1a4.i386.rpm]需做如下設置:
在【printers】欄位下,設置打印機的權限