Linux

2024-10-31 版权声明 我要投稿

Linux(共13篇)

Linux 篇1

一些LINUX的问题..问答...蛮有用的

0001修改主机名(bjchenxu)

vi /etc/sysconfig.network,修改HOSTNAME一行为“HOSTNAME=主机名”(没有这行?那就添加这一行吧),然后运行命令“ hostname 主机名”。一般还要修改/etc/hosts文件中的主机名。这样,无论你是否重启,主机名都修改成功。

0002Ret HatLinux启动到文字界面(不启动xwindow)(bjchenxu)

vi /etc/inittab

id:x:initdefault:

x=3:文本方式 x=5:图形方式

0003linux的自动升级更新问题(hutuworm,NetDC)

对于redhat,在www.redhat.com/corp/support/errata/找到补丁,6.1以后的版本带有一个工具up2date,它能够测定哪些rpm包需要升级,然后自动从redhat的站点下载并完成安装,

升级除kernel外的rpm: up2date -u

升级包括kernel在内的rpm: up2date -u -f

由于Red Hat Network SSL证书过期,所以应在rhn_register || up2date 之前先执行一行script以更新证书:

wget -q -O - rhn.redhat.com/help/new-cert.sh | /bin/bash

Debian跟别的发行版还是有很大的差别的,用Debian做服务器维护更加方便;红帽的升级其实挺麻烦的,当然,如果你交钱给红帽的话,服务是会不一样的。

Debian下升级软件:

apt-get update

apt-get upgrade

前提:配置好网络和/etc/apt/sources.list,也可以用apt-setup设置。

Linux 篇2

Shell脚本与Windows/DOS下的批处理 (*.bat) 类似, 都是将一批命令放到一个文本文件中, 由系统进行解释执行的程序文件。不过Shell脚本在Linux下执行, 调用的都是Linux系统的命令, 其控制结构更加完善, 数据类型更加丰富, 语句功能更加强大。Shell脚本提供了条件、循环、逻辑判断等功能, 还可以使用管道数据重定向等功能, 结合Linux系统自带的丰富的命令功能, 就可达到所要处理的目的。

1 Shell脚本中常用命令

(1) echo命令:通常用该命令输出一个字符串, 使用方法很简单:

echo字符串 该字符串也可用双引号括在其中。

(2) cat命令:通常用该命令显示一个文本文件内容, 使用方法也很简单:

cat文件名

(3) grep命令:grep是一个字符串搜索命令, 可以用它从一个文本文件中搜索某个字符串, 用法如下

grep"字符串"

(4) awk命令:awk是一个文本处理工具, 可以用它来输出某些格式化文本, 用法如下:

awk'{printf ("%格式化符号...n", 参数...) }'

其中的printf就和C语言中的printf函数一样, 用于输出字符串。参数可以有若干个, 通常是一个字符串, 用$1, $2, $3这样的符号来表示。

2 Shell脚本中常用控制语句

(1) if语句:有条件的执行某些命令, 用法如下:

其中的表达式和C语言中的表达式相类似。

then下面的语句是表达式结果为真时执行, else下面的语句在表达式结果为假时执行, 每个if语句以fi作为结束。

(2) for语句:循环执行某些命令, 用法如下:

其中for那行中写法和C语言中for语句类似, do和done之间的是要循环执行的语句, 每个for语句以done作为结束。

3 管道功能

管道功能在Shell脚本里也是非常有用的, 通常用它来组合使用某些命令, 用法如下:

4 常用获取系统信息的命令

(1) dmidecode命令:该命令可以方便地得到CPU、主板、内存等设备的信息, 用法如下:

dmidecode-t 分类名

其中分类名用于分类输出某些信息, 否则输出信息会很多。比如System Information输出系统信息, processor输出CPU信息, baseboard输出主板信息, memory输出内存信息。

(2) 操作系统信息:操作系统信息可从/proc/version这个文本文件中取得。

(3) CPU信息:可从/proc/cpuinfo这个文本文件中取得。

(4) 内存信息:内存信息也可从/proc/meminfo这个文本文件中取得。

(5) 获取硬盘分区:使用fdisk-l命令获取硬盘分区信息。

(6) lspci命令:该命令可以取到PCI接口的硬件信息, 如显卡、声卡、网卡等。

(7) 硬盘信息:硬盘信息也可用命令hdparm-i/dev/sda命令取得。

(8) 网卡信息:网卡信息也可从/etc/sysconfig/networkscripts/ifcfg-etho这个文本文件取得。如果系统有两块网卡, 另一个文件就是ifcfg-eth1。

(9) 其他设备:系统中安装的其他设备信息。如要取得光驱信息, 就可以从/proc/scsi/scsi这个文本文件中取得。

xrandr命令可以得到和屏幕分辨率有关的信息。

5 程序代码

程序代码如下:

6 结语

开发的实用程序用到了Shell脚本中的一些功能, 达到了获取系统信息的目的, 对于完成更复杂功能的Shell脚本程序有一定的借鉴意义。

摘要:使用Linux Shell脚本语言开发了获取系统信息的实用程序, 可以获取CPU、主板、内存、硬盘、网卡、显卡、声卡、其他设备的常用信息。

Linux内核将出新版本 篇3

Linux内核2.6版很快将会正式发布,按照相关负责人的说法,它将比以前的版本更加稳定。直接管理2.6版内核的Andrew Morton表示,Linux内核现在最新的版本是2.6.0-test10,“如果不出严重的意外”,它将会是2.6.0内核正式推出之前的最后一个测试版本。

Linux内核2.6版和2.4版相比有了很大的不同,2.6版的一个重要改进是可以充分发挥多处理器的性能,而这个市场中Unix一直占主导地位,微软也在不断扩展自己的份额。Morton说:“2.4版对于4个或者8个CPU来说会显得有些力不从心,而2.6版将会给我们带来惊喜,因为它可以支持多达32个CPU。”同时,Morton还认为2.6.0内核的测试性能将会远远好于2.4.0,“我认为2.6.0-test10在成熟程度上和2.4.17相类似,我们在2.4的基础上又进了一大步。”但是,并非所有人都赞成这种观点,SuSE的首席技术官Juergen Geck在2003年10月份表示,他认为2.6版在架构上做出的重大调整可能会导致很多问题的出现。

2.6版内核包括了多项改进:

在安装多个处理器的大型系统上,2.6版内核可以更好地工作,特别是对于那些使用了非一致内存访问(NUMA)设计的系统,这种系统在处理器读写内存数据时的时间延误可能参差不齐。

2.6版内核可以更好地支持“嵌入式”设备,比如蜂窝电话、网络路由器或者录像设备。

2.6版内核对用户的操作(比如移动鼠标或者敲击键盘)将会有更快的反应。

2.6版内核中“块设备”驱动程序进行了较大的修整,这些软件模块用来和硬盘、光驱这样的设备进行数据交换。

避免版本林立

一个新内核从出现到成为正式产品通常有一个时间间隔,最大的Linux销售商Red Hat直到2.4.2推出的时候才推出使用新内核的产品。Morton承认,保持产品版本和开发版本同步是“一件我们在2.4版内核上处理得不太好的问题”。Red Hat在其Fedora Core中测试了2.6版,Fedora Core 2的主要目的就是在将2.6版内核引入企业级Linux发行版之前对其进行测试,其企业级Linux发行版通常升级比较慢,可能2005年之前都不会使用2.6版。

Red Hat和SuSE从2.6版内核中借用了很多功能加入到2.4版内核中。另外,商业版本的Linux内核打了一些补丁,从而导致其和Torvalds在Kernel.org上发布的标准版本有所不同。由于2.6版内核借用了很多Linux发行商对内核的修改,因此这个版本的发布将意味着来自Kernel.org的Linux内核标准版和发行商的版本之间的区别将会减小。显而易见,Linux开发者正在试图避免Linux陷入版本林立、互不兼容的局面,就如同Unix目前所遭遇的那样。

Morton认为,如果真的出现Linux内核版本林立的局面,则只会加重维护众多补丁需要进行的开发和测试工作。如果SuSE内核和Red Hat内核互不兼容,他们就失败了。

OSDL(Open Source Development Labs)的首席执行官Stuart Cohen表示,“包括Oracle、PeopleSoft、DB2在内的众多用户都希望有一个统一的操作系统,他们不希望Linux出现分裂。在业界,保持系统稳定单一的压力很大”。

Morton补充说,减少分歧也是2.6版以及即将到来的2.7版内核在开发时所考虑的问题之一。有时候这样做意味着要在2.6版开发中使用2.7版的内容,但这同时也意味着,我们必须保证2.7版内核能够继承2.6版的改进,以免一个问题我们要解决两次。

虽然开源软件的开发过程和Unix以及Windows完全不同,但是有一点是相同的:延误是难免的。Linus Torvalds在2002年时本指望2.6版可以于2003年6月份问世。2.4版内核(这个版本于2001年1月发布)的开发时间上也曾发生类似的延误。

LINUX下简单命令Linux 篇4

1、CP

功能:复制文件

例:

CP*.TXT/CCC复制所有扩展名为TXT的文件到/CCC目录中

2、MV

功能:移动文件

例:

MV*.TXT/CCC移动所有扩展名为TXT的文件到/CCC目录

3、TOUCH

功能:建立新文件

例:

TOUCHNEW,

LINUX下简单命令Linux

TXT建立NEW。TXT这个新文件

4、TAR

功能:将文件或目录打包成一个文件

例:

TAR -CVFFILENAME。TARFILE1FILE2

TAR -CVZFFILENAME。TGZFILE1FILE2/CCC/DD

TAR -XVZFFILENAME。TGZ

Linux 篇5

◇ [文件] LFS(Linux From Scratch) 系�y�介

bbs.ee.ntu.edu.tw/boards/Linux/17/14.html

--------------------------------------------------------------------------------

作者: EdwardLee (Edward Lee) 看板: Linux

�祟}: [文件] LFS(Linux From Scratch) 系�y�介

�r�g: Tue Jan 30 18:05:08

◎ 前言:

什�N是 LFS,��蔚恼f就是 DIY 自行打造一�� Linux 系�y,�@是由

Gerard Beekmans 所�I�У� LFS Project,但�@不是��o�_始的,而

是借由您原已安�b的系�y�磉M行打造。如果您想�一� distribution

是怎�N�u造出�淼模�不妨�硗嫱� LFS。

◎ �W站:

www.linuxfromscratch.org

www.linuxfromscratch.org/intro/

�先下�d LSF-BOOK ����x後,step by step 就可以�u造�凫赌�自

已的 distribution 了!:)

注意!LFS-BOOK 才是完整的版本,LFS-HOWTO �t是��的,所以���

考 LFS-BOOK,目前最新的版本是 2.4.4,而 LFS system 的版本也是

以 2.4.4 �槊�。

* ftp://download.linuxfromscratch.org/lfs-book/

◎ �u作原理:

1. 在原系�y先�u一�� /mnt/lfs,��湟��空的磁�^�硎褂谩�

2. mount 上 /mnt/lfs,然後在原系�y��g需要用到的工具程式,

安�b至 /mnt/lfs (可事先�O好 $LFS ��担���g�r指定此���

即可)。

3. 第一波的必要程式都是在原系�y以 static 的方式��g的,以後

再�� LFS 系�y用新的 gcc 及 glibc 重��g�^。

4. 使 LFS 系�y可以�_�C,�@�硬畈欢嗑痛蠊Ω娉闪耍�接下�淼木�

是重��g一些原在�f系�y��g的 static 程式,改�� dynamic,

�K�a足系�y上的��用��w。

* LFS 系�y上的程式也可在�f系�y chroot 至 $LFS 中��g,使

用的是新的 gcc 及 glibc。粉好玩的,大家�硗嫱婵矗�:-)

5. 您不必放��原�硎褂玫南到y,先以 LFS ��白老鼠,等成熟後再

��做您的主系�y,

◎ 有���}�r怎�N�k?

在 LFS �W站上有很多 mailing list 可以��,什�N大大小小的疑

�y�s症都可以�l��,list 上的同好���o您��解答,但用英文就是

了,�]�P,只要�Ψ蕉�您的意思就可以了,文法不重要!我的破

英文可以通,您��的���也可以。:-)

可先下�d archives 中打包好的�f信��⒖迹��e面的�|�|比什�N精

�A�^都有用,大家��碰到的���}大概都逃不�^�@些�f信的���,新

的�|�|�R上就��有人�y�,�K提出���}及心得。

archive.linuxfromscratch.org/mail-archives

ftp://download.linuxfromscratch.org/mail-archives

目前�_放的 mailin list 有(��相��活):

* lfs-discuss

* lfs-apps

* lfs-announce

* lfs-security

* alfs-discuss

* alfs-docs

* alfs-ipc

* alfs-profile

* 字首�� a 的代表 AutomatedLFS,主要是打造一��可以自�影惭b

、移除的 LFS 系�y。目前�不成熟,正在努力中 ...

台�秤腥擞信d趣的�,也可成立�� CLFS 的 mailing list �硗嫱妗�:-)

◎ 功用

1. 如果您想�W好 Linux 的整�w架���M�,��� LFS。

2. �@是�W� Linux 最好的途�剑�都是���鹬�W�淼模�:)

3. 可以�W�多��g、修改程式的技巧。

4. ��^一次的 LFS 洗�Y,您大概也就��知道各家 distribution

的��劣在哪�e,�v使不用 LFS 系�y,您也可以有能力�x�褚��

�m合的 distro 了!

5. 一般的 disro 是�榇蠹已u作的,有多�|�|您�K不需要,LFS

系�y�t是依需求量身�做的。

6. 不必怕有人在��g程式�r�恿耸帜_。因�樗�有程式都是您自己��

source 自行建立的,�@些 source 可�� LFS �W站上下�d,也可

自行到原�W�下�d。

* www.linuxfromscratch.org/download/packages.php

7. 完全符合 Free、Open 的精神。:-)

--------------------------------------------------------------------------------Warm Regards,

Edward Lee(李果正)

--------------------------------

大道�U,有仁�x。智慧出,有大�巍�

--------------------------------

Linux 篇6

-----A--------

2)mysql客户端安装在服务器A上,服务器安装在另一台已经连接的服务器B上。

A-------B

3)一台终端A,上面不运行任何sql相关的软件,然后和服务器B(运行mysql客户端)相连,B再和服务器C(运行mysql服务器)连接。

A---------B--------------C

在第3)种模式下,mysql客户端并不在自己的机器上,需要登录到其他机器去使用mysql客户端,需要使用telnet等来操作。

Linux进程调度策略分析 篇7

Linux系统是一个庞大、高效而复杂的操作系统, 它的内核包括进程调度、内存管理、进程间通信、虚拟文件系统和网络接口五部分, 其中进程调度是核心。

进程调的实质是资源的分配, 如何使系统能够保持较短的响应时间和较高的吞吐量, 如何在多个可运行的进程中选取一个最值得运行的进程投入运行是调度器的主要任务。进程调度包括两个方面的内容:何时分配CPU时间 (调度时机) 即调度器什么时候启动;如何选择进程 (调度算法) 即调度器该怎么做。进程调度算法是解决如何使资源分配策略最优化的关键。

2 Linux进程调度原理

进程是动态的, 一个进程的所有信息都被放在其对应的task_struct数据结构中。每当一个新的进程创建时, 一个新的task_struct结构将分配给该进程, 并同时增加到进程向量的数组中。系统还有一个当前进程指针, 用来指向当前正在运行的进程。task_struct实际上就是通常所说的“进程控制块”PCB, 它是系统对进程控制的惟一且最有效的手段。

2.1 Linux进程模型

Linux中的每个进程由task_struct结构来描述。在Linux中任务和进程是相同的术语, task_struct就是指PCB (进程控制块) 。Linux将进程状态分为五种:task_running、task_interruptible、task_uninterrcptible、task_stopped和task_zombile。进程的状态随着进程的调度发生改变, 见图1所示。

Task_running (运行状态) :无论进程是否正在占用CPU, 只要具备运行条件, 都处于该状态。Linux把处于该状态的所有PCB组织成一个可运行队列run_queue, 调度程序从这个队列中选择进程运行。事实上, Linux是将就绪状态和运行状态合并成了一种状态。

task_interruptible (可中断阻塞状态) :Linux将阻塞状态划分成task_interruptible、task_uninterruptible、task_stopped三种不同的状态。处于task_interruptible状态的进程在资源有效时被唤醒, 也可以通过信号或定时中断唤醒。

task_uninterruptible (不可中断阻塞状态) :另一种阻塞状态, 处于该状态的进程只有当资源有效时被唤醒, 不能通过信号或定时中断唤醒。

task_stopped (暂停状态) :第三种阻塞状态, 处于该状态的进程只能通过其他进程的信号才能唤醒。

task_zombile (僵死状态) :进程已结束但尚未消亡, 已经释放了大部分资源, PCB仍未被释放。

2.2 进程调度的时机

进程调度的时机与引起进程调度的原因以及进程调度的方式有关。Linux进程调度的时机主要有:进程状态转换的时刻, 如进程终止、进程睡眠等;可运行队列中新增加一个进程时;当前进程的时间片用完时;进程从系统调用返回到用户态时;内核处理完中断后, 进程返回到用户态时。

2.3 进程调度的策略分析

调度程序要在所有处于可运行状态的进程中选择最值得运行的进程投入运行。在每个进程的task_struct结构中有:policy、priority、counter、rt_priority, 这4项就是选择进程的依据。其中policy是进程的调度策略, 用于区分实时进程和普通进程, 实时进程优先于普通进程运行;priority是进程 (包括实时和普通) 的静态优先级;counter是进程剩余的时间片, 它的起始值就是priority的值;由于counter在后面计算一个Linux的进程调度策略处于可运行状态的进程值得运行的程度goodness时起重要作用.

1) 普通进程的调度策略-动态优先调度

当policy的值为SCHED_OTHER时, 是普通的用户进程, 采用动态优先调度, 选择进程的依据是进程counter的大小。进程创建时, 优先级priority被赋一个初值, 一般为0~70之间的数字, 这个数字同时也是计数器counter的初值, 进程创建时两者是相等的。priority代表分配给该进程的时间片, counter表示该进程剩余的时间片。在进程运行过程中, counter不断减少, 而priority保持不变, 以便在counter变为0的时候 (该进程用完了所分配的时间片) 对counter重新赋值。当一个普通进程的时间片用完以后, 并不马上用priority对counter进行赋值, 只有所有处于可运行状态的普通进程的时间片 (p->counter==0) 都用完了以后, 才用priority对counter重新赋值, 这个普通进程才有了再次被调度的机会。在普通进程运行过程中, counter的减小给了其他进程得以运行的机会, 即进程正在运行时可以被其他counter值更大的进程中断, 但只有当该进程的counter值减为0时才完全放弃对CPU的使用, 这就相当于优先级在动态变化, 所以称之为动态优先调度。

2) 实时进程的调度策略-FIFO和RR

对于实时进程, Linux采用了两种调度策略, 即先来先服务调度 (FIFO调度) 和时间片轮转调度 (RR调度) 。当policy的值为SHED_FIFO时, 遵守POSIX1.b标准的FIFO调度规则。它会一直运行, 直到有一个进程因I/O阻塞, 或者主动释放CPU, 或者是CPU被另一个具有更高rt_priority的实时进程抢先。在Linux实现中, SCHED_FIFO进程仍然拥有时间片, 只有当时间片用完时它们才被迫释放CPU。

2.4 进程同步

Linux中, 当进程在内核中运行时, 不允许抢占, 因此当一个进程决定放弃CPU时, 一般来说, 它已经运行到了一个一致的位置, 所以内核对数据的处理是很安全的。但也有例外:内核正在对数据结构操作时发生中断, 而中断处理程序又操作同样的数据结构。在多处理机中, 由于并行执行, 可能出现同时修改同样数据结构的情况。有些内核程序由于设计上的缺陷而导致的数据不一致。

在单处理机中处理同步所使用的机制主要是:锁 (开关中断) 、信号灯、条件变量、睡眠等待。

2.5 进程终止

进程的终止分两步:自己调用函数exit将自己的状态改为僵死状态, 向父进程发信号;父进程调用wait函数, 回收僵死的子进程, 将其从内存中彻底清除。

3 实时调度算法

常用的实时调度算法有:基于优先级的调度算法;基于时间驱动的进程调度算法;基于比例共享的调度算法。

3.1 基于优先级的调度算法

基于优先级的调度算法给每个进程分配一个优先级, 在每次进程调度时, 调度器总是调度那个具有最高优先级的任务来执行。根据不同的优先级分配方法, 基于优先级的调度算法可以分为如下两种类型:1) 静态优先级调度算法:这类算法给系统中能够运行的所有进程都静态地分配一个优先级。2) 动态优先级调度算法:这类算法根据任务的资源需求来动态地分配任务的优先级, 其目的就是在资源分配和调度时有更大的灵活性。

3.2 基于比例共享的调度算法

比例共享调度算法指基于CPU使用比例的共享式调度算法, 其基本思想就是按照一定的权重 (比例) 对一组需要调度的任务进行调度, 使其执行时间与权重完全成正比。

可以通过两种方法来实现比例共享调度算法:1) 调节各个就绪进程出现在现在调度队列队首的频率, 并调度队首的进程执行;2) 逐次调度就绪队列中的各个进程投入运行, 但根据分配的权重调节分配给每个进程的运行时间片。

3.3 基于时间驱动的进程调度算法

该算法本质上是一种设计时就确定下来的离线的静态调度方法。在系统的设计阶段, 在明确系统中所有处理的情况下, 对于各个任务的开始、切换以及结束时间等事先做出明确的安排和设计。并适合于那些很小的嵌入式系统、自控系统、传感器等应用环境。其优点是任务的执行有很好的可预测性, 其最大的缺点是缺乏灵活性, 并且会出现有任务需要被执行而CPU却保持空闲的情况。

4 结论

进程调度是多任务操作系统的核心。Linux根据policy将进程划分为实时和普通两类, 普通进程采用动态优先调度, 实时进程采用基于优先级的FIFO调度和多级反馈轮转调度。同时, Linux的进程调度效率高, 调度策略本身具有很高的综合性, 并不单纯地属于某一种调度策略。

参考文献

[1]陈利君.Linux操作系统内核分析[M].北京:人民邮电出版社, 2000.

[2]赵明富.Linux嵌入式系统的实时性分析[J].计算机工程, 2003 (29) .

[3]黄丽娜.Red Hat Linux9.0基础教程[M].北京:清华大学出版社, 2004.

浅谈Linux系统安全问题 篇8

关键词 Linux 系统安全 用户管理 安全工具

中图分类号:TP316.8 文献标识码:A

安全是当今IT相关头条新闻的重要话题。经常出现的系统漏洞和安全补丁以及病毒和蠕虫是每个使用计算机的人都耳熟能详的名词。因为几乎每台计算机系统都连接到另外的计算机或者连接到Internet,因此确保这些计算机的安全,对于减少入侵、数据窃取或丢失、误用甚至对第三方的责任而言都是至关重要的。①

Linux作为一个现代的、开放源代码的操作系统,它允许用户自由的复制和修改其源代码,用户可以根据自己的环境定制Linux、向操作系统添加新部件等,正是由于软件的每个用户和开发者都可以访问其源代码,因而有许多人在控制和审视源代码中可能的安全漏洞。软件缺陷很快会被发现。一方面,这会导致这些缺陷更早被利用;另一方面,很快就会有可用的安全补丁。

当系统连接到网络并向其他计算机提供服务时,系统就会有可能成为被攻击的对象。在这种情况下,系统漏洞可能会让入侵者控制计算机。因此,从开始计划直到拆除系统的整个系统生命周期中安全都是一个最基本的问题。

那么,如何保护Linux安全呢?

1 系统的用户管理

与其他UNIX操作系统一样,在进入Linux系统时需要验证账号和密码。Linux一般将密码加密之后,存放在/etc/passwd文件中,Linux系统上的所有用户都可以读到该文件,这种方法不太安全,因为一般的用户可以利用现成的密码破译工具,用穷举法猜测出密码。②比较安全的方法是设定影子文件/etc/shadow,通过影子文件允许特殊权限的用户阅读该文件。在Linux系统中,如果要采用影子文件,必须将所有的公用程序重新编译,才能支持影子文件。这种方法比较麻烦,比较简单的方法是采用插入式验证模块(PAM)。很多Linux系统都带有PAM,它是一种身份验证机制,可以用来动态地改变身份验证的方法和要求,而不要求重新编译其他公用程序。这是因为PAM采用封闭包的方式,将所有与身份验证有关的逻辑全部隐藏在模块内,因此它是影子文件的最佳帮手。

除密码之外,用户账号也有安全等级,这是因为在Linux上每个账号可以被赋予不同的权限,因此在建立一个新用户ID时,系统管理员应该根据需要赋予该账号不同的权限,并且归并到不同的用户组中。

在Linux系统中,可以在/etc/hosts.allow文件中设定允许上机人员的名单,同时在/etc/hosts.deny文件中设置不允许上机人员的名单,Linux将自动把允许进入或不允许进入的结果记录到/rar/log/secure文件中,系统管理员可以据此查出可疑的进入记录。

每个账号ID应该有专人负责。在企业中,如果负责某个ID的职员离职,管理员应立即从系统中删除该账号。很多入侵事件都是利用了那些很久不用的账号。

在用户账号之中,尤其要注意具有root权限的账号,这种超级用户权力无限,可以修改或删除各种系统设置。因此,在给任何账号赋予root权限之前,都必须仔细考虑,最好不要轻易将超级用户授权出去。Linux系统中的/etc/security文件包含了一组能够以root账号登陆的终端机名称,该文件的初始值仅允许本地虚拟控制台(rtys)以root权限登陆,而不允许远程用户以root权限登陆,最好不要修改该文件。有些程序的安装和维护工作必须要求有超级用户的权限,在这种情况下,可以利用sudo这样的工具让这类用户有部分超级用户的权限。

2 安全工具

下面介绍一些可以用于Linux的安全工具,这些工具使用户的服务器运行起來更加安全,可以解决各方面的问题。

2.1 nmap和nessus网络安全扫描工具

nmap工具是一个端口扫描工具,它能扫描整个网络或一台主机上的开放端口。如果读者对安全担忧或者要寻找攻击者将会发现的漏洞,那么应花些时间来安装并使用nmap。nmap集成了大量的扫描技术。nmap工具还可以使用TCP/IP指纹来识别一个远程系统运行的是哪种操作系统。该工具处于系统管理员和攻击工具之间的灰色区域。如果读者负责一个网络,可以使用nmap检测本地网络是否有安全漏洞。

nessus是一个功能强大而又易于使用的远程安全扫描器,它不仅免费而且更新极快。安全扫描器的功能是对指定网络进行安全检查,找出该网络是否存在会导致对手攻击的安全漏洞。该系统被设计为C/S模式,服务器段负责进行安全检查,客户端用来配置管理服务器。nessus的安全检查是由大量插件完成的,其扩展性强,容易使用,功能强大,可以扫描出多种安全漏洞。

2.2 弱点测试工具

(1)chkacct。chkacct是一个检查用户账号安全的工具。它能检查文件的权限并恢复到初始权限。它还能寻找那些能被所有用户可读的文件并查看以点号开头的文件。它可以被用户使用或者被系统或安全管理员专用。

(2)Courtney。Courtney检测一个网络,查明SATAN探索的结果 ,并试图识别他们的来源。它从tcpdump获得输入并计算一台机器在一个特定时段内产生新的服务请求的次数。如果在该时段内,一台机器和大量服务器连接,Courtney就把该机器识别为一个潜在的SATAN主机

3 日志工具(logrotate,swatch,logcheck)

(1)logrotate。一般的Linux发行版中都自带这个工具,能够解决日志文件过大的问题。它可以自动使日志循环,删除保存最久的日志。可以把它放在crontab中,每天定期运行。这在很多Linux发行版中都是默认设置的。

(2)swatch。Swatch是一个实时的日志监控工具。读者可以设置感兴趣的时间,它可以在事件发生的时候告诉读者。Swatch有两种运行方式:一种可以在检查日志完毕退出,另一种可以连续监视日志中的新信息。

4 SSH和Tripwire

(1)SSH服务

传统的网络服务程序,如ftp、pop和telnet在本周上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易截获这些口令和数据。而且,这些服务程序的安全验证方式也是有其弱点的,就是很容易收到“中间人”方式的攻击。这些“中间人”冒充真正的服务器接收用户传给服务器的数据,然后冒充用户的数据传给真正的服务器。

通过使用SSH,用戶可以把所有传输的数据进行加密,这样“中间人”这种攻击方式就不可能实现了,而且也能够防止DNS和IP欺骗。还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。

(2)Tripwire

如果有人侵入了你的系统,在系统中放置了木马和后门,你怎么才能知道呢?tripwire就是这样一个对系统做完整性检查的工具,它是目前最为著名的Linux下文件系统完整性检查的软件工具,这一软件采用的技术核心就是对每个要监控的文件产生一个数字签名,保留下来。当文件现在的数字签名与保留的数字签名不一致时,那么现在这个文件必定被改动过了。

5 反扫描工具Portsentry

通过防火墙可以限制自己系统中什么端口开放,什么端口不开放。对于外部的人们来说,这些信息都是保密的。黑客为了得到他人计算机中开放的端口,往往会进行各种方式的扫描,这样的扫描在互联网上也推出课件。一般的扫描活动都是进行入侵的前奏,对安全是极大的威胁。Portsentry就是这样一个反扫描工具,它可以实时发现并分析记录对本机的扫描,它通过syslog做记录,将扫描的主机加入/etc/hosts.deny,马上禁止所有通向扫描主机的网络流量,同时过滤掉所有来自扫描主机的网络流量。

从计算机安全角度来看,世界上没有百分之百安全的计算机系统,Linux系统也不例外,作为Linux系统管理员,需要保持一定的安全防范意识,对系统要定期做检查,发现问题要立即采取措施,根据实际的应用场景,灵活地综合采取以上方法和工具,才能取得较好的效果。

注释

① 何世晓,等.Linux管理师[M].机械工业出版社,2009.

Linux 篇9

以下是为非感应负荷设计的电路:

270 1 +-------+ 6 180

+5v -VAVAVA-----+ +----VAVAVA-----+-------------- Line Hot

2 | MOC | |

TTL in ---------+ 3012 +ncVA SC141D

| | 4 / |

nc+ +------------/ |

+-------+ +----///---- Line Neutral

LOAD

Linux 篇10

九.数据库的选择

Oracle、DB2、SQL Server:主要应用于比较大的管理系统。SQL Server主要在windows下运行

Access、MysSQL、PostgreSQL:中小型数据库,主要应用于中小型的管理系统,Access只能在windows下运行

复杂度:

Oracle、DB2 >MySQL、PostgreSQL

性能:

Oracle、DB2 >MySQL、PostgreSQL

★ 吊篮安装及使用应急预案

★ 阿里云linux下已有mysql安装phpmyadminphpapache2

★ linux下使用yum安装svn详解

★ Ubuntu 14.04安装Wine以便使用Windows应用

★ MySQL数据类型解析

★ MySQL 5.0新特性教程 存储过程:第一讲MySQL5

★ 常见的MySQL解决方案

★ 安装承诺书

★ 安装合同范本

中国Linux市场发展关键年 篇11

IDC认为,全球金融危机让Linux获得了更多的市场机会,2009年将是中国Linux市场发展的关键年。

据IDC最新发布的《中国Linux市场2009-2013年预测与分析》报告显示,2008年中国Linux总体市场收入达到2300万美元,增长率为26%。随着技术的成熟,对于用户来说,Linux作为一种操作系统软件,无论是在性能还是稳定性上都日渐完善。Linux厂商也在市场推广上不遗余力,使得中国市场对于Linux的接受与部署程度不断增加。

IDC认为,2009年将是中国Linux市场发展的关键年,金融危机使得Linux获得了更多的市场机会。如果厂商能够抓住机遇,增强客户对Linux的兴趣和信心,那么Linux将会进入一个崭新的发展阶段。IDC预测,在2009年至2013年中,中国Linux操作系统总体市场的收入将会以23%的五年复合增长率保持高速增长。

在2008年,中国Linux市场可谓有失亦有得。虽然市场在一定程度上受到了下滑的宏观经济以及雪灾、地震等自然灾害的影响,失去了获得一些大项目的机会;但是也出现了很多新的增长点,包括厂商加强了与SI/ISV的合作、行业应用推广的加大、Linux虚拟化、上网本等。

IDC对2008年中国Linux市场的重点发现如下:

从Linux SOE(服务器操作系统)的行业分布来看,2008年,电信/媒体、金融和政府行业继续成为对Linux SOE收入贡献最大的三个行业,总共带来了78.8%的SOE市场收入。值得关注的是,随着国家经济振兴政策的出台,一些目前带来较少收入的行业,比如医疗、交通和中小企业,将具有巨大的发展潜力。

政府正版化项目的减少使得Linux COE(客户端操作系统)增长受到了一定的影响,因此,Linux COE厂商在不断寻找新的增长点。首先,一些定制化的Linux COE产品,如老人PC、农村PC在2008年启动的PC下乡项目中可望觅得发展良机;其次,上网本的风行也给Linux COE市场带来了希望。这些新兴COE产品的平均价格都远远高于传统形式的COE OEM价格,对Linux COE市场收入的增长将起到关键推动作用。

本土Linux厂商纷纷积极参与到了2008年年底中国政府出台的“核高基”重大扶持项目中,并存在极大的中标可能性。“核高基”项目对申请厂商的资质和未来产业推广计划提出了非常严格的要求,因此,中标的本土厂商将受到资金和产业化双方面的扶持。不仅如此,“核高基”项目也对整体Linux产业具有重大意义,将帮助Linux推广至更多企业客户并有效促进Linux产品技术和服务配套整体水平的提高。

虚拟化成为IT市场热点,客户对虚拟化产品和方案的接受度已大幅提升。Linux厂商也对虚拟化产品加强了研发和推广力度。尤其是在金融危机的大环境下,Linux的虚拟化产品与其他主流虚拟化产品相比显示出了明显的低成本优势。目前,Linux的虚拟化产品已经开始在中国的一些电信、政府和教育行业客户中得到应用,这些成功案例的示范效应将促进更多行业客户接受Linux的虚拟化产品。

近几年来,客户对于Linux项目的专业服务越来越重视,尤其是高端的电信或银行客户,正在将更多更关键的业务部署于Linux SOE之上,出于保证系统可用性和高性能的需求,它们越来越多地投资于Linux厂商提供的专业服务。相应地,Linux厂商也在修炼内功,提高自身的服务能力。Linux的专业服务逐渐被重视和认可,这些都促成了Linux项目实施满意度的提高,从而推动了Linux SOE在企业中的应用推广。

Linux虚拟文件系统原理 篇12

1、LinuxVFS基本原理

Linux以EXT2作为基本的文件系统, 组成VFS的超级块、索引节点、目录项等数据结构, 兼容于各种文件系统的相应数据结构, 从而实现对多种文件系统的透明调用。

Linux所支持的文件系统的一般结构, Linux继承了UINX, 把文件名和文件控制信息分开管理。一个Linux所支持的物理文件系统, 使用的块设备上的一个独立的逻辑分区可大致分为:引导块、超级块、inode块、data块等四部分[1]。

LinuxVFS采用超级块 (super_block) 和索引节点 (inode) 来描述文件系统, 这里的super_block和inode不同于物理文件系统中的super_block和inode数据结构:VFSsuper_block是VFS把不同文件系统中的整体组织和结构信息进行抽象后形成的兼顾不同文件系统的统一的超级块结构。在安装文件系统时, 由系统在内存中建立, 其内容主要由文件系统的超级块数据来填充。inode则是在系统打开文件时, 由系统在内存动态建立, 其内容主要由文件系统的inode节点的数据来填充。

LinuxVFS除了没有储存文件内容的数据块外, 文件系统的结构基本相似与物理文件系统。

Linux进程通过VFS中的相应的超级块和索引节点中的信息, 访问目的磁盘文件系统中文件。

2、LinuxVFS的实现

为了区分问了文件系统中的inode, 这里把VFS中的inode称为vnode。

Linux系统支持文件系统目录树机制, 根据路径名, 如/home/xyz/work/test.c, 就可以在磁盘上找到文件test.c的目录项和索引节点。其中, 目录/、home、xyz、work以及普通文件test.c都对应一个目录项对象。目录项在磁盘文件系统中的数据结构是dir_entry, VFS在遍历路径名的过程中将其解析成内存目录项对象 (dentry) 和vnode。

vinode与某个文件的对应关系是通过设备号i_dev与inode号i_ino建立的, 它们唯一地指定了某个设备上的一个文件或目录。vnode是设备上的文件或目录的inode在内存中的统一对应结构, 并且在u中给出了不同文件系统特有的信息, 即各种文件系统的inode在内存中的映像。

如前所述, Linux继承了UINX, 把文件名和文件控制信息分开管理, 由目录项 (dir_entry) 管理文件名, 索引节点 (inode) 管理文件控制信息, 并且通过dir_entry结构中的d_inode域指向文件的inode节点, 建立与文件索引节点的联系。文件的索引节点结构体 (inode) 包含了关于文件的组织信息和管理信息, 根据其中的i_info查找存储文件内容的数据块, 根据i_op指向的inode_operations结构, 通过其中的指针函数调用各自的inode操作函数。

系统进程使用文件由表示进程当前打开的所有文件的数据结构files_struct, 建立进程与文件系统关系。指针fd和fd_array都指向打开文件对象数组。进程调用文件操作函数, 依据文件路径打开文件, 文件操作函数返回一整数, 即文件描述符, 例如i n t o p e n (constchar*pathname, intflages) [2]。以后, 进程便用文件描述符来表示一个打开的文件, 该整数文件描述符就是files_struct中file数组fd的下标。

图1描述了进程使用文件时用到的VFS关键数据结构的有机联系, 数据结构的框图列出了主要数据成员。

dentry结构描述的是逻辑意义上的文件, 记录的是其逻辑上的属性。只要是有效的dentry结构, 则其指针d_inode必定指向一个inode结构。而inode结构inode结构所代表的是物理意义上的文件, 记录的是其物理上的属性。一个inode结构可能对应着不止一个dentry结构, 因为一个物理意义上的文件由于可以被连接 (link) 其他路径名。

所以, 在inode结构中有个队列i_dentry, 凡是代表着这个文件的说有目录项 (普通文件也是目录文件的一种) 都是通过dentry结构中的d_alias挂入相应的inode结构中的i_dentry队列。

3、结语

文章从数据结构的角度出发, 对Linux虚文件系统的实现技术作了简要的分析, 探究Linux虚拟文件系统原理, 可以帮助我们更好地进行系统软件设计和开发Linux驱动程序。

摘要:分析了Linux虚拟文件系统如何实现把各种不同物理文件系统转换为对Linux内核和进程具有统一接口的过程, 用框图的形式清晰地勾勒出其中涉及到的数据结构之间的联系。

关键词:Linux,虚拟文件系统,inode,node,dentry

参考文献

[1]毛德操.Linux内核源代码情景分析 (上) [M].杭州:浙江大学出版社, 2009:428-430.

Linux 篇13

给我通电话后,我果断先让他把系统分区完,数据盘分区先部分,等进入系统后我远程来看问题。再他不分数据盘后系统正常安装完了跟我远程我发现的问题。

很长字符串为真实RAID卡认出的磁盘,实际的两个磁盘 为 /dev/sda /dev/sdb 是不能挂载操作的。上来我先给他 分区试试,结果报错:

WARNING: Re-reading the partition table failed with error 22: 无效的参数.The kernel still uses the old table.

经过google 发现:

Run ”kpartx -a" after FDISK is completed to add all partition mappings on thenewly-created multipath device -- EXAMPLE:

然后就用 kpartx -a参数执行 命令:

kpartx -a /dev/mapper/ddf1_4c5349202020808627c3000000004711471100001450

然后执行 ls /dev/mapper/

终于发现了

/dev/mapper/ddf1_4c53492020202020808627c3000000004711471100001450p7

刚才分出来的数据盘分区,

然后格式化:

mkfs.ext3 /dev/mapper/ddf1_4c53492020202020808627c3000000004711471100001450p7

创建 LABEL:

mkdir /data0e2label /dev/mapper/ddf1_4c53492020202020808627c3000000004711471100001450p7 /data0

修改 /etc/fstab 实现自动挂载,添加:

【Linux】推荐阅读:

上一篇:儿童节忆童年下一篇:动漫展商业计划书

热门文章
    相关推荐