导航:首页 > 操作系统 > 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引导参数相关的资料

热点内容
文件或文件夹怎样命名 浏览:924
悦跑圈算法 浏览:705
骑砍2霸主作战命令 浏览:980
嵌入式常用算法 浏览:548
csgo不输入命令如何切换服务器 浏览:3
安卓手机怎么开启分身微信 浏览:306
苏格拉底的申辩pdf 浏览:80
php手册怎么下载 浏览:758
哪个app可以看全运会男篮直播 浏览:968
excel中图片怎么压缩 浏览:192
电脑上java编译器 浏览:560
中联压缩式垃圾车报价 浏览:778
我的世界hmcl启动器如何开服务器 浏览:127
安卓7如何开启导航键 浏览:395
无法连接科雷服务器怎么解决饥荒 浏览:192
服务器灭火用什么灭火器 浏览:863
压缩机喷出来的油 浏览:89
fpgadsparm单片机 浏览:761
linux解压多个zip文件怎么打开 浏览:509
阅读app如何看完整小说 浏览:656