/etc/sysconfig/network  这个文件主要的功能用于设定默认的GATEWAY,修改主机名称(HOSTNAME),是否启动Network.

/etc/sysconfig/network-scripts/ifcfg-ethn  这个文件是设定网卡的参数文件,如network,IP,netmask,broadcast,gateway,开机时IP协议的方式(DHCP,static).

/etc/modules.conf  这个文件只在找不到网卡芯片的时候才会用到,亦即开机时系统一些核心模块的加载文件.

/etc/resolv.conf   这个是设定DNS的文件.

/etc/hosts  这个文件可以记录计算机的IP对应主机的名称或者主机的别名.

ifconfig 查看IP地址参数

/etc/rc.d/init.d/network restart 重新启动网络接口
ifup eth0  启动eth0网卡
ifdown eth0  关闭eth0网卡

固定IP上网方式
一./etc/sysconfig/network   设定主机名称与默认网关
二./etc/sysconfig/network-scripts/ifcfg-eth0  设定网卡参数
三./etc/resolv.conf  设定DNS主机的IP
四.重新启动网络设定
/etc/rc.d/init.d/network restart
ifdown eth0
ifup eth0

Cable Modem上网方式
一./etc/sysconfig/network 设定设定主机名称与默认网关(网关千万不要设置)
二./etc/sysconfig/network-scripts/ifcfg-eth0  设定网卡参数(只设定BOOTPROTO=dhcp这一行就可以了)
三./etc/resolv.conf  设定DNS主机的IP
四.重新启动网络设定
/etc/rc.d/init.d/network restart
ifdown eth0
ifup eth0

ADSL上网方式
重新设定网络参数文件
取消默认网关vi /etc/sysconfig/network  GATEWAY和GATEWAYDEV为空不需要设定
简化网络参数vi /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=yes  若你需要eth0帮你建立内部私有网,这里可以写成yes
BOOTPROTO=static 如果需要内部网,那设定为固定IP地址
设定re-pppoe
/usr/sbin/adsl-setup  设定完成后就可以上网了。

为了使内网和外网之间POP3或FTP等协议能快速连接请设置/etc/hosts文件如:
192.168.1.1        linux001
192.168.1.2        linux002
……….
192.168.1.255 liunx255
这样设置就不会有延迟几乎60秒的情况发生了。

如果能ping到外网但是不能打开网页的话,请在/etc/resolv.conf文件中正确设置当地的DNS

基本上,与网络有关的文件主要有
/etc/modules.conf  设定网卡芯片组
/etc/hosts  设定可以直接通信的IP计算机,设定之后,网内连接私有与公共IP会比较快
/etc/resolv.conf  设定读取DNS的主机IP
/etc/sysconfig/network 设定GATEWAY,GATEWAYDEV,HOSTNAME等地方
/etc/sysconfig/network-scripts  设定网卡界面参数,例如IP

 

rerotate:在启动logrotate之前进行的指令,例如修改日志文件的属性.

postrotate:在做完logrotate之后启动的指令,例如重新启动(kill –l 或kill -HUP)某个服务.

备份工具

推荐需要备份的目录:

/bot

/etc

/home

/root

/usr/local

/var (注:这个目录有些暂存目录可以不备份)

不需要备份的目录

/dev 要不要备份都可

/proc  这个不需要备份

/mnt  如果您没有在这个目录内放置自己系统的东西,也不需要备份

/tmp  不需要备份

使用cpio进行备份与反备份

find / -print | cpio –covB > /dev/st0   备份至tap

cpio –iduv < /dev/st0    用tap将数据存回系统中

使用tar备份

tar –zcvf host.tar.gz / --exclude /proc –exclude /mnt –exclude /tmp

tar –zxvf host.tar.gz

tar –zcvf mysql.’date+%Y-%m-%d’.tar.gz /var/lib/mysql   如果备份那一天的日期是2002/07/06,这样就能将mysql的数据库压缩备份至mysql.2002-07-06.tar.gz这个文件,并且日期每天都不一样,这样一来,如果系统数据库出了问题,就要以马上恢复了.

tar –N ‘2002/07/05’ –zcvf home.tar.gz /home

备份最新的数据,其他数据不予以更动,这提供了更完善的方式.

X-Window设定

如果之前还可以进入x-winodw,也就是KDE,不过经过当机之后(这里指的是并没有重新设定XFree86),导致X-Windows无法进入,那么可能是KDE的问题,这种情况下,通常删除自己根目录下的.kde隐藏目录后,就可以恢复到最原始的状态.

如果一安装完Linux就一直无法进入X-Window,那大概是XFree86这个核心没有设定好的问题,所以我们必须设定XFree86.

X –version  查看X-Window版本信息

X-Window配置文件/etc/X11/XF86config,这个文件很重要,一定要备份.如果无法正确启动X-Window,请还原这个文件就可以进入X-Window.

 

系统服务(daemons)

daemons目前有两种基本模式:

stand_alone:常驻内存,优点是一直启动,所以当请求时,它就会很快速地发出响应。如:httpd

super daemon(xinet或inet):有相应服务时才会启动,否则该服务会在睡眼状态。优点是不会一直占据系统资源,不过反应时间会比较慢。

super daemon下还分两种状态:

multi-threaded:客户请求后会一次性交办下去,会一个服务同时负责好向个程序。

single-threaded:来一个请求处理一个,后面的会排队。

常见的端口与相关服务代码请查看:/etc/services文件

stand_alone启动文件存放在/etc/rc.d/init.d/目录里

super daemon这个服务其实就是xinet或inet.xinet启动脚本在/etc/rc.d/init.d/xinetd这个脚本里,而挂在daemon里的服务设定项是写在/etc/xinetd.conf与/etc/xinetd.d/目录下的任何文件.

启动服务

例如启动sysloy这个记录登录文件的服务,可以直接输入:

/etc/rc.d/init.d/syslog start 或 service syslog start

解析xinetd.conf

默认路径:/etc/xinetd.conf

这个super daemon可以提供相当多的功能,尤其是安全方面的功能.

TCP_Wrappers:/etc/hosts.allow与/etc/hosts.deny

设置这两个文件可以限制利用某些服务进入Linux主机.

TCP_Wrappers通过分析TCP包控制来源IP和端口(就是服务)来决定是否让这个数据进入到主机中.

它们的关系:

当文件/etc/hosts.allow存在时,则先以此文件内的设定为准

对于/etc/hosts.allow中没有规定到的事项,将在/etc/hosts.deny中继续设定.

通常的做法:

允许进入的在/etc/hosts.allow中

不许进入的则写在/etc/hosts.deny中

基本语法:

<service_name> : <IP, domain, hostname…> : <allow|deny>

telnetd: 192.168.1.1 : deny

netstat –r   显示出当前的路由表

netstat –i eth0  显示eth0的内容,跟ifconfig类似

netstat –an    显示所有的联机状态,并且以数字型态显示

netstat –tul  显示LISTEN及tcp与udp的联机状态

netstat –anp | more  这个指令很常用

让我们了解目前您的主机的联机状态,开启的端口有哪些.你可以分别输入:

netstat –a | more

netstat –an | more

分析登录文件

/var/log/secure:记录登入系统存取数据的文件,如:POP3,SSH

/var/log/wtmp:记录登入者的信息数据,由于本文件已经被编码过,所以必须使用last这个指令记录在这个文件中.

/var/log/messages:这个文件相当重要,几乎系统发生的所有错误信息(或重要信息)都会记录在这个文件中

/var/log/boot.log:记录开机或启动一些服务时显示的启动或关闭信息

/var/log/maillog或/var/log/mail/*:记录存取或往来(sendmail与pop3)的用户记录

/var/log/cron:用来记录crontab这个例行性服务的内容

/var/log/httpd,news,mysqld.log,samba,procmail.log:分别是几个不同的网络服务的记录文件

Linux登录文件的规划

syslogd:进行系统或网络服务的登录文件记录工作

logrotate:将旧的数据更名,并建立新的登录文件,以保持登录文件的"新鲜",并根据设定将最旧的登录文件删除.

/etc/syslog.conf这个文件可以献宝什么服务需要被记录,该服务被记录的信息等级如何.

登录文件的安全设定

设定登录文件只能增加不能删除

chattr +a /var/log/messages

lsattr /var/log/messages

直到root以chattr –a /var/log/messages取消这个a参数之后才能删除

 

Tarball安装默认目录为/usr/local/etc(bin,lib,man),不过这样的话删除时会很麻烦。所以建议安装时选择一个单独的目录。例如:安装apache这个套件时可以将它安装在/usr/local/apache下。这样的话以后只要删除这个目录就可以这个软件移除。

如果你的版本支持RPM安装,并且没有严重的相依属性问题时,选择RPM安装是一个比较好的解决方案,因为它具有文件与数据均有记录的优点,这就是上面提到的/var/lib/RPM目录中的数据库,其中的记录可以让你在管理上更为便利,包括上面提到RPM的升级,安装,验证与移除等。尤其是在查询方面,可以让你在管理系统时更为便利。但是RPM也有缺点,包括最让大家抱怨的属性相依问题,每个不同版本之间必须以不同的RPM文件安装,此外,如果要升级某一个套件,通常还需要连带其他套件一起升级,否则会有问题。

RPM与Tarball各有其优缺点,不过,如果有RPM,那么优先权还是在于RPM安装,毕竟管理上比较便利。但是如果套件的架构差异性太大,或者无法解决相依属性问题,那么与其花大把时间与精力在解决属性相信的问题上,不如直接以Tarball来安装,轻松又惬意。

service:立即启动服务命令

service xinetd restar  重新启动xinetd

service sendmail start 启动sendmail服务

[service xinetd restart]=[/etc/rc.d/init.d/xinetd restart]

chkconfig:服务器启动时服务自动加载命令

chkconfig –add gpm   增加gpm在开机的时候启动

Red Hat 的 run-level 有以下 6 层: (定义在 /etc/inittab 中)
0 --- halt : 关机 level
1 --- Single user mode : 单人模式, 如果你忘记 root 密码, 这是补救的方式之一.
2 --- Multiuser, without NFS : 多人使用模式, 但没有 NFS 功能, 如果安装时没有使用网路功能, 那么 level 3 是一样的.
3 --- Full multiuser mode : 这是预定的 run-level
4 --- unused : 这个 run-level 目前尚未定义使用
5 --- X11 : X Windows 使用的 level
6 --- reboot : 重新开机时使用的 level

检验软件正确性:md5sum

md5sum –t logfile.sh   使用文字型态检验文件的md5

wget:Internet下载命令

核心模块的放置目录:/lib/modules/’uname –r’/kernel

核心的文件格式模块:/lib/modules/’uname –r’/kernel/fs

核心的网上驱动程序模块:/lib/modules/’uname –r’/kernel/drivers/net

完成了系统的驱动程序模块的编译后,想在启动时立即启动这个模块,那么就写入/etc/modules.conf中。

depmod:分析模块的相依性。

lsmod:查看当前系统中有哪些模块。

modinfo:查看模块的相关信息。

insmod:它和modprobe有点类似,但是insmod可以读取非/lib/modules/’uname –r’/kernel内的模块,而且可以为模块进行加载测试。

rmmod:移除模块

 

用vi修改/etc/inittab文件来更改系统默认登入模式。

id:3:initdefault:

id:5:initdefault:

3为文字界面登入。

5为图形化界面登入。

制作可引导软盘

mkbootdisk –device /dev/fd0 ‘uname –r’

*.RPM   RPM的格式,已经包装完成的RPM文件

*.src.RPM  SRPM的格式,包含用于编译的源代码信息

rp-pppoe-2.6-5.i386.PRM

rp-pppoe 套件名称

1.6              版本信息

5 发布次数

i386 适合平台

RPM 后缀名

PRM使用-ivh参数安装

SRPM使用-rebuild或-recompiler参数安装

升级与更新

RPM -Uvh rp-pppoe-2.6-5.i386.RPM  将此套件升级

RPM –Fvh *.RPM  所有在您Linux主机上安装过的套件才能升级

查询

从系统查询(由/var/lib/RPM数据库取得的数据)

RPM –q re-pppoe  仅列出rp-pppoe这个套件的版本

RPM –qa   列出所有安装过的套件与版本

RPM –qi rp-pppoe   列出rp-pppoe这个套件的详细信息

RPM –qi rp-pppoe   列出rp-pppoe这个套件安装的文件与路径

RPM –qf /etc/rc.d/init.d/pppoe  查询pppoe文件属于哪个套件

由文件查询文件的内容

RPM –qpi rp-pppoe-2.6-5.src.RPM  查询这个套件的详细信息

RPM –qpl rp-pppoe-2.6-5.src.RPM  查询这个套件中有多少文件

验证

RPM –V rp-pppoe 单纯检查rp-pppoe这个已安装套件的文件内容与原先是否相同

RPM –Va  检查所有的/var/lib/PRM下的数据库与linux系统下是否相同的文件

反安装与重建数据库

RPM –e re-pppoe 解除安装rp-pppoe

RPM –rebuilddb 重建数据库

 

man的用法:

man 5 passwd

man passwd

第二个显示的是/usr/bin/passwd这个执行文件的使用方法介绍,但是第一个加上参数5后,就自动变成查询/etc/passwd这个文件的设定功能了。

&:背景指令

find / -name testing &  将该执行程序丢到背景执行

fg  将该程序拉回屏幕前执行

Ctrl+z:将在工作中的任务丢到背景中,然后将其设定为停止状态,如果想回到这个任务,使用jobs配合bg或fg.

jobs:显示在当前工作背景下的任务状态。

bg:将背景中的程序由stopped变成running.

fg:将背景中的指令移动到屏幕上。

find / -name test

vi .bashrc

jobs

bg %1

jobs

fg %2

kill:结束进程中的任务

-9:立刻杀掉一个工作,不论该工作是否为死亡程序

-15:停止一个工作(这是默认值)

job

kill -9 %1

kill -9 PID

ps:静态进程查看命令

ps –aux

top:动态进程查看命令

M:以所点的内存大小排序

P:以所耗用的CPU资源排序

free:检查当前内存的使用情况

sar:查看系统资源(推荐)

uname:查看当前的系统信息,包括核心版本,主机名称,CPU信息等。另外,如果对CPU有兴趣,不妨在/proc下看看:

more /proc/cpuinfo

nice:修改nice值来调程序的执行优先级。

一般用户可用的nice值为0~19

root管理员可用的nice值为-20~19

nice –n -5 find / -name core > /tmp/core

renice:必须取得该程序的PID.通常,renice与ps配合使用。

ps –aux

renice 5 234

信息管理

dmesg:显示启动时的信息

uptime:显示主机已经开机多久,过去1,5,15分钟内系统的平均负载

w与who:查看当前系统上的用户的指令.who仅列出用户名与登入时间,w则会列出用户的源地址(FROM),登入时间(LOGIN@),工作项目(WHAT)。

whoami:显示当前登入用户

last:记录一个月中的ftp,telnet.ssh等的访问信息,常用来查看系统是否被入侵。

hostname:显示主机名

ntpdate:网络时间校对

校对服务器:

time-a.nist.gov

time-b.nist.gov

time-a.timefreq.bldrdoc.gov

time-b.timefreq.bldrdoc.gov

time-c.timefreq.bldrdoc.gov

ntpdate time-a.nist.gov

clock –w

如果还想让系统自动更新时间,可以使用/etc/crontab.将下面这行代码写入:

10 5 * * 0,3 root /usr/sbin/ntpdate time-a.nist.gov; clock –w

这样,每周三,日的早上5点,系统就会自动更新主机时间。

 

例行性命令:

at:这个工作公执行一次就从Linux系统的流程中取消。

crontab:这个工作将持续例行性地做下去。

仅执行一次:at

限制用户使用at命令。先找寻/etc/at.allow和/etc/at.deny这个2文件。存在于at.allow文件中的用户才能使用。存在于at.deny 文件中的用户不能使用。

输入at之后便进入命令行模式,离开时按下Ctrl+D就可以退出了。

at 5pm 设定任务时间

atq 查看当前有多少任务

atrm 5 删除第5号任务

crontab –e  编辑自己的crontab内容

cronatb –l  查看用户的当前工作流程

cronatb –r  删除所有工作流程

循环执行:crontab

在真正执行命令之前总共有5个数字,这5个数字分别代表:

分(0-59)

小时(0-23)

日期(1-31)

月份(1-12)

周(0-6)

如果想表示每5分钟执行一次,那第一个数字设置为*/5。

如果只是要删除某个crontab的工作项,那么请使用crontab –e重新编辑;如果使用-r参数,会将所有的crontab数据内容都删除。

系统的crontab设定:/etc/crontab

如果是root身份,直接修改/etc/crontab文件即可。

指令方式有2种:

指令形式:01 * * * * test mail –s test test < /home/test/test.txt

用户是tsest,且每小时执行一次指令mail

目录形式:*/5 * * * * root run-parts /root/runcron

将每隔5分钟执行一次在runcron目录下的可执行文件

如果想把几个流程分别安排在不同的时刻,则可以如下设定:

1,6,11,16,21,26,31,36,41,46,51,56 * * * * root …….

2,7,12,17,22,27,32,37,42,47,52,57 * * * * root …….

安全检验:

很多时候,木马都是以例行命令的方式被植入的,所以可以通过检查/var/log/cron的内容来观察是否有不是你设定的cron被执行了?如果有就要小心一点了。

 

磁盘配额

软限制:这个限制作用于用户或者用户分组。如果用户的帐户超过了软限制,就开始进入限制期,也就是这个帐户在超过软限制后还能存在多长的时间。在这个期间,用户会收到警告他们的帐户超标的消息。

硬限制:这个限制是由操作系统实行的,不允许超过。试图在硬限制以外进行数据写操作会被拒绝。

基本的quota指令,这个指令仅用来显示当前某个群组或者某个用户的quota限值。

quotacheck:主要用于扫描某个磁盘的quota空间.

edquota:这个指令用于编辑每个“个人”或者“群组”的quota数值.

quotaon:这个指令用于quota.

quotaoff:这个指令用于关闭quota限制.

repquota:查询quota定义中的文件系统用量信息(常用:repquota –a )

quota:用来显示当前某个群组或者某个用户的quota限值。(quota –uvs test )

如果使用quotacheck –avug产生错误可以加-c参数。例如:

quotacheck –cuvg /home

设定开机启动:

vi /etc/rc.d/rc.local

添加:/sbin/quotaon -aug

如果在文本模式下出现乱码,修改以下参数

/etc/sysconfig/i18n

将LANG=”zh_CN.GB18030”修改为LANG=”en”
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐