一招一式攻克linux(二)
第二招 基本配置,基本操作,必須掌握的命令
作者:田 逸(sery@163.com)
<網管員世界> 2005年11期
通過第一招的實踐,我們已經可以順利的安裝好linux作業系統,這僅僅是工作的一小部分,現在最迫不及待的事情就是使用這個系統。開啟安裝好linux作業系統計算機的電源,讓機器正常引導,待系統引導完畢,我們的第一個操作—登入開始了;在這一步,能執行的任務就是輸入使用者名稱root和初始安裝時設定的密碼,一旦輸入無誤,便可取得操作整個計算機的所有許可權,開始了挑戰linux的艱難之旅。
超級使用者賬號密碼
為安全起見,需要定期更改超級使用者root的密碼。這個操作十分簡單,在shell提示符#後輸入 passwd回車,然後兩次輸入新密碼即可。退出root登入,然後再次登入,檢驗密碼修改是否正確。然而不幸的事情還是偶爾會發生,剛才更改的密碼記不清楚了,root使用者登入不了,急人啦,難道還要重灌linux作業系統?如果你還想嘗試一遍安裝操作,本是無可厚非的,但這並不是一個好主意,特別是在硬碟上儲存很多重要資料的情形下。請參照下面的操作來解決這個問題:
1、 手動重啟系統:按計算機復位鍵或先關閉計算機在開啟。
2、 當引系統到達“引導載入程式(選擇欲啟動的作業系統)”grub時(redhat 9在安裝的時候,我們預設安裝的載入程式是 grub),按鍵盤字母“e”鍵,如果硬碟上安裝多個作業系統的話,還需要用箭頭選中linux 啟動條目。將看到如下幾行文字(為節省篇幅,多餘的文字省略了)
root (hd0,4)
kernel /boot/vmlinuz-2.4.20-8 ro root=lable/ hdc=ide-scsi
initrd /boot/initrd-2.4.20-8.img
3、 把 “kernel /boot/vmlinuz-2.4.20-8 ro root=lable/ hdc=ide-scsi” 改成 “kernel /boot/vmlinuz-2.4.28 single root=lable/ hdc=ide-scsi”後按Enter鍵,返回編輯螢幕。
4、 按“b”鍵使用上面更改後的選項引導計算機,這樣計算機就進入單使用者模式(執行級別1)而不用輸入使用者名稱和密碼登入。
5、 輸入命令passwd回車,兩次輸入新口令,然後小心儲存。關於口令設定的建議有很多,可以根據自己的情況設定複雜口令。
6、 再次重啟計算機,這時便可順利使用新密碼進入系統了。
這個操作對於管理員來講,是十分有用的,但是如果這個伺服器執行的是關鍵應用,那麼應當把它鎖在機櫃裡,因為不是公司聘用的非管理員也能夠替你執行這個操作,很危險的。
使用者賬號
有句名言叫“linux就是網路”,這就意味著linux系統不是系統管理員一個人把玩的,有太多的理由讓更多的人來使用這個資源。剛安裝完的linux系統,只有一個使用者root;沒有任何責任讓其他僅需使用一部分功能的人來共享root賬號和密碼。既然如此,給要用計算機資源的人開設賬號吧。
1、 開設賬號:在命令提示符輸入 #useradd sery 就可以成功的新增賬號sery,用命令#passwd sery 來給賬號sery 設定密碼。通過這種方式新增的賬號的主目錄將是/home/sery, sery使用者的環境變數.bash_profile在目錄 /home/sery中。也可以指定使用者的主目錄,例如我們要安裝資料庫軟體sybase ase,需要指定它的主目錄為/opt/sybase,通過輸入命令#useradd ╟d /opt/sybase sybse 就可以了,這樣sybase使用者的環境變數路徑也變成 /opt/sybase/.bash_profile。可以把一些使用者新增到一個組了,以滿足特定的功能。上面開設的兩個賬號,預設產生兩個組sery和sybase。
2、 更改賬號:某天,公司的sery離職了,由新來的tieny接替他的工作,可以用命令#usermod ╟l tieny ╟m ╟d /home/tieny sery來實現。當然還應當把口令也改一下。
3、 刪除賬號:sery由於工作不力,被老闆開除了,那麼作為系統管理員應當把他的賬號刪除,先刪除賬號#userdel sery,然後還要刪除sery使用者的主目錄/home/sery。
需要注意的是,上述的賬號操作,只有具備管理員許可權的使用者(比如root)才可以進行的,普通使用者僅僅能更改自己的密碼而已。
文字編輯器vi
要使用unix/linux來完成工作,你沒有辦法來回避使用文字編輯器這個工具。在unix/linux的世界裡,vi是赫赫有名的,ibm的aix、sun的solaris、sco unix、redhat linux等等,沒有一個不用vi 這個編輯工具的。因此,作為unix/linux系統管理員,必須熟練掌握這個基本技能。
vi文字編輯器開啟以後,有兩種模式:命令模式和輸入(或者編輯)模式。在使用過程中,這兩種模式是需要來回相互切換的,初學者對此往往感到迷惑,下面舉一個例子來說明一下:
我們在此要把計算機的主機名改成sery,那麼就用vi編輯器修改配置檔案/etc/hosts檔案。輸入命令 #vi /etc/hosts 回車,立刻進入vi的命令模式。在這種模式下,可以進行查詢、儲存檔案等操作,按字母“i”鍵切換到編輯模式—螢幕底部顯示“insert”,然後游標定位,輸入相關的字元;輸入完畢並檢查無誤後,按“esc”鍵切換到命令模式,接著輸入“:”加wq回車就把剛才的輸入儲存在檔案/etc/hosts裡。整個過程總結一下流程就是:vi filename 開啟檔案—切換到編輯模式(“i”)—-輸入文字—-切換到命令模式(“esc” ,“:”)—-儲存檔案(wq)。
[root@sybase root]# vi /etc/hosts
# do not remove the following line, or various programs
# that require network functi will fail.
127.0.0.1 localhost.localdomain localhost //按i切換編輯模式
202.108.93.200 sery //這行是加上去的
//按esc鍵回到命令模式,再輸入“:”
:wq //儲存檔案退出
有時,檔案修改後不想儲存它,則在命令模式下輸入“:q!”,如果只是開啟檔案而沒有做任何修改,在命令模式下輸入“:q”就可以了。有一個技巧還是需要掌握的,那就是在檔案中查詢字元。編輯一個小的檔案(字元數不多)用游標定位就可以完成修改,但是如果要編輯的一個檔案較大,例如修改apache的配置檔案,根據實際應用,我們僅需對/etc/httpd/conf/httpd.c /etc/httpd/conf/httpd.c vi 使用技能。隨著linux版本不斷的升級,vi也越來越便於使用,例如在linux桌面環境下,可以用滑鼠選定文字,然後使用複製功能來簡化操作。
配置網路引數
如果linux伺服器不連入網路,除了供管理員測試而外,再沒有別的實際意義,因此把linux伺服器連入網路就是必須的了。在第一招安裝linux時,我們已經把網路的一些引數手動輸入了,但是有時還得在實際應用中更改某些引數。網路引數主要包括:ip地址、子網掩碼、預設閘道器和指定dns伺服器。ip地址、子網掩碼、預設閘道器由檔案/etc/sysc vi 開啟/etc/sysconfig/network-scripts/ifcfg-eth0,修改對應的值,我本人習慣把預設閘道器加在這個檔案裡,即在這個檔案裡插入一行“gateway=x.x.x.x”。預設閘道器是個非常重要的設定,如果設定錯誤,linux伺服器就只能訪問同一網段的主機而不能與其他網段的計算機互訪儘管其他的網路引數設定完全無誤。我曾有意無意的犯過這個錯誤,結果每次都是一樣讓人沮喪。在講授網路的課程裡,預設閘道器被定義成一個三層裝置,講得通俗一點就是路由器,它的作用是連線不同網段/子網的通訊,它記錄與它某一埠直連的同一網段的機器mac與ip地址對應值(稱為arp)。路由器/閘道器不會自動獲得同一網段主機的mac-ip值,只有通過手動指定預設閘道器把主機的mac-ip值通告給閘道器。指定dns伺服器地址可以讓linux伺服器以域名的方式訪問網際網路上的其他機器。指定域名伺服器地址過程很簡單,只需用vi編輯檔案/etc/resolve.c nameserver 202.106.0.20 儲存退出。需要特別注意的是,不要把指定dns伺服器與設定本linux伺服器為dns伺服器搞混了,這是兩個完全不同的東西:前者為客戶端,後者為伺服器端。
還有一種特殊情況,在只有一個網路裝置的條件下,我們需要設定幾個ip地址,比如基於ip地址的虛擬主機。這種操作稱為裝置別名。eth0的第一個別名是/etc/sysc
在系統提示符下,用命令#ifc eth0 200.200.200.200 255.255.255.248 up也可指定或修改網路裝置的網路引數。但是這種修改方式是動態進行的,系統重啟以後就無效了。以命令#route add default gw x.x.x.x 新增的預設閘道器也是同樣的效果。
修改網路引數後,要使修改立即生效,不需要重啟計算機,重新啟動網路服務就可以了。在redhat linux 9以後的版本,只要輸入命令#service network restart即可,然後用命令#ifc ╟a來檢驗修改的結果。
修改網路引數需要管理員許可權才能進行。
檔案系統和原始裝置
在這裡介紹檔案系統和原始裝置( raw device)的目的主要是為將來安裝大型資料庫oracle或sybase奠定一些基礎,因為這些資料庫可以使用檔案系統或原始裝置作為邏輯儲存區域。
檔案系統是一種儲存資料的方法,採用分層目錄結構來儲存檔案,由一個根目錄和許多子目錄、檔案組成(ibm aix 5l系統管理技術定義)。redhat linux 9主要包括以下一些目錄:
1、/bin:linux通用命令。
2、/dev:系統裝置檔案。
3、/etc:管理配置檔案。
4、/home:各使用者的目錄。
5、/mnt:掛接裝置的位置。
6、/root:根使用者的主目錄。
7、/sbin:系統管理命令和守護程式。
8、/tmp:臨時檔案目錄。
9、/var:應用程式使用的資料目錄,如系統日誌檔案目錄、匿名ftp目錄等。
10、/usr:手動安裝程式的目錄。
對於檔案系統的目錄及其目錄下的檔案,我們可以直接進行訪問,例如在/tmp下建立目錄/tmp/test。
原始裝置指不是由基礎作業系統可以管理的磁碟,這句話不太好理解。給linux伺服器新增一個硬碟,建立分割槽,但是不能直接用基本命令對這個分割槽進行操作,比如直接在上面建立目錄,只有通過掛接才可以進行磁碟i/o操作。例子的命令:#mount /dev/sdb1 /mnt/dsk2, cd /mnt/dsk2,在這個目錄下就可以建立檔案等基本操作了。sybase等資料庫可以直接指定原始裝置為儲存空間,其目的是使資料的修改立即寫入磁碟。
執行級別
redhat linux 有0-6等幾種執行級別。與solaris和aix的執行級別的定義差異較大。按照前面安裝linux的設定,系統啟動後進入的執行級別是3。要切換到別的執行環境只需輸入#init <runlevel> 。下面列出各個執行級別的功能:
1、 執行級別0:關機操作。
2、 執行級別1:單使用者維護模式。這種模式只能是使用者root,上文我們更改遺忘的 root 密碼就是在這種模式下進行的。另外,有時檔案系統損壞時進行修復,也要在這種模式下進行。執行級別1相當與ms windows 2000的安全模式。
3、 執行級別2:多使用者模式。所有配置檔案系統被掛裝,但nfs資源不可用。執行級別2與ms windows 2000的帶網路的安全模式有些類似。
4、 執行級別3:這是linux伺服器的正常模式,系統資源完全可用。
5、 執行級別4:使用者自定義。
6、 執行級別5:多使用者帶網路服務加圖形介面(init 3加圖形)。這相當於ms windows的正常模式。如果沒有安裝xwindow就不能啟用這個級別,用命令#startx也可從執行級別3切換到執行級別5。
7、 執行級別6:重新啟動計算機。
在一般情況下,我們需要linux伺服器工作在執行級別3下,偶爾為了操作方便會使用5這個級別。linux還有另外一些執行級別,但不多用。熟練掌握上述幾個執行級別對於系統維護是很有幫助的。
遠端操作linux伺服器
linux伺服器基本配置完成後,需要把它撤離測試臺,也許要把它放在隔自己辦公室很遠的idc機房,或者由於同事無法忍受機器巨大的噪音而必須把它放在某個隔離的小房間的機櫃裡。我們更願意坐在自己的辦公桌前,用桌面系統或筆記本來遠端控制和操作放在在某個地方的linux伺服器,然後愜意的喝一杯咖啡。
telnet曾作為最主要的遠端管理工具,由於其存在安全隱患而逐漸失寵,從redhat linux 7.1開始,預設情況下 telnet 服務是不啟用的。安全shell包(ssh)由於它提供對資料的加密傳輸,具備較高的安全特性,因此越來越多的系統管理員正在在使用ssh來管理遠端的 linux伺服器。
要使用ssh服務,應當保證openssh-server軟體包被安裝,一般情況下,ssh伺服器被配置成自動啟動,在 linux伺服器端,不必對ssh做任何設定,只需保證它被安裝和啟動就可以了。redhat linux 允許root使用者遠端登入,而redflag linux則在預設情況下不允許root 使用者遠端登入。可通過修改檔案 /etc/sshd/sshd_c no”表示不允許root使用者遠端登入,“permitrootlogin yes”表示允許root使用者遠端登陸。我本人習慣使用root遠端登入。
1、 從linux連線:輸入命令#ssh <遠端linux伺服器的ip地址或域名>,回車後輸入 root密碼就可以得到root的shell環境,與直接操作linux伺服器一樣。
2、 從windows連線:有多款用來連線linux伺服器的遠端管理工具,比較有名的有securecrt、netterm、xmanager、putty等。securecrt是個不錯的工具,它不僅支援ssh,還支援檔案上傳功能。windows下配置securecrt是比較容易的,在此不做介紹。
下圖是securecrt使用ssh登入linux伺服器的事例:
當作好上述的準備後,真正的遠端操作/控制可以開始了。
本文轉自sery51CTO部落格,原文連結: http://blog.51cto.com/sery/5542,如需轉載請自行聯絡原作者
相關文章
- 一招一式攻克linux(三)Linux
- java攻克微跳Java
- 學習React,從攻克JSX開始ReactJS
- 馬甲包指南 – 攻克 App Store 4.3 條款APP
- 數字智慧經營能攻克哪些難點?
- 馬甲包指南 - 攻克 App Store 4.3 條款APP
- 華為例項:機器學習攻克金融欺詐難題機器學習
- 學程式設計需要攻克的8個障礙!程式設計
- Linux學習(二)Linux
- 前端祕籍,CSS垂直居中必學八式,一招一式盡顯功力前端CSS
- 推動人工智慧發展:駕馭風險,攻克難關人工智慧
- 谷歌、OpenAI學者談AI:語言模型正在努力「攻克」數學谷歌OpenAI模型
- 攻克Vista者說:防毒軟體沒有效果(轉)防毒
- Linux筆記 篇(二)Linux筆記
- 循序漸進linux(二)Linux
- Linux:二、常規使用Linux
- linux練習題(二)Linux
- 遊戲出海浪潮下,這些技術難點該如何攻克遊戲
- 教你如何攻克Kotlin中泛型型變的難點(上篇)Kotlin泛型
- 教你如何攻克Kotlin中泛型型變的難點(下篇)Kotlin泛型
- 智慧家居暴露隱私?港中文等利用LSTM攻克IoT安全設定
- LikeLib:努力攻克區塊鏈技術的基礎壁壘區塊鏈
- LINUX程式如何管理控制(二)Linux
- 二、Linux部署RabbitMQ叢集LinuxMQ
- linux學習筆記二Linux筆記
- Linux共享記憶體(二)Linux記憶體
- Linux亂碼轉換(二)Linux
- linux 二級域名設定Linux
- linux之shell awk 之二Linux
- Linux 筆記分享二:Linux 系統安裝Linux筆記
- Linux入門(二) ~ Linux的常用命令Linux
- 教你如何攻克Kotlin中泛型型變的難點(實踐篇)Kotlin泛型
- 我國首家!武漢企業攻克資料共享領域關鍵技術
- 從IT時代進入DT時代:要攻克智慧機器人研發難關機器人
- 程式設計師學習程式設計需要攻克的8個障礙程式設計師
- OpenAI攻克擴散模型短板,清華校友路橙、宋颺合作最新論文OpenAI模型
- 小議Linux安全防護(二)Linux
- Linux程式設計之gdb(二)Linux程式設計