導航:首頁 > 操作系統 > linux引導參數

linux引導參數

發布時間:2023-03-01 12:17:31

『壹』 linux開機自啟動,如何跳過開機動畫

某個程序方便後續的管理;那麼我們如何在開機時候,運行此賬戶安裝的程序呢?例如:以linux下指定mycount用戶在linux開機時執行/home/sun/startXX.sh為例:

以root登錄linux

執行vi /etc/rc.d/rc.local

在文檔末尾添加一行語句:su – mycount -c 「/home/sun/startXX.sh」

保存rc.local即可。

這個地方一定要注意 su – 這個是環境的變數也會做相應的轉換;如果環境變數沒有改變的話,我們用su 就可以了。

二、

在Linux中以普通用戶開機自動運行腳本程序

測試環境:CentOS6.5

管理員:root

普通用戶:test1

實現目標:在Linux啟動時,以普通用戶test1自動運行位於根目錄下的腳本程序test.py,該程序會在每次執行時自動向本地日誌文件追加一條記錄,源碼如下:

from datetime import datetime

now=datetime.now()

f=open(『test.log』,』a』)

f.write(『%s 『%now)

f.close()

Linux在啟動時,會自動執行/etc/rc.d目錄下的初始化程序,因此我們可以把啟動任務放到該目錄下,有兩種辦法:

方案一:

1、因為其中的rc.local是在完成所有初始化之後執行,因此我們可以把啟動腳本寫到裡面

2、用root賬號登陸Linux,vi /etc/rc.d/rc.local編輯文件,在最後加入兩行需要執行的腳本程序:

cd /home/test1 –該步不可少,否則會提示沒有許可權打開』test.log』文件

su test1 -c 「python /home/test1/test.py」 –把要執行的命令作為一個參數傳遞級su

方案二:

1、init.d目錄下都為可執行程序,他們其實是服務腳本,按照一定格式編寫,Linux 在啟動時會自動執行,類似Windows下的服務

2、用root帳號登錄,vi /etc/rc.d/init.d/mystart,追加如下內容:

復制代碼

#!/bin/bash

#chkconfig:2345 80 05 –指定在哪幾個級別執行,0一般指關機,

6指的是重啟,其他為正常啟動。80為啟動的優先順序,05為關閉的優先機

#description:mystart service

RETVAL=0

start(){ –啟動服務的入口函數

echo -n 「mystart serive …」

cd /home/test1

su test1 -c 「python /home/test1/test.py」

}

stop(){ –關閉服務的入口函數

echo 「mystart service is stoped…」

}

case $1 in –使用case,可以進行互動式操作

start)

start

;;

stop)

stop

;;

esac

exit $RETVAL

復制代碼

3、運行chmod +r /etc/rc.d/init.d/mystart,使之可直接執行

4、運行chkconfig –add mystart,把該服務添加到配置當中

5、運行chkconfig –list mystart,可以查看該服務進程的狀態

總結:

兩種方案的的核心都是切換用戶到test1,然後執行命令啟動Python程序,做成服務的好處是可以定義多個交互命令,比如:start,stop,restart,reset…,在服務運行的過程中還可以做相應操作。最開始的時候,我按照一般的思路寫了如下腳本,卻怎麼也執行不了:

su test1 –切換到test1用戶

cd /home/test1 –切換到根目錄

python test.py –執行python程序

exit –退出test1帳號

看起來好象一切都沒錯,但是發現只運行了第一行的命令,後面的都沒有運行,直到退出test1用戶後才發現好象執行完畢。分析原因,是因為Linux啟動的時候是在root帳號下,執行su test1等於打開了一個新的shell腳本,因此下面的代碼都在等著新的Shell腳本結束才能運行,就象在主程序里調用了一個子程序,而子程序是個死循環,一下出來來結果下面的要等死了。知道了發生的原因,那麼解決的辦法就相對簡單了,就是在執行上述腳本程序時,不要離開本身的Shell。我們可以把執行命令做為su的一個參數傳遞進去,因為沒有涉及到打開新的Shell,因此可以正常執行你期望的腳本程序,順利實現開機自動啟動指定的腳本程序。

執行方案中重要的一個命令是:

[root@localhost ~]# whoami

root

[root@localhost ~]# su – keysystem -c 「whoami」

keysystem

[root@localhost ~]#

以keysystem用戶執行whoami的命令:

[root@localhost ~]# su – keysystem -c 「whoami」

文章知識點與官方知識檔案匹配
CS入門技能樹Linux入門初識Linux
23840 人正在系統學習中
打開CSDN,閱讀體驗更佳

Linux中沒有rc.local文件的完美解決方法
主要介紹了Linux中沒有rc.local文件的解決方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
最新發布 linux 開機自啟用非root啟動
就會用djq用戶執行mkdir -p /home/djq/222命令。linux 開機自啟用非root啟動。
繼續訪問
linux開機自動執行命令或自動啟動程序(rc.local)
linux開機的最後會執行/etc/rc.local,因此可以在此腳本裡面添加shell命令自動執行或者自動啟動某個進程。 比如 自動輸出信息: #!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In
繼續訪問

跳過網路啟動 linux,Linux啟動時如何跳過fsck
在Linux里,如果一個文件系統被mount過一定次數後,或者距離上次fsck超過一定天數,當系統重起時就會自動fsck。根據文件系統的大小,fsck可能需要幾分鍾甚至幾個小時。隔一段時間作一次fsck是很有必要的,但是如果你不想花費時間fsck,你也可以用如下幾種方法跳過fsck:1. 修改/etc/fstab在/etc/fstab里, 最後一列是系統啟動時fsck的順序。 文件系統 / 應該設...
繼續訪問
linux 查看root 進程,Linux查看非root運行的進程
Linux查看非root運行的進程youhaidong@youhaidong-ThinkPad-Edge-E545:~$ ps -U root -u root -NPID TTY TIME CMD663 ? 00:00:00 dbus-daemon713 ? 00:00:00 rsyslogd730 ? 00:00:00 avahi-da...
繼續訪問
linux上使用非root賬戶啟動運行java程序
事情是這樣的、、、、、、、 公司的app後台程序是java的,在linux上運行時要求必須使用非root賬戶,例如使用app用戶啟動java程序。這次運維有事請假了,所以這個小任務就交給我了,多大的事情啊,這還不是分分鍾搞定的啊。 好了一步步的開始。 第一步:創建mobile賬戶和組 groupadd app useradd -d /usr/app -g app app 第二步:搭建...
繼續訪問
linux用其他賬號停進程,Linux系統上對其他用戶隱藏進程的簡單方法
我使用的是多用戶系統,大部分的用戶通過ssh客戶端訪問他們的資源。我如何(怎麼樣)避免泄露進程信息給他們?如何(怎麼樣)在Debian/Ubuntu/RHEL/CentOS linux伺服器器上阻止/避免他們看到不屬於他們的進程?對linux上的其他用戶隱藏進程的方法解決方法/方案:如果你使用的linux kernel(內核)是3.2以上的版本(或者使用的RHEL/CentOS是6.5以上的版本)...
繼續訪問
轉:linux開機自動運行
實現目標:在Linux啟動時,自動運行位於普通用戶test1根目錄下的腳本程序test.py,該程序會在每次執行時自動向本地日誌文件追加一條記錄,源碼如下: from datetime import datetime now=datetime.now() f=open('test.log','a') f.write('%s '%now...
繼續訪問
跳過開機向導
跳過開機向導
繼續訪問
linux系統rc.local錯誤,Linux開機啟動文件rc.local無法執行的解決方法
眾所周知,rc.local是Linux系統中的一個重要的開機啟動文件,每次開機都要執行這個文件。但最近很多用戶表示系統無法執行這個問題件,從而導致了一系列的問題出現,這是怎麼回事呢?如何解決這個問題呢?下面,跟隨小編一起來看看Linux開機啟動文件rc.local無法執行的解決方法。Linux系統在Linux系統中,有一個重要的開機自動啟動腳本文件:/etc/rc.local---》/etc/rc...
繼續訪問
rc.local出錯影響ubuntu正常啟動,跳過執行rc.local
通過進入單用戶模式,跳過rc.local
繼續訪問
Linux開機啟動,設置rc.local失效解決方案
在/etc/rc.local文件夾下,添加要執行的命令,如/sbin/ifconfig docker0 mtu 1454 注意這里要使用絕對路徑/sbin/ifconfig 如果開機發現執行失敗,則需要在上一行添加sleep 10 由於ifconfig服務不一定在rc.local之前啟動,所以讓系統等待十秒hours在執行sleep 10 /sbin/ifconfig docker0 mtu 14
繼續訪問
Linux系統跳過密碼登錄
一、引導系統 RHEL7的標准引導系統是GRUB2,RHEL6默認使用GRUB1,這里主要講GRUB2。 在Linux系統開機選擇內核時,按下e進入內核引導參數的編輯菜單,找到以linux16開頭的一行,在行末添加更多的命令。例如,在行末尾添加system.unit=emergency.target,然後按Ctrl+X,則系統將會以緊急目標模式啟動。 如果在系統引導到GUI環境中出現問題,可以在內核命令行末尾加入system.unit=multi-user.target,若引導成功,則會登錄到命令行模
繼續訪問
rc.local使用非root用戶
su -aaa-c "/data/tomcat/bin/startup.sh"
繼續訪問
Linux設置非root用戶啟動程序
Linux設置非root用戶啟動程序
繼續訪問
開機自啟動非root用戶的服務
設置非root用戶的服務開機自啟動 比如:chkconfig mysql on 是無效的 可以這樣設置: 在root用戶下 vi /etc/rc.local 或者 vi /etc/rc.d/rc.local 在最後一行加上 su - mysqladmin -c "/usr/local/mysql/startMysql.sh" 其中mysqladmin是管理mysql的用戶, "/usr/loc...
繼續訪問
linux非root用戶打開80,Linux非root用戶如何使用80埠啟動程序
默認情況下Linux的1024以下埠是只有root用戶才有許可權佔用,我們的tomcat,apache,nginx等等程序如果想要用普通用戶來佔用80埠的話就會拋出java.net.BindException: Permission denied:80的異常。bind時perror提示錯誤信息:permission denied解決辦法有兩種:1.使用非80埠啟動程序,然後再用iptables...
繼續訪問
Linux在任意目錄下執行指定的腳本
前言 我有個腳本,我只能在腳本所在的文件夾下面運行,這樣的話很不方便,如果我去了別的目錄下面的話,我就無法運行這個腳本了… 解決 在profile中設置PATH, 假如我想給 xcall 腳本設置能讓在任意的目錄下去運行, 此時xcall在/root/soft/script 目錄下. 編輯環境變數 [root@zjj101 etc]# cd /etc [root@zjj101 etc]# vim profile # 上面省略........ export HIVE_HOME=/root/soft/hive
繼續訪問
Linux系統啟動過程分析
經過對Linux系統有了一定了解和熟悉後,想對其更深層次的東西做進一步探究。這當中就包括系統的啟動流程、文件系統的組成結構、基於動態庫和靜態庫的程序在執行時的異同、協議棧的架構和原理、驅動程序的機制等等。 本人在綜合了現有網上大家智慧的基礎上,結合對2.6.32的內核代碼的研讀,基於CentOS 6.0系統對Linux的啟動流程做了些分析。由於才疏學淺,知...
繼續訪問
linux跳過開機啟動項

『貳』 linux啟動內存參數

啟動參數共分為三類;
其一是標准參數(-),所有的JVM實現都必須實現這些參數的功能,而且向後兼容;
其二是非標准參數(-X),默認jvm實現這些參數的功能,但是並不保證所有jvm實現都滿足,且不保證向後兼容;
其三是非Stable參數(-XX),此類參數各個jvm實現會有所不同,將來可能會隨時取消,需要慎重使用;
本文主要描述標准參數部分,剩下的兩個部分將會陸續推出;

標准參數列表如下:
-client
 設置jvm使用client模式,特點是啟動速度比較快,但運行時性能和內存管理效率不高,通常用於客戶端應用程序或者PC應用開發和調試。

-server
 設置jvm使server模式,特點是啟動速度比較慢,但運行時性能和內存管理效率很高,適用於生產環境。在具有64位能力的jdk環境下將默認啟用該模式,而忽略-client參數。

-agentlib:libname[=options]
 用於裝載本地lib包;
 其中libname為本地代理庫文件名,默認搜索路徑為環境變數PATH中的路徑,options為傳給本地庫啟動時的參數,多個參數之間用逗號分隔。 在Windows平台上jvm搜索本地庫名為libname.dll的文件,在linux上jvm搜索本地庫名為libname.so的文件,搜索路徑環 境變數在不同系統上有所不同,比如Solaries上就默認搜索LD_LIBRARY_PATH。
 比如:-agentlib:hprof
 用來獲取jvm的運行情況,包括CPU、內存、線程等的運行數據,並可輸出到指定文件中;windows中搜索路徑為JRE_HOME/bin/hprof.dll。

-agentpath:pathname[=options]

『叄』 如何修復Linux引導

多種方式安裝Linux系統
1. 製作安裝啟動盤
方法一、在DOS/Windows下製做
G:\dosutils> rawrite
Enter dis image source file name:bootdisk.img
Enter target diskette drive:a
Please insert a formatted diskette into drive A:and press –ENTER--:[Enter]
注:光碟\images\有以下幾個IMG文件
l bootdisk.img 安裝引導盤映像文件
l drvnet.img 網卡驅動盤
l drvblock.img 塊設備驅動盤
l pcmciadd.img PCMCIA設備驅動盤
方法二、在Linux下製做啟動盤
#dd if=boot.img of=/dev/fd0 bs=1440
2. 光碟安裝Linux系統
(1)使用1#光碟啟動計算機
(2)直接按回車鍵/linux text選擇安裝界面
(3)開始安裝向導
3. 硬碟安裝Linux系統
(1)將安裝光碟的ISO文件復制到硬碟的某個分區中
(2)利用1#光碟/安裝啟動盤啟動計算機
(3)輸入linux askmethod選擇安裝介質
(4)開始安裝向導
4. FTP/HTTP安裝Linux系統
(1)准備安裝文件,製作HTTP/FTP伺服器
(2)利用1#光碟/安裝啟動盤啟動計算機
(3)輸入linux askmethod選擇安裝介質
(4)開始安裝向導
二.啟動linux系統
1.Linux啟動過程分析
(1)BIOS自檢
l 硬體檢測及初始化
l 引導啟動設備
(2)引導啟動設備
l 軟盤(0磁軌第一個扇區)
l 光碟(最外圍存儲軌道)
l 硬碟(MBR)
l USB存儲設備
(3)調用Linux引導程序至內存中
l Linux的引導程序可以使用GRUB/LILO等引導軟體
l GRUB/LILO可以安裝在MBR/引導分區的引導扇區中
(4)運行Linux內核
l 內核放在/boot目錄中,Linux系統可以同時支持多版本內核
l 解壓縮內核
l 檢測硬體
l 載入root文件系統
(5)執行init進程
l 啟動新進程或關閉進程
l 選擇啟動模式
l 建立虛擬終端
(6)用戶登錄
l 輸入用戶名及口令
l 載入用戶配置文件
l 載入shell程序
2.引導盤的創建
方法一:安裝過程中創建
方法二:mkbootdisk
#mkbootdisk --device /dev/fd0 2.4.20-8
方法三:使用dd命令
# dd if=/boot/vmlinuz of=/dev/fd0
3.GRUB
(1)安裝GRUB
l 安裝軟體包
#rpm –ivh grub-0.934.i386.rpm
l 使用安裝命令安裝GRUB到MBR
#grub
grub>root (hdx,y)
grub>setup (hdx[,y])
(2)GRUB的配置
#vi /boot/grub/grub.conf
grub.conf中常用的配置命令有:
default=菜單項序號/saved
設置啟動菜單的默認啟動項
hiddenmenu
隱藏菜單界面
splashimage =圖像文件全路徑名
指定某文件作為啟動菜單的背景圖像
timeout=延遲秒數
設置啟動菜單的啟延時
title 菜單項名稱
開始一個菜單項的配置,設置菜單項的名稱
root (hdx,y)
設置GRUB的根設備為linux內核所在的分區
kernel 內核文件名稱
指定內核文件的名稱及載入內核所需的參數
initrd initrd文件名
指定鏡像文件的位置
map (hdx[,y]) (hdx[,y])
建立虛擬磁碟
rootnoverify (hdx,y)
指定windows啟動引導器的位置
makeactive
標識指定分區為活動分區
chainloader +n/文件名稱
調用指定windows啟動文件
password 口令/--md5 口令密文
設置GRUB啟動菜單和菜單項口令
lock
利用password設置的全局口令鎖定菜單項
savedefault
保存當前啟動菜單項為默認啟動
文件實例:
# grub-md5-crypt(產生口令的MD5密文)
# vi /etc/grub.conf
default=0
timeout=50
splashimage=(hd0,0)/grub/splash.xpm.gz
password --md5 #!dfdasdf34123!#@$!#@
title RedHat Linux 9.0
root (hd0,2)
kernel /Vmlinuz-2.4.20-8 ro root=/LABEL=/
initrd /initrd-2.4.20-8.img
password linux
tile windows 2000
rootnoverify (hd0,0)
chainloader +1
lock
(3)GRUB的FAQ
l 編輯模式的使用
用於臨時修改菜單的選項,在菜單界面中按E鍵進入

l 命令行模式的使用
利用命令行命令設置GRUB,在菜單界面中按C鍵進入

grub命令行中常用的命令有:
grub>root (hdx,y) //設置根設備所對應的分區
grub>kernel 內核文件 //設置內核文件的名稱
grub>initrd 鏡像文件名 //設置鏡像文件名
grub>boot //啟動指定操作系統
grub>rootnoveify (hdx,y) //設置根設備所對應的分區,但不檢查載入點
grub>chainloader 文件名 //載入指定的文件
grub>help //獲取幫助
grub>reboot //重啟系統
grub>md5-crypt //生成口令的MD5密文
grub>setup (hdx[,y]) //安裝GURB到MBR/指定分區的引導扇區中
grub>hide 分區 //隱藏分區
grub>cat 文件名 //顯示文件內容
grub>find 文件名 //查找文件
l 如果MBR中的GRUB引導程序被其它程序覆蓋,應該如該恢復
放入第一張安裝啟動盤,開始啟動計算機:boot:linux rescue(啟動linux的修復模式,載入硬碟上的LINUX系統到/mnt/sysimage)
#grub
grub>root (hdx,y)
grub>root (hdx)
l 恢復GRUB的配置文件
由於grub.conf設置的問題,可以採用以下方法進行恢復:
放入第一張安裝啟動盤,開始啟動計算機:boot:linux rescue(啟動linux的修復模式)
#vi /mnt/sysimage/boot/grub/grub.conf
l 如何利用GRUB進入單用戶模式,找回丟失的root用戶口令
在GRUB菜單界面中按e編輯linux菜單項,給內核添加參數single
l 如何卸載GRUB
#rpm -e grub
C:\>fisk/mbr
l 如何製作GRUB啟動盤
#grub-install /dev/fd0
3.init 進程
(1)init進程的作用
init進程是系統啟動第一個進程,它負責載入其它進程、管理系統的其它進程。
(2)init的配置-----inittab文件
/etc/inittab文件用於設置init進程在執行時載入哪些程序,inittab文件由若干個記錄構成,每條記錄格式如下:
ID:RUNLEVEL:ACTION:COMMAND
以下為默認inittab文件內容:
id:3:initdefault:
si::sysinit:/etc/rc.d/init.d/rc.sysinit
l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
pf::powerfail:/sbin/shutdown -f -h +2 「power failure;power shutting down」
pr:12345:powerokwait:/sbin/shutdown –c 「power restored;shutdown cancelled」
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
x:5:respawn:/etc/X11/prefdm -nodaemon
說明:
(3) 修改/etc/inittab文件,可以設置默認啟動模式、各運行級別所載入的程序、CTRLALTDEL的動作、開設虛擬用戶終端
(4)/etc/rc.d 的目錄內容
1)/etc/rc.d/init.d目錄
l 保存所有運行等級需要的所有腳本
l 啟動、停止、重啟某些服務
2)/etc/rc.d/rc
l 系統改變運行等級,通過此腳本檢查/etc/rc.d/rcX.d目錄和文件可存在,以及是否正在運行等,以及運行/etc/rc.d/rcX.d中所有S開頭的腳本
3)/etc/rc.d/rcX.d目錄
l 存放每一運行等級默認啟動項,該目錄中的文件鏈接到:/etc/rc.d/init.d
l 文件名格式為K{Two-digit number} {script name}/S{Two-digit number} {script name},K:以stop參數運行,S:以start參數運行;Two:數字代表執行順序
4)/etc/rc.d/rc.local
l 該腳本在2,3,5運行等級結束時執行
5)/etc/rc.d/rc.sysinit
l 系統初始腳本,用於設置系統的時鍾、載入鍵盤、載入系統字體、載入其他文件系統、激活交換分區、生成日誌文件
三.linux系統修復模式
1. 系統修復模式的簡介
使用安裝光碟啟動修復模式,用於檢測和載入硬碟上已安裝的linux系統到/mnt/sysimage目錄中。該模式主要用於修復損壞的系統,當系統出現故障時可使用修復模式.
2.啟動修復模式
使用1#安裝啟動系統
在boot:提示符下輸入linux rescue啟動修復模式,按照啟動向導啟動系統
linux修復模式的應用
修復系統
找加丟失的用戶口令
修復系統配置

『肆』 linux網路設置

一.安裝和配置網路設備
在安裝linux時,如果你有網卡,安裝程序將會提示你給出tcp/ip網路的配置參數,如本機的 ip地址,預設網關的ip地址,DNS的ip地址等等.根據這些配置參數,安裝程序將會自動把網卡(linux系統首先要支持)驅動程序編譯到內核中去. 但是我們一定要了解載入網卡驅動程序的過程,那麼在以後改變網卡,使用多個網卡的時候我們就會很容易的操作.網卡的驅動程序是作為模塊載入到內核中去的, 所有linux支持的網卡驅動程序都是存放在目錄/lib/moles/(linux版本號)/net/ ,例如inter的82559系列10/100M自適應的引導網卡的驅動程序是eepro100.o,3COM的3C509 ISA網卡的驅動程序是3C509.o,DLINK的pci 10網卡的驅動程序是via-rhine.o,NE2000兼容性網卡的驅動程序是ne2k-pci.o和ne.o.在了解了這些基本的驅動程序之後,我們就可以通過修改模塊配置文件來更換網卡或者增加網卡.
1. 修改/etc/conf.moles 文件
這個配置文件是載入模塊的重要參數文件,大家先看一個範例文件
#/etc/conf.moles
alias eth0 eepro100
alias eth1 eepro100
這個文件是一個裝有兩塊inter 82559系列網卡的linux系統中的conf.moles中的內容.alias命令表明以太口(如eth0)所具有的驅動程序的名稱,alias eth0 eepro100說明在零號乙太網口所要載入的驅動程序是eepro100.o.那麼在使用命令 modprobe eth0的時候,系統將自動將eepro100.o載入到內核中.對於pci的網卡來說,由於系統會自動找到網卡的io地址和中斷號,所以沒有必要在 conf.moles中使用選項options來指定網卡的io地址和中斷號.但是對應於ISA網卡,則必須要在conf.moles中指定硬體的io地址或中斷號, 如下所示,表明了一塊NE的ISA網卡的conf.moles文件.
alias eth0 ne
options ne io=0x300 irq=5
在修改完conf.moles文件之後,就可以使用命令來載入模塊,例如要插入inter的第二塊網卡:

#insmod /lib/moles/2.2.14/net/eepro100.o
這樣就可以在以太口載入模塊eepro100.o.同時,還可以使用命令來查看當前載入的模塊信息:

[root@ice /etc]# lsmod
Mole Size Used by
eepro100 15652 2 (autoclean)
返回結果的含義是當前載入的模塊是eepro100,大小是15652個位元組,使用者兩個,方式是自動清除.
2. 修改/etc/lilo.conf文件

在一些比較新的linux版本中,由於操作系統自動檢測所有相關的硬體,所以此時不必修改/etc/lilo.conf文件.但是對於ISA網卡和老的版本,為了在系統初始化中對新加的網卡進行初始化,可以修改lilo.conf文件.在/etc/lilo.conf文件中增加如下命令:
append="ether=5,0x240,eth0 ether=7,0x300,eth1"
這條命令的含義是eth0的io地址是0x240,中斷是5,eth1的io地址是0x300,中斷是7.

實際上,這條語句來自在系統引導影像文件時傳遞的參數,
LILO: linux ether=5,0x240,eth0 ether=7,0x300,eth1
這種方法也同樣能夠使linux系統配置好兩個網卡.類似的,在使用三個以上網卡的時候,也可以依照同樣的方法.
在配置好網卡之後,就應該配置TCP/IP的參數,在一般情況下,在安裝linux系統的同時就會提示配置網路參數.但是之後如果我們想要修改網路設置,可以使用如下的命令:

#ifconfig eth0 A.B.C.D netmask E.F.G.H

A.B.C.D 是eth0的IP地址,E.F.G.H是網路掩碼.

其實,在linux系統中我們可以給一塊網卡設置多個ip地址,例如下面的命令:
#ifconfig eth0:1 202.112.11.218 netmask 255.255.255.192

然後,使用命令#ifconfig -a 就可以看到所有的網路介面的界面:
eth0 Link encap:Ethernet HWaddr 00:90:27:58:AF:1A
inet addr:202.112.13.204 Bcast:202.112.13.255 Mask:255.255.255.192
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:435510 errors:0 dropped:0 overruns:0 frame:2
TX packets:538988 errors:0 dropped:0 overruns:0 carrier:0
collisions:318683 txqueuelen:100
Interrupt:10 Base address:0xc000

eth0:1 Link encap:Ethernet HWaddr 00:90:27:58:AF:1A
inet addr:202.112.11.218 Bcast:202.112.11.255 Mask:255.255.255.192
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:10 Base address:0xc000

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:3924 Metric:1
RX packets:2055 errors:0 dropped:0 overruns:0 frame:0
TX packets:2055 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
看到網路介面有三個,eth0 , eth0:1,lo,eth0是真實的乙太網絡介面,eth0:1和eth0是同一塊網卡,只不過綁定了另外的一個地址,lo是會送地址。
eth0和 eth0:
1可以使用不同網段的ip地址,這在同一個物理網段卻使用不同的網路地址的時候十分有用。

另外,網卡有一種模式是混雜模式(prosimc),在這個模式下,網卡將會接收網路中所有的數據包,一些linux下的網路監聽工具例如tcpmp,snort等等都是把網卡設置為混雜模式.

ifconfig命令可以在本次運行的時間內改變網卡的ip地址,但是如果系統重新啟動,linux仍然按照原來的默認的設置啟動網路介面。
這時候,可以使用netconfig或netconf命令來重新設置默認網路參數。netconfig 命令是重新配置基本的tcp/ip參數,參數包括是否配置為動態獲得ip地址(dhcpd和bootp),網卡的ip地址,網路掩碼,預設網關和首選的域名伺服器地址
netconf命令可以詳細的配置所有網路的參數,分為客戶端任務,伺服器端任務和其他的配置三個部分,在客戶端的配置中,主要包括基本主機的配置(主機名,有效域名,網路別名,對應相應網卡的ip地址,網路掩碼,網路設備名,網路設備的內核驅動程序),
DNS地址配置,預設網關的地址配置,NIS地址配置,ipx介面配置,ppp/slip的配置等等。在伺服器端配置中,主要包括NFS的配置,DNS的配置, ApacheWebServer配置,Samba的配置和Wu-ftpd的配置
。在其他的配置選項中,一個是關於/etc/hosts文件中的主機配置,一個是關於/etc/networks文件中的網路配置信息,最後是關於使用linuxconf配置的信息。
在linuxconf命令下,同樣也可以配置網路信息,但是大家可以發現,linuxconf程序是調用netconf來進行網路配置的。

另外,在/etc/sysconfig/network-scripts目錄下存放著系統關於網路的配置文件,
範例如下:


<br><br>
ifcfg-eth0* ifdown-post* ifup-aliases* ifup-ppp*
ifcfg-eth1* ifdown-ppp* ifup-ipx* ifup-routes*
ifcfg-lo* ifdown-sl* ifup-plip* ifup-sl*
ifdown@ ifup@ ifup-post* network-functions
ifcfg-eth0是以太口eth0的配置信息,
它的內容如下:
DEVICE="eth0" /*指明網路設備名稱*/
IPADDR="202.112.13.204" /*指明網路設備的ip地址*/
NETMASK="255.255.255.192" /*指明網路掩碼*/
NETWORK=202.112.13.192 /*指明網路地址*/
BROADCAST=202.112.13.255 /*指明廣播地址*/
ONBOOT="yes" /*指明在系統啟動時是否激活網卡*/
BOOTPROTO="none" /*指明是否使用bootp協議*/
所以,也可以修改這個文件來進行linux下網路參數的改變。[/SIZE]
二 網路服務的配置

在這一部分,我們並不是詳細的介紹具體的網路伺服器(DNS,FTP,WWW,SENDMAIL)的配置(那將是巨大的篇幅),而是介紹一下與linux網路服務的配置相關的文件.
1. LILO的配置文件

在linux系統中,有一個系統引導程序,那就是lilo(linux loadin),利用lilo可以實現多操作系統的選擇啟動.它的配置文件是/etc/lilo.conf.在這個配置文件中,lilo的配置參數主要分為兩個部分,一個是全局配置參數,包括設置啟動設備等等.另一個是局部配置參數,包括每個引導影像文件的配置參數.
在這里就不詳細介紹每個參數,特別的僅僅說明兩個重要的參數:password和restricted選項,password選項為每個引導的影像文件加入口令保護. 都知道,在linux系統中有一個運行模式是單用戶模式,在這個模式下,用戶是以超級用戶的身份登錄到linux系統中.人們可以通過在lilo引導的時候加入參數(linux single 或linux init 0)就可以不需要口令直接進入單用戶模式的超級用戶環境中,這將是十分危險的.所以在lilo.conf中增加了password的配置選項來為每個影像文件增加口令保護. 可以在全局模式中使用password選項(對所有影像文件都加入相同的口令),或者為每個單獨的影像文件加入口令.
這樣一來,在每次系統啟動時,都會要求用戶輸入口令.也許覺得每次都要輸入口令很麻煩,可以使用restricted選項,它可以使lilo僅僅在linux啟動時輸入了參數(例如 linux single)的時候才會檢驗密碼.這兩個選項可以極大的增加系統的安全性,建議在lilo.conf文件中設置它們.
由於password在/etc/lilo.conf文件是以明文存放的,所以必須要將/etc/lilo.conf文件的屬性改為僅僅root可讀(0400).

另外,在lilo的早期版本中,存在著引導扇區必須存放到前1024柱面的限制,在lilo的2.51版本中已經突破了這個限制,同時引導界面也變成了圖形界面更加直觀.將最新版本下載解壓後,使用命令make" 後,使用命令make install即可完成安裝.
注意: 物理安全才是最基本的安全,即使在lilo.conf中增加了口令保護,如果沒有物理安全,惡意闖入者可以使用啟動軟盤啟動linux系統.
2. 域名服務的配置文件

(1)/etc/HOSTNAME 在這個文件中保存著linux系統的主機名和域名.範例文件

ice.xanet.e.cn

這個文件表明了主機名ice,域名是xanet.e.cn

(2)/etc/hosts和/etc/networks文件在域名服務系統中,有著主機表機制,/etc/hosts和/etc/networks就是主機表發展而來在/etc/hosts中存放著你不需要DNS 系統查詢而得的主機ip地址和主機名的對應,下面是一個範例文件:

# ip 地址 主機名 別名

127.0.0.1 localhosts loopback

202.117.1.13 www.xjtu.e.cn www

202.117.1.24 ftp.xjtu.e.cn ftp

在/etc/networks 中,存放著網路ip地址和網路名稱的一一對應.它的文件格式和/etc/hosts是類似的
(3)/etc/resolv.conf 這個文件是DNS域名解析器的主要配置文件,它的格式十分簡單,每一行由一個主關鍵字組成./etc/resolv.conf的關鍵字主要有:

domain 指明預設的本地域名,
search 指明了一系列查找主機名的時候搜索的域名列表,
nameserver 指明了在進行域名解析時域名伺服器的ip地址.
下面給出一個範例文件:
#/etc/resolv.conf
domain xjtu.e.cn
search xjtu.e.cn e.cn
nameserver 202.117.0.20
nameserver 202.117.1.9

(4)/etc/host.conf 在系統中同時存在著DNS域名解析和/etc/hosts的主機表機制時,由文件/etc/host.conf來說明了解析器的查詢順序.
範例文件如下
#/etc/host.conf
order
hosts,bind #
解析器查詢順序是文件/etc/hosts,然後是DNS
multi on #允許主機擁有多個ip地址
nospoof on #禁止ip地址欺騙
3. DHCP的配置文件
/etc/dhcpd.conf是DHCPD的配置文件,我們可以通過在/etc/dhcpd.conf文件中的配置來實現在區域網中動態分配ip地址,一台linux主機設置為dhcpd伺服器,通過鑒別網卡的MAC地址來動態的分配ip地址.
範例文件如下:
option domain-name "chinapub.com";
use-host-decl-names off;
subnet 210.27.48.0 netmask 255.255.255.192
{
filename "/tmp/image";
host dial_server
{
hardware ethernet 00:02:b3:11:f2:30;
fixed-address 210.27.48.8;
filename "/tmp/image";
}
}
在這個文件中,最主要的是通過設置的硬體地址來鑒別區域網中的主機,並分配給它指定的ip地址,hardware ethernet 00:02:b3:11:f2:30指定要動態分配ip的主機得網卡的MAC地址,fixed-address 210.27.48.8指定分配其ip地址。filename "/tmp/image"是通過tftp服務,主機所要得到的影像文件,可以通過得到的影像文件來引導主機啟動
4. 超級守候進程inetd的配置

在linux系統中有一個超級守候進程inetd,inetd監聽由文件/etc/services指定的服務的埠,inetd根據網路連接請求,調用相應的服務進程來相應請求.在這里有兩個文件十分重要,/etc/inetd.conf和/etc/services,文件/etc/services定義linu系統中所有服務的名稱,協議類型,服務的埠等等信息,/etc/inetd.conf是inetd的配置文件,由它來指定那些服務可以由 inetd來監聽,以及相應的服務進程的調用命令
.首先介紹一下/etc/services文件,/etc/services文件是一個服務名和服務埠對應的資料庫文件,
如下面所示:
/etc/services文件

(實際上,以上僅僅是/etc/services的一部分,限於篇幅沒有全部寫出)

在這個文件中,為了安全考慮,可以修改一些常用服務的埠地址,
例如可以把telnet服務的埠地址改為52323,www的埠改為8080,ftp埠地址改為2121等等,這樣僅僅需要在應用程序中修改相應的埠即可.這樣可以提高系統的安全性.

/etc/inetd.conf文件是inetd的配置文件, 首先要了解一下linux伺服器到底要提供哪些服務。一個很好的原則是" 禁止所有不需要的服務",這樣黑客就少了一些攻擊系統的機會./etc/inetd.conf範例文件

大家看到的這個文件已經修改過的文件,除了telnet 和ftp服務,其他所有的服務都被禁止了.在修改了/etc/inetd.conf之後,使用命令kill -HUP (inetd的進程號),使inetd重新讀取配置文件並重新啟動即可.
5. ip route的配置

利用linux,一台普通的微機也可以實現高性價比的路由器.

首先了解一下linux的查看路由信息的命令:
[root@ice /etc]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
202.112.13.204 0.0.0.0 255.255.255.255 UH 0 0 0 eth0
202.117.48.43 0.0.0.0 255.255.255.255 UH 0 0 0 eth1
202.112.13.192 202.112.13.204 255.255.255.192 UG 0 0 0 eth0
202.112.13.192 0.0.0.0 255.255.255.192 U 0 0 0 eth0
202.117.48.0 202.117.48.43 255.255.255.0 UG 0 0 0 eth1
202.117.48.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 202.117.48.1 0.0.0.0 UG 0 0 0 eth1
命令netstat -r n 得到輸出結果和route -n是一樣的.它們操作的都是linux 內核的路由表.

命令cat /proc/net/route的輸出結果是以十六進製表示的路由表
.

[root@ice /etc]# cat /proc/net/route
Iface Destination Gateway Flags RefCnt Use Metric
Mask
eth0 CC0D70CA 00000000 0005 0 0 0 FFFFFFF
eth1 2B3075CA 00000000 0005 0 0 0 FFFFFFF
eth0 C00D70CA CC0D70CA 0003 0 0 0 C0FFFFF
eth0 C00D70CA 00000000 0001 0 0 0 C0FFFFF
eth1 003075CA 2B3075CA 0003 0 0 0 00FFFFF
eth1 003075CA 00000000 0001 0 0 0 00FFFFF
lo 0000007F 00000000 0001 0 0 0 000000F
eth1 00000000 013075CA 0003 0 0 0 0000000
通過計算可以知道,下面的這個路由表(十六進制)和前面的路由表(十進制)是一致的.
我們還可以通過命令route add (del )來操作路由表,增加和刪除路由信息.

除了上面的靜態路由,linux還可以通過routed來實現rip協議的動態路由.我們只需要打開linux的路由轉發功能,在/proc/sys/net/ipv4/ip_forward文件中增加一個字元
1.

三.網路的安全設置
在這一部分,再次強調一定要修改/etc/inetd.conf,安全的策略是禁止所有不需要的服務.
除此之外,還有以下幾個文件和網路安全相關.
(1)./etc/ftpusers ftp服務是一個不太安全的服務,所以/etc/ftpusers限定了不允許通過ftp訪問linux主機的用戶列表.當一個ftp請求傳送到 ftpd,ftpd首先檢查用戶名,如果用戶名在/etc/ftpusers中,則ftpd將不會允許該用戶繼續連接.範例文件如下:

# /etc/ftpusers - users not allowed to login via ftp
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
nadmin
(2)/etc/securetty 在linux系統中,總共有六個終端控制台,我們可以在/etc/securetty中設置哪個終端允許root登錄,所有其他沒有寫入文件中的終端都不允許root登錄.範例文件如下:
# /etc/securetty - tty's on which root is allowed to login
tty1
tty2
tty3
tty4
(3)tcpd的控制登錄文件/etc/hosts.allow和/etc/hosts.deny

在tcpd服務進程中,通過在/etc/hosts.allow和/etc/hosts.deny中的訪問控制規則來控制外部對linux主機的訪問.它們的格式都是

service-list : hosts-list [ : command]
服務進程的名稱 :
主機列表 可選,當規則滿足時的操作

在主機表中可以使用域名或ip地址,ALL表示匹配所有項,EXCEPT表示除了某些項, PARANOID表示當ip地址和域名不匹配時(域名偽裝)匹配該項.

範例文件如下:
#
# hosts.allow
This file describes the names of the hosts which are
# allowed to use the local INET services, as decided
# by the '/usr/sbin/tcpd' server.
#
ALL : 202.112.13.0/255.255.255.0
ftpd: 202.117.13.196
in.telnetd: 202.117.48.33
ALL : 127.0.0.1
在這個文件中,網段202.112.13.0/24可以訪問linux系統中所有的網路服務,主機202.117.13.196隻能訪問ftpd服務,主機202.117.48.33隻能訪問telnetd服務.本機自身可以訪問所有網路服務.

在/etc/hosts.deny文件中禁止所有其他情況:
#/etc/hosts.deny
ALL : DENY : spawn (/usr/bin

閱讀全文

與linux引導參數相關的資料

熱點內容
表格怎麼轉移到另一個文件夾 瀏覽:921
同態加密gpu 瀏覽:216
程序員告訴你網賭為什麼贏不了 瀏覽:971
程序員最帥操作 瀏覽:72
雲伺服器可以隨時更換嗎 瀏覽:489
老款車在哪裡可以買到app 瀏覽:460
程序員事業單位 瀏覽:68
特來電需要用哪個App 瀏覽:881
電腦如何共享其他伺服器 瀏覽:260
php網站性能優化 瀏覽:354
被子收納袋壓縮真空 瀏覽:30
h1z1選什麼伺服器 瀏覽:484
蘋果版三國殺怎麼在安卓上下載 瀏覽:728
安潤國際app在哪裡下載 瀏覽:438
iospdf教程下載 瀏覽:332
加密貨幣換手率300表示什麼 瀏覽:727
手機wps新建文件夾存照片 瀏覽:399
單片機rgbled 瀏覽:963
怎麼通過文件加密後發給微信好友 瀏覽:90
用虛擬機編程 瀏覽:821