jdh
jdh
终身会员
终身会员
  • 注册日期2010-12-18
  • 发帖数77
  • QQ
  • 火币135枚
  • 粉丝4
  • 关注2
15楼#
发布于:2010-12-25 09:34
系统强化策略 教你如何强化Linux安全
时常有人说,linux比windows更安全。但与网络连接的任何计算机是不可能绝对安全的。
  
  正如我们需要经常注意院子的围墙是否坚固一样,对操作系统也需要我们经常维护和强化。在此,我们仅谈论几个用户可以用来强化系统的大体步骤。
  
  本文重点谈的是如何强化的问题,不过在开始强化之前,用户需要对以下三个问题有一个清醒的认识,一个问题是这个系统用于什么目的,二是它需要运行哪些软件,三是用户需要防护哪些漏洞或威胁。这三个问题依次为因果关系,即前一个问题是后一个问题的原因,后一个问题是前一个的结果。
  
  从零开始
  
  从一个已知的安全状态开始强化一个系统是完全可能的,但在实际上这种强化也可以从一个“裸体”系统开始。这意味着用户将拥有对系统盘重新分区的机会,将所有的数据文件与操作系统文件分离开来未尝不是一个谨慎的安全措施。
  
  下一步是配置一个最小的安装,当然得让系统启动,然后添加必要的能够完成工作的程序包。这一步很关键。为什么需要最少化安装呢?原因在于机器中的代码越少,可被利用的漏洞就会越少:谁也无法利用并不存在的漏洞,是不是?你还需要给操作系统打补丁,并且还得给运行在这个系统上的所有应用程序打补丁。
  
  不过,要注意,如果有人能够从物理上接近所访问的机器,他就有可能从光盘或其它媒体启动计算机,并获取系统的访问权。因此,用户最好配置一下系统的BIOS,限制仅能从硬盘启动,并且要用一个强健的口令来保护这种设置。
  
  下一步是编译一下自己的系统内核,这里还是要强调仅包含那些你需要的部分。一旦你自己定制的系统构建完毕,重新启动进入内核,那你所拥有内核的被攻击的可能性将极大地减少。但强化系统的方法不限于此,好戏还在后头。
  
  减少服务
  
  运行了经过瘦身的系统之后,下一步就是要确保仅运行你需要的服务。到现在为止,用户已经清除了许多服务,但还有可能有许多服务仍在后台运行。用户需要在多个地方找到这些服务,如/etc/init.d 和 /etc/rc.d/rc.local等包含多种启动进程的位置,要检查由cron所启动的一切东西。用户还可以用netstat或Nmap等程序检查监听套接字。比如,许多用户需要禁用的服务可能包括网络文件系统(samba)、远程访问服务等。
  
  当然不能一概而论,如果你确实需要某些服务,就要设法限制它对系统其余部分的潜在破坏性作用,要尽可能让其在自己的chroot路径中运行,使其与文件系统的其余部分相分离。
  
  重视许可问题
  
  作为用户或管理人员,必须要保证任何用户都不能执行其不必要的程序或打开不必要文件。管理员应当审计整个系统,并将每个文件的许可减少到最小的可行程度。我们的目标是任何人都不能读取或写入与其无关的文件。此外,还应当对所有的敏感数据加密。
  
  进一步讲,管理员要保证拥有一个安全的root口令,而且知道此口令的人越少越好,只有这样,才能保障任何人都无法访问他们不应当访问的账户。还要保障用户登录信息的最新,要坚持口令的到期时间等策略问题。此外,清除预先提供的账户也是很聪明的做法,或者至少要改变默认的口令。
  
  需要强调的是,安全是一个过程而非一个临时性的活儿。这就意味着,管理人员应当监视并进一步强化系统,特别是需要监视系统日志,要以尽可能快的速度为系统打补丁。还要关注安全咨讯,在获知最新的漏洞后,能尽快地应对之。所以本文并不能全面解决linux安全,而是向用户展示强化系统的一些可能性。
  
  如果你是一个linux用户或管理者,应当采取一些步骤使其更安全,但这有可能降低系统效率。所以关键是找到一个恰当的平衡点。

 

回复(0) 喜欢(0)     评分
jdh
jdh
终身会员
终身会员
  • 注册日期2010-12-18
  • 发帖数77
  • QQ
  • 火币135枚
  • 粉丝4
  • 关注2
16楼#
发布于:2010-12-25 09:33
拯救WindowsXP操作系统假死的三招妙计
使用windows XP时间比较长后,有时运行会很不流畅,甚至会不响应鼠标键盘的操作。很多时候是系统的假死。和真正的死机不同,假死完全可以被“救活”。假死的根源在于 explorer.exe(整个图形界面的驱动)。既然会假死,那就一定有解决方法,下面就介绍一些拯救系统假死的方法。
  
  第一招:当使用资源管理器打开新文件夹或用浏览器打开新页面不响应时,用“Win D”或单击快速启动栏的显示桌面按钮,再在桌面上按F5或右键刷新即可。一般刷新3-5次后再把资源管理器或浏览器窗口还原就会恢复正常了。
  
  第二招:这招很灵,能对付大多数假死的情况。当任务管理器都打不开时,先把光驱弹出之后再弹入(千万不要在光驱里放光盘),鼠标指针旁会出现一个小光盘标志,这时就会唤起系统的知觉,这招可是屡试不爽!
  
  第三招:最后的杀手锏,用组合键“Ctrl Alt Del”启动任务管理器,然后在“进程”选项卡中结束explorer.exe,整个桌面只剩一张壁纸,桌面图标和任务栏都没影了,然后在任务管理器的 “文件→新建任务”中输入explorer.exe,即可恢复正常。这一招还可释放内存资源,一举两得。
  
  照下面的方法可以明显减少假死可能性:
  
  能不用右键菜单的时候就尽量不用,尽量使用热键如用F2重命名、用F5刷新等。windows MediaPlayer最好不用可视化效果,用了往往会卡机。真想用的话,微粒是最不容易卡机的,建议用“微粒”可视化效果。不要轻易使用内存整理软件,往往会越整理系统速度越慢。如果真想释放系统资源,注销当前用户再重新登录是最好的方式。说了这么多,大家也不妨试试这些方法。

 

回复(0) 喜欢(0)     评分
jdh
jdh
终身会员
终身会员
  • 注册日期2010-12-18
  • 发帖数77
  • QQ
  • 火币135枚
  • 粉丝4
  • 关注2
17楼#
发布于:2010-12-25 09:32
系统中文件名乱码的文件 如何正确删除
很多朋友遇到过这样的情况:电脑中出现文件名是乱码的文件(以下简称乱码文件,注意:是文件名乱码而不是文件内容乱码),它们无法打开、重命名、删除或移动。查看文件属性,系统显示无文件类型,而且它们一般占用巨大的磁盘空间。
  
  本文着重讨论这些乱码文件名文件的产生原因以及如何删除这些烦人的乱码文件。
  
  一、乱码文件名文件产生的原因
  
  经过仔细分析和研究,认为乱码文件产生的原因主要有以下几点:
  
  1. 硬盘磁道或扇区出现错误,导致文件名出现乱码,这样的文件无法正常删除。
  
  2. 有时候在windows中执行的删除文件操作,只是将磁盘上文件分配表里的相关文件信息删掉了,并没有实际删除文件。
  
  3. 不正确的操作。在使用BT下载软件时,下载进度到99%时就停止下载,并自己修改文件名,由于BT下载不是顺序下载,这样有可能导致文件索引信息错误,导致乱码文件出现。
  
  4. 使用磁盘工具PQmagic转换过分区格式之后(如从NTFS到FAT32),出现文件名乱码现象。因为PQmagic对中文文件名的支持不是很好,所以,在整理完分区后会导致中文文件名出现乱码,甚至文件内容也出现乱码。
  
  5. 病毒引起的文件名乱码,这种乱码文件产生的原因比较复杂,一般是由于病毒自己制造或杀毒软件删除病毒不彻底导致磁盘逻辑错误。
  
  6. 闪存、移动硬盘等移动存储设备出现乱码文件,尤其是手机存储卡最容易出现这种问题。这种情况多是由于不正确地使用移动存储设备造成的,比如直接拔离设备等。但是有的时候质量不好的闪存或移动硬盘也会出现乱码文件,这是移动设备本身的质量问题。比如当往存储卡中写入数据时出错,出现乱码文件,同时系统右下角出现“Windows延缓写入失败,Windows无法为x:/windows/windowsupdate.log文件保存所有数据”的提示,这多半是由于存储卡已经损坏了。
  
  二、删除乱码文件名的文件
  
  由于乱码文件产生的原因有多种,经过我仔细研究,找到了以下几种处理办法:
  
  1. 尝试为文件重命名,如果可以重命名的话。运行cmd 打开任务管理器,结束explorer进程,切换到cmd命令提示符状态下输入“Del 文件名”后就可以删除文件了,这种方法只适用于可以重命名的文件。在进行操作时先关闭其他一切不相关的程序。
  
  2. 如果重命名文件时系统提示“拒绝访问”,那么在cmd模式下运行“chkdsk /f”命令检查磁盘错误并修复。
  
  如果出现找到磁盘错误,一般的错误都是可以修复的,在修复完成后就可以删除乱码文件了。
  
  注意:有时,由于乱码文件所在分区为系统区,系统会提示“另一个进程正在调用该卷,是否希望下次开机时检查该卷?”我建议用这样的方法运行chkdsk命令,使用Windows安装盘引导系统,在选择新安装windows界面时,按“R”修复已有系统,进入命令提示符状态,在这里运行“chkdsk /f”命令。我测试过,这样运行的效果要比在windows下的cmd模式中好很多。再运行“fixmbr”命令修复分区表。也可以修复系统其他的问题。
  
  3.如果进行完上一步仍然无法删除乱码文件,可以使用我们最常用的WinRAR压缩工具来删除,具体的方法是压缩乱码文件并选中“压缩后删除源文件”选项。这样,一般的乱码文件就可以删除了。
  
  4.但是如果文件的磁盘文件索引块已经被破坏,那WinRAR也是没有办法的,这时候就要借用Ghost这个强大的工具了。先把有乱码文件的分区做成镜像文件,再使用Ghost explorer浏览镜像文件,找到乱码文件并删除,再把镜像文件恢复到源分区。这个方法一般可以解决绝大数乱码文件名无法删除的问题。
  
  5. 如果你装的是windows和linux双系统,还有一种解决办法。
  
  首先,用Linux启动系统,用“mount”命令加载那个有乱码文件的FAT32 分区并指定codepage=cp437,就可以看到完整的中文文件名和目录了。然后,用“cp -r”命令到拷贝乱码文件到linux 分区上面; 再用“umount”命令卸载FAT32分区,重新用“mount”命令加载并指定 codepage = cp936,用“iocharset=cp936 cp -r”命令把乱码文件拷贝回去。这个方法可以完全无损地恢复分区。

 

回复(0) 喜欢(0)     评分
jdh
jdh
终身会员
终身会员
  • 注册日期2010-12-18
  • 发帖数77
  • QQ
  • 火币135枚
  • 粉丝4
  • 关注2
18楼#
发布于:2010-12-25 09:31
妙解怪问题:QQ游戏启动加速不成反减速
经常玩QQ游戏的用户对于“QQ游戏启动加速”都不会陌生,通过这个程序,用户可以快速的进入QQ游戏大厅。但有时候,当用户启用QQ游戏加速后,你或许会发现,进入qq游戏大厅没有加速,反而是减速了。这是为什么呢?

一般的,qq游戏启动没有加速反而减速的原因是对应的加速文件和杀毒软件不兼容,甚至有某杀毒软件将Accel.exe文件当做“危险文件”进行监控处理,这一监控就造成了减速的情况出现。


回复(0) 喜欢(0)     评分
jdh
jdh
终身会员
终身会员
  • 注册日期2010-12-18
  • 发帖数77
  • QQ
  • 火币135枚
  • 粉丝4
  • 关注2
19楼#
发布于:2010-12-25 09:29
查看系统进程 巧妙地判断出病毒和木马
 任何病毒和木马存在于系统中,都无法彻底和进程脱离关系,即使采用了隐藏技术,也还是能够从进程中找到蛛丝马迹,因此,查看系统中活动的进程成为我们检测病毒木马最直接的方法。但是系统中同时运行的进程那么多,哪些是正常的系统进程,哪些是木马的进程,而经常被病毒木马假冒的系统进程在系统中又扮演着什么角色呢?请看本文。
  
  病毒进程隐藏三法
  
  当我们确认系统中存在病毒,但是通过“任务管理器”查看系统中的进程时又找不出异样的进程,这说明病毒采用了一些隐藏措施,总结出来有三法:
  
  1.以假乱真
  
  系统中的正常进程有:svchost.exe、explorer.exe、iexplore.exe、winlogon.exe等,可能你发现过系统中存在这样的进程:svch0st.exe、explore.exe、iexplorer.exe、winlogin.exe。对比一下,发现区别了么?这是病毒经常使用的伎俩,目的就是迷惑用户的眼睛。通常它们会将系统中正常进程名的o改为0,l改为i,i改为j,然后成为自己的进程名,仅仅一字之差,意义却完全不同。又或者多一个字母或少一个字母,例如explorer.exe和iexplore.exe本来就容易搞混,再出现个iexplorer.exe就更加混乱了。如果用户不仔细,一般就忽略了,病毒的进程就逃过了一劫。
  
  2.偷梁换柱
  
  如果用户比较心细,那么上面这招就没用了,病毒会被就地正法。于是乎,病毒也学聪明了,懂得了偷梁换柱这一招。如果一个进程的名字为svchost.exe,和正常的系统进程名分毫不差。那么这个进程是不是就安全了呢?非也,其实它只是利用了“任务管理器”无法查看进程对应可执行文件这一缺陷。我们知道svchost.exe进程对应的可执行文件位于“C:\WINDOWS\system32”目录下(Windows2000则是C:\WINNT\system32目录),如果病毒将自身复制到“C:\windows\”中,并改名为svchost.exe,运行后,我们在“任务管理器”中看到的也是svchost.exe,和正常的系统进程无异。你能辨别出其中哪一个是病毒的进程吗?
  
  3.借尸还魂
  
  除了上文中的两种方法外,病毒还有一招终极大法——借尸还魂。所谓的借尸还魂就是病毒采用了进程插入技术,将病毒运行所需的dll文件插入正常的系统进程中,表面上看无任何可疑情况,实质上系统进程已经被病毒控制了,除非我们借助专业的进程检测工具,否则要想发现隐藏在其中的病毒是很困难的。
  
  系统进程解惑
  
  上文中提到了很多系统进程,这些系统进程到底有何作用,其运行原理又是什么?下面我们将对这些系统进程进行逐一讲解,相信在熟知这些系统进程后,就能成功破解病毒的“以假乱真”和“偷梁换柱”了。
  
  svchost.exe
  
  常被病毒冒充的进程名有:svch0st.exe、schvost.exe、scvhost.exe。随着windows系统服务不断增多,为了节省系统资源,微软把很多服务做成共享方式,交由svchost.exe进程来启动。而系统服务是以动态链接库(DLL)形式实现的,它们把可执行程序指向scvhost,由cvhost调用相应服务的动态链接库来启动服务。我们可以打开“控制面板”→“管理工具”→服务,双击其中“ClipBook”服务,在其属性面板中可以发现对应的可执行文件路径为“C:\WINDOWS\system32\clipsrv.exe”。再双击“Alerter”服务,可以发现其可执行文件路径为“C:\windows\system32\svchost.exe -k LocalService”,而“Server”服务的可执行文件路径为“C:\windows\system32\svchost.exe -k netsvcs”。正是通过这种调用,可以省下不少系统资源,因此系统中出现多个svchost.exe,其实只是系统的服务而已。
  
  在Windows2000系统中一般存在2个svchost.exe进程,一个是RPCSS(RemoteProcedureCall)服务进程,另外一个则是由很多服务共享的一个svchost.exe;而在windowsXP中,则一般有4个以上的svchost.exe服务进程。如果svchost.exe进程的数量多于5个,就要小心了,很可能是病毒假冒的,检测方法也很简单,使用一些进程管理工具,例如windows优化大师的进程管理功能,查看svchost.exe的可执行文件路径,如果在“C:\windows\system32”目录外,那么就可以判定是病毒了。
  
  explorer.exe
  
  常被病毒冒充的进程名有:iexplorer.exe、expiorer.exe、explore.exe。explorer.exe就是我们经常会用到的“资源管理器”。如果在“任务管理器”中将explorer.exe进程结束,那么包括任务栏、桌面、以及打开的文件都会统统消失,单击“任务管理器”→“文件”→“新建任务”,输入“explorer.exe”后,消失的东西又重新回来了。explorer.exe进程的作用就是让我们管理计算机中的资源。
  
  explorer.exe进程默认是和系统一起启动的,其对应可执行文件的路径为“C:\windows”目录,除此之外则为病毒。
  
  iexplore.exe
  
  常被病毒冒充的进程名有:iexplorer.exe、iexploer.exeiexplorer.exe进程和上文中的explorer.exe进程名很相像,因此比较容易搞混,其实iexplorer.exe是Microsoft Internet Explorer所产生的进程,也就是我们平时使用的IE浏览器。知道作用后辨认起来应该就比较容易了,iexplorer.exe进程名的开头为“ie”,就是IE浏览器的意思。
  
  iexplore.exe进程对应的可执行程序位于C:\ProgramFiles\InternetExplorer目录中,存在于其他目录则为病毒,除非你将该文件夹进行了转移。此外,有时我们会发现没有打开IE浏览器的情况下,系统中仍然存在iexplore.exe进程,这要分两种情况:1.病毒假冒iexplore.exe进程名。2.病毒偷偷在后台通过iexplore.exe干坏事。因此出现这种情况还是赶快用杀毒软件进行查杀吧。
  
  rundll32.exe
  
  常被病毒冒充的进程名有:rundl132.exe、rundl32.exe。rundll32.exe在系统中的作用是执行DLL文件中的内部函数,系统中存在多少个Rundll32.exe进程,就表示Rundll32.exe启动了多少个的DLL文件。其实rundll32.exe我们是会经常用到的,他可以控制系统中的一些dll文件,举个例子,在“命令提示符”中输入“rundll32.exe user32.dll,LockWorkStation”,回车后,系统就会快速切换到登录界面了。rundll32.exe的路径为“C:\windows\system32”,在别的目录则可以判定是病毒。
  
  spoolsv.exe
  
  常被病毒冒充的进程名有:spoo1sv.exe、spolsv.exe。spoolsv.exe是系统服务“Print Spooler”所对应的可执行程序,其作用是管理所有本地和网络打印队列及控制所有打印工作。如果此服务被停用,计算机上的打印将不可用,同时spoolsv.exe进程也会从计算机上消失。如果你不存在打印机设备,那么就把这项服务关闭吧,可以节省系统资源。停止并关闭服务后,如果系统中还存在spoolsv.exe进程,这就一定是病毒伪装的了。
  
  限于篇幅,关于常见进程的介绍就到这里,我们平时在检查进程的时候如果发现有可疑,只要根据两点来判断:
  
  1.仔细检查进程的文件名;
  
  2.检查其路径。
  
  通过这两点,一般的病毒进程肯定会露出马脚。
  
  找个管理进程的好帮手
  
  系统内置的“任务管理器”功能太弱,肯定不适合查杀病毒。因此我们可以使用专业的进程管理工具,例如Procexp。Procexp可以区分系统进程和一般进程,并且以不同的颜色进行区分,让假冒系统进程的病毒进程无处可藏。
  
  运行Procexp后,进程会被分为两大块,“System Idle Process”下属的进程属于系统进程,explorer.exe”下属的进程属于一般进程。我们介绍过的系统进程svchost.exe、winlogon.exe等都隶属于“System Idle Process”,如果你在“explorer.exe”中发现了svchost.exe,那么不用说,肯定是病毒冒充的。

 

回复(0) 喜欢(0)     评分
jdh
jdh
终身会员
终身会员
  • 注册日期2010-12-18
  • 发帖数77
  • QQ
  • 火币135枚
  • 粉丝4
  • 关注2
20楼#
发布于:2010-12-25 09:27
如何增强Linux和Unix服务器系统安全性
众所周知,网络安全是一个非常重要的课题,而服务器是网络安全中最关键的环节。Linux被认为是一个比较安全的Internet服务器,作为一种开放源代码操作系统,一旦linux系统中发现有安全漏洞,Internet上来自世界各地的志愿者会踊跃修补它。然而,系统管理员往往不能及时地得到信息并进行更正,这就给黑客以可乘之机。然而,相对于这些系统本身的安全漏洞,更多的安全问题是由不当的配置造成的,可以通过适当的配置来防止。服务器上运行的服务越多,不当的配置出现的机会也就越多,出现安全问题的可能性就越大。对此,本文将介绍一些增强linux/unix服务器系统安全性的知识。

一、系统安全记录文件

操作系统内部的记录文件是检测是否有网络入侵的重要线索。如果您的系统是直接连到Internet,您发现有很多人对您的系统做Telnet/FTP登录尝试,可以运行"#more /var/log/secure grep refused"来检查系统所受到的攻击,以便采取相应的对策,如使用SSH来替换Telnet/rlogin等。

二、启动和登录安全性

1.BIOS安全IXPUB

设置BIOS密码且修改引导次序禁止从软盘启动系统。

2.用户口令

用户口令是linux安全的一个基本起点,很多人使用的用户口令过于简单,这等于给侵入者敞开了大门,虽然从理论上说,只要有足够的时间和资源可以利用,就没有不能破解的用户口令,但选取得当的口令是难于破解的。较好的用户口令是那些只有他自己容易记得并理解的一串字符,并且绝对不要在任何地方写出来。

3.默认账号

应该禁止所有默认的被操作系统本身启动的并且不必要的账号,当您第一次安装系统时就应该这么做,linux提供了很多默认账号,而账号越多,系统就越容易受到攻击。

可以用下面的命令删除账号。

# userdel用户名  

或者用以下的命令删除组用户账号。

# groupdel username  

4.口令文件

chattr命令给下面的文件加上不可更改属性,从而防止非授权用户获得权限。

# chattr +i /etc/passwd # chattr +i /etc/shadow # chattr +i /etc/group # chattr +i /etc/gshadow  

5.禁止Ctrl+Alt+Delete重新启动机器命令

修改/etc/inittab文件,将"ca::ctrlaltdel:/sbin/shutdown -t3 -r now"一行注释掉。然后重新设置/etc/rc.d/init.d/目录下所有文件的许可权限,运行如下命令:

# chmod -R 700 /etc/rc.d/init.d/*  

这样便仅有root可以读、写或执行上述所有脚本文件。

6.限制su命令

如果您不想任何人能够su作为root,可以编辑/etc/pam.d/su文件,增加如下两行:

auth sufficient /lib/security/pam_rootok.so debug auth required /lib/security/pam_wheel.so group=isd  

这时,仅isd组的用户可以su作为root。此后,如果您希望用户admin能够su作为root,可以运行如下命令:

# usermod -G10 admin  

7.删减登录信息

默认情况下,登录提示信息包括linux发行版、内核版本名和服务器主机名等。对于一台安全性要求较高的机器来说这样泄漏了过多的信息。可以编辑/etc/rc.d/rc.local将输出系统信息的如下行注释掉。

# This will overwrite /etc/issue at every boot. So, make any changes you # want to make to /etc/issue here or you will lose them when you reboot. # echo "" > /etc/issue # echo "$R" >> /etc/issue # echo "Kernel $(uname -r) on $a $(uname -m)" >> /etc/issue # cp -f /etc/issue /etc/issue.net # echo >> /etc/issue  

然后,进行如下操作:

# rm -f /etc/issue # rm -f /etc/issue.net # touch /etc/issue # touch /etc/issue.net  


三、限制网络访问

1.NFS访问如果您使用NFS网络文件系统服务,应该确保您的/etc/exports具有最严格的访问权限设置,也就是意味着不要使用任何通配符、不允许root写权限并且只能安装为只读文件系统。编辑文件/etc/exports并加入如下两行。

/dir/to/export host1.mydomain.com(ro,root_squash) /dir/to/export host2.mydomain.com(ro,root_squash)  

/dir/to/export 是您想输出的目录,host.mydomain.com是登录这个目录的机器名,ro意味着mount成只读系统,root_squash禁止root写入该目录。为了使改动生效,运行如下命令。

# /usr/sbin/exportfs -a 

2.Inetd设置

首先要确认/etc/inetd.conf的所有者是root,且文件权限设置为600。设置完成后,可以使用"stat"命令进行检查。

# chmod 600 /etc/inetd.conf  

然后,编辑/etc/inetd.conf禁止以下服务。

ftp telnet shell login exec talk ntalk imap pop-2 pop-3 finger auth  

如果您安装了ssh/scp,也可以禁止掉Telnet/FTP。为了使改变生效,运行如下命令:

#killall -HUP inetd  

默认情况下,多数linux系统允许所有的请求,而用TCP_WRAPPERS增强系统安全性是举手之劳,您可以修改/etc/hosts.deny和/etc/hosts.allow来增加访问限制。例如,将/etc/hosts.deny设为"ALL: ALL"可以默认拒绝所有访问。然后在/etc/hosts.allow文件中添加允许的访问。例如,"sshd: 192.168.1.10/255.255.255.0 gate.openarch.com"表示允许IP地址192.168.1.10和主机名gate.openarch.com允许通过SSH连接。

配置完成后,可以用tcpdchk检查:

# tcpdchk  

tcpchk是TCP_Wrapper配置检查工具,它检查您的tcp wrapper配置并报告所有发现的潜在/存在的问题。

3.登录终端设置

/etc/securetty文件指定了允许root登录的tty设备,由/bin/login程序读取,其格式是一个被允许的名字列表,您可以编辑/etc/securetty且注释掉如下的行。

# tty1 # tty2 # tty3 # tty4 # tty5 # tty6  

这时,root仅可在tty1终端登录。

4.避免显示系统和版本信息。

如果您希望远程登录用户看不到系统和版本信息,可以通过一下操作改变/etc/inetd.conf文件:

telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -  

加-h表示telnet不显示系统信息,而仅仅显示"login:"。


四、防止攻击

1.阻止ping 如果没人能ping通您的系统,安全性自然增加了。为此,可以在/etc/rc.d/rc.local文件中增加如下一行:

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
 


2.防止IP欺骗

编辑host.conf文件并增加如下几行来防止IP欺骗攻击。

order bind,hosts multi off nospoof on


3.防止DoS攻击

对系统所有的用户设置资源限制可以防止DoS类型攻击。如最大进程数和内存使用数量等。例如,可以在/etc/security/limits.conf中添加如下几行:

* hard core 0 * hard rss 5000 * hard nproc 20  


然后必须编辑/etc/pam.d/login文件检查下面一行是否存在。

session required /lib/security/pam_limits.so  


上面的命令禁止调试文件,限制进程数为50并且限制内存使用为5MB。

经过以上的设置,您的linux服务器已经可以对绝大多数已知的安全问题和网络攻击具有免疫能力,但一名优秀的系统管理员仍然要时刻注意网络安全动态,随时对已经暴露出的和潜在安全漏洞进行修补。

 

回复(0) 喜欢(0)     评分
jdh
jdh
终身会员
终身会员
  • 注册日期2010-12-18
  • 发帖数77
  • QQ
  • 火币135枚
  • 粉丝4
  • 关注2
21楼#
发布于:2010-12-25 09:26
命令行/DOS下列出进程名与进程文件路径
命令行/DOS下列出进程名与进程路径

列出进程,方法很多,比如tasklist我觉得最好了(2000下不行)

列出进程路径,这个比较麻烦,命令行的话,可以试试如下命令:

wmic process


 

回复(0) 喜欢(0)     评分
jdh
jdh
终身会员
终身会员
  • 注册日期2010-12-18
  • 发帖数77
  • QQ
  • 火币135枚
  • 粉丝4
  • 关注2
22楼#
发布于:2010-12-25 09:25
不用Linux的七大荒唐理由
著作过很多linux教程的作者Keir Thomas说他了解到很多人不愿使用linux主要有七大原因:

一,linux不能运行他们想要的应用程序。

二,担心linux不兼容他们的硬件。

三,linux需要用命令,很麻烦。

四,无法适应。

五,在linux社区得不到满意的回复。

六,压根就不喜欢linux。

七,安装的软件容易崩溃,应用程序运行得不正常。

回复(0) 喜欢(0)     评分
jdh
jdh
终身会员
终身会员
  • 注册日期2010-12-18
  • 发帖数77
  • QQ
  • 火币135枚
  • 粉丝4
  • 关注2
23楼#
发布于:2010-12-25 09:23
我与ubuntu的初识及使用5个月多的感受
先讲我与ubuntu的初识

在大二下的某个晚上,我像往常一样在网上瞎逛。看看视频,新闻,逛逛论坛,玩玩游戏,突然之间......我看到了一个视频,是关于ubuntu的3D特效的,我马上点开一看,乖乖,不得了,这么绚烂......于是,我也不知道怎么的,不过瘾,继续看,记忆中好像连续看了2、3天的3D特效视频,心里那个震撼啊,太爽 了。不过当时要四级考试了,所以就在虚拟机下尝试了下,等四级一考完,马上就找同学借来了ubuntu的刻录盘9.04装上,结果,又让我郁闷得吐血,很多软件不能用,一查,才知道是32位和64的区别,无奈,只好装上我的ubuntu8.10 32位桌面版(我申请的光盘),那些软件终于能用了,就这样开始了我的ubuntu单系统使用历程。

再简单说说我使用这ubuntu5个月多的一点感受

首先,习惯是windows用户转入linux的一大障碍

说说我的历史。我接触电脑比较晚,小学就是背键盘字母,初中就是练习打字母,高中就是上网看小说,虽然有电脑课,但好像都跟上网有关的,哦,还有ms office。大一的时候接触电脑多了,会上网外还会玩网络游戏了,但仍旧不知系统为何物。直到暑假我自己买了电脑之后,当时就在买电脑处装上的XP,虽然附带了一张红旗linux的光盘。但是驱动不全,回来之后装了网上的驱动,结果不兼容就装了vista。

有了自己的电脑之后,上网的时间明显更多了,不管处于新鲜还是好奇,反正很喜欢鼓捣系统,找防火墙,杀毒软件,试验系统功能等等,偶尔也去论坛逛逛,玩玩网游等。所以从我真正知道系统起,我用windows的时间不到1年。而且,普通人使用电脑是不怎么考虑系统的,只要能上网、聊天,特别点的网游、炒股、设计等只要能满足这些,再加上先期教育,不管什么系统都是能使用的,也就是对他们来说,系统,没什么区别。


其次,谈谈我使用ubuntu5个月多的一点感受

如果先期就教育得好,那么装软件啊,使用软件啊等等就会形成linux的习惯,再转入windows就会不习惯了。还有可能就是我比较喜欢折腾、鼓捣系统,虽然我现在不搞了,但是初用时候的那种兴奋却是毋庸置疑的。装软件也比windows下要安全、方便得多,不过中文好像还是少了点(这个不是很确定,因为我用的是english全部环境)。使用到现在,我主要就上网及干一些基本的事情,不玩网游,不炒股,网银不怎么用,所以对我来说使用单系统ubuntu非常的简单,虽然我用vmware虚拟了XP,而且还曾经在里面双开玩网游......网银就用过一次,也是虚拟机里面搞的。

如果不想自己鼓捣系统,那么使用中文定制版的也是不错的选择。

回复(0) 喜欢(0)     评分
jdh
jdh
终身会员
终身会员
  • 注册日期2010-12-18
  • 发帖数77
  • QQ
  • 火币135枚
  • 粉丝4
  • 关注2
24楼#
发布于:2010-12-25 09:22
LINUX初学者应该了解的一些问题
一个linux高手写给初学者的话:

现在好多的人开始接触电脑的时候,见到的应该是windows98 说实话,98 已经是一个很人性化,封装的很好的一个系统了。一个对电脑一窍不通的人都能很快的使用它。这样很多人对"电脑"的印象和那些和我一样一开始接触的是DOS人是绝然不同的。在DOS时代,如果你对电脑的基础知识不懂的话是玩不懂它的,不像现在好多人CPU是什么都不知道,却能够是Flash高手,倾倒MM无数。如果你是这样的人,你要学linux,你有一段回头路要走,为什么,看下去

我们先看看MS操作系统的发展,他有两套内核

本文来自IT学院站(www.itxyz.net)

MSDOS--->DOS+Win3.2-->Win9X /
--->WinXP
windowsNT3.1---NT4.0-->Win2000 /

他的发展是从DOS这个纯字符界面的系统发展到一个由字符界面的内核加上一个图像界面的应用程序(Win3.2)再到结合把两个合为一体的Win95,到现在再并上一开始就是图形界面的NT成为windowsXP,他未来的野心就是并上internet成为 .net 本文来自IT学院站(www.itxyz.net)

现在我们来看Linux,Linux只是个内核!这点很重要,你必须理解这一点。只有一个内核是不能构成一个操作系统的。现在的linux操作系统如redhat,蓝点,红旗等,都是用这么一个内核,加上其它的应用程序(包括X)构成的。任何一个叫做操作系统的东西都是这样子构成的:内核+用户界面+一般应用程序。 本文来自IT学院站(www.itxyz.net)

现在我就拿MS的系统和linux的系统的互相对应来让大家更多的认识linux 本文来自IT学院站(www.itxyz.net)

如果你装过DOS,那你一定知道安装完成之后整个硬盘是这样根目录下有io.sys msdos.sys command.com config.sys autoexec.bat共5个文件,以及C:/dos这个目录,很简单。其中io.sys和msdos.sys就是系统的内核,command.com是用户界面(shell), config.sys和autoexec.bat是配置文件,C:/DOS目录下面的是一般应用程序系统启动时首先装入io.sys,再根据配置文件的设置装入msdos.sys和command.com,然后就出现提示符,现在你就能输入命令了。如copy c:/aaa.txt d:/aaa.txt 来拷贝文件。也你能够使用C:/dos目录下的一些应用程序来完成工作,如用edit编辑文件,用Qbasic写basic程序。 本文来自IT学院站(www.itxyz.net)

接下去你安装了一个叫做Foxpro2.6的程序,这个程序可以让你做一些数据库方面的工作,然后你在安装了一个叫做windows3.2中文版的程序,这个程序可厉害了,你现在不用在命令行下打命令了,可以用鼠标来操作了,打开文件管理器,打开C 再打开另一个窗口D,用鼠标一拉就能完成copy c:/aaa.txt d:/aaa.txt这个命令,你只是动了几次食指和现在在windows98下没什么两样。

OK ,goto linux 本文来自IT学院站(www.itxyz.net)

安装好linux之后,根目录下有boot,bin,sbin,etc,usr/bin,等几个目录boot下有vmlinuz这个文件,这个就是内核,就是目前世界上最厉害的黑客linus带头写的那个东东。bin下有sh,这个就是shell(==command.com,用户界面)。因为unix系统是没有内部命令这个说法的,准确地说/bin+/sbin == Command.com,而/etc == config.sys + msdos.sys,剩下/usr/bin == c:/dos。 本文来自IT学院站(www.itxyz.net)

当然。因为Linux比Dos庞大得多,所以,reahat和红旗或者有不同的安排方法,各种目录下的东西并不规则。linux的启动同样是装载vmlinuxz,然后装载sh(或者其他的shell,如bash), 出来提示符。现在你同样能输入命令了。如cp /aaa.txt /tmp/aaa.txt。同样可以用vi编辑文件,用gcc编译程序。 本文来自IT学院站(www.itxyz.net)

接下去你安装了一个叫做mysql的程序,这个程序可以让你做一些数据库方面的工作,然后你再安装了一个叫做kde4.0的程序,这个程序可厉害了,你现在不用在命令行下打命令了,可以用鼠标来操作了,打开文件管理器,打开/ 再打开另一个窗口/tmp,用鼠标一拉就能完成cp /aaa.txt /tmp/aaa.txt。 本文来自IT学院站(www.itxyz.net)

这个命令,你只是动了几次食指和现在在windows98下没什么两样。


回复(0) 喜欢(0)     评分
jdh
jdh
终身会员
终身会员
  • 注册日期2010-12-18
  • 发帖数77
  • QQ
  • 火币135枚
  • 粉丝4
  • 关注2
25楼#
发布于:2010-12-25 09:20
linux 常用命令及技巧
linux 常用命令及技巧:
linux 常用命令总结:
一。 通用命令:
1. date :print or set the system date and time
2. stty -a: 可以查看或者打印控制字符(Ctrl-C, Ctrl-D, Ctrl-Z等)
3. passwd: print or set the system date and time (用passwd -h查看)
4. logout, login: 登录shell的登录和注销命令
5. pwd: print or set the system date and time
6. more, less, head tail: 显示或部分显示文件内容.
7. lp/lpstat/cancel, lpr/lpq/lprm: 打印文件.
8. 更改文件权限: chmod u+x...
9. 删除非空目录:rm -fr dir
10.拷贝目录: cp -R dir
11. fg jobid :可以将一个后台进程放到前台。
  Ctrl-z 可以将前台进程挂起(suspend), 然后可以用bg jobid 让其到后台运行。
  job ; 可以直接让job直接在后台运行。
12. kill 的作用: send a signal to a process. eg: kill -9 发送的是SIG_KILL信号。。。 具体发送什么信号   可以通过 man kill 查看。
13. ps 的用法, ps -e 或 ps -o pid,ppid,session,tpgid, comm (其中session显示的sessionid, tpgid显示前台进程组id, comm显示命令名称。)
二 .ubuntu常用命令:
1. dpkg: package manager for Debian
* 安装: dpkg -i package
* 卸载: dpkg -r package
* 卸载并删除配置文件: dpkg -P |--purge package
* 如果安装一个包时。说依赖某些库。 可以先 apt-get install somelib...
* 查看软件包安装内容 :dpkg -L package
* 查看文件由哪个软件包提供: dpkg -S filename
* 另外 dpkg还有 dselect和aptitude 两个frontend.
2. apt
* 安装: apt-get install packs
* apt-get update : 更新源
* apt-get upgrade: 升级系统。
* apt-get dist-upgrade: 智能升级。安装新软件包,删除废弃的软件包
* apt-get -f install : -f == --fix broken 修复依赖
* apt-get autoremove: 自动删除无用的软件
* apt-get remove packages :删除软件
* apt-get remove package --purge 删除包并清除配置文件
* 清除所以删除包的残余配置文件: dpkg -l |grep ^rc|awk '{print $2}' |tr ["/n"] [" "]|sudo xargs dpkg -P
* 安装软件时候包的临时存放目录 : /var/cache/apt/archives
* 清除该目录: apt-get clean
* 清除该目录的旧版本的软件缓存: apt-get autoclean
* 查询软件some的依赖包: apt-cache depends some
* 查询软件some被哪些包依赖: apt-get rdepends some
* 搜索软件: apt-cache search name|regexp
* 查看软件包的作用:apt-cache show package
* 查看一个软件的编译依赖库: apt-cache showsrc packagename|grep Build-Depends
* 下载软件的源代码 : apt-get source packagename (注: sources.list 中应该有 deb-src 源)
* 安装软件包源码的同时, 安装其编译环境 :apt-get build-dep packagename (有deb-src源)
* 如何将本地光盘加入安装源列表: apt-cdrom add
3. 系统命令:
* 查看内核版本: uname -a
* 查看ubuntu 版本: cat /etc/issue
* 查看网卡状态 : ethtool eth0
* 查看内存,cpu的信息: cat /proc/meminfo ; cat /proc/cpuinfo
(/proc下面的有很多系统信息)
* 打印文件系统空间使用情况: df -h
* 查看硬盘分区情况: fdisk -l
* 产看文件大小: du -h filename;
* 查看目录大小: du -hs dirname ; du -h dirname是查看目录下所有文件的大小
* 查看内存的使用: free -m|-g|-k
* 查看进程: ps -e 或ps -aux -->显示用户
* 杀掉进程: kill pid
* 强制杀掉: killall -9 processname
4. 网络相关:  
* 配置 ADSL:   sudo pppoeconf
* ADSL手工拨号: sudo pon dsl-provider
* 激活 ADSL :   sudo /etc/ppp/pppoe_on_boot
* 断开 ADSL:   sudo poff
* 根据IP查网卡地址: arping IP地址
* 产看本地网络信息(包括ip等): ifconfig | ifconfig eth0
* 查看路由信息: netstat -r
* 关闭网卡: sudo ifconfig eth0 down
* 启用网卡: sudo ifconfig eth0 up
* 添加一个服务: sudo update-rc.d 服务名 defaults 99
* 删除一个服务: sudo update-rc.d 服务名 remove
* 临时重启一个服务: /etc/init.d/服务名 restart
* 临时关闭一个服务: /etc/init.d/服务名 stop
* 临时启动一个服务: /etc/init.d/服务名 start
* 控制台下显示中文: sudo apt-get install zhcon
* 查找某个文件: whereis filename 或 find 目录 -name 文件名
*通过ssh传输文件
scp -rp /path/filename username@remoteIP:/path #将本地文件拷贝到服务器上
scp -rp username@remoteIP:/path/filename /path #将远程文件从服务器下载到本地
5. 压缩:
*解压缩 a.tar.gz:   tar zxvf a.tar.gz
*解压缩 a.tar.bz2: tar jxvf a.tar.bz2
*压缩aaa bbb目录为xxx.tar.gz: tar zcvf xxx.tar.gz aaa bbb
*压缩aaa bbb目录为xxx.tar.bz2:   tar jcvf xxx.tar.bz2 aaa bbb
6. Nautilus:
特殊 URI 地址
* computer:/// - 全部挂载的设备和网络
* network:/// - 浏览可用的网络
* burn:/// - 一个刻录 CDs/DVDs 的数据虚拟目录
* smb:/// - 可用的 windows/samba 网络资源
* x-nautilus-desktop:/// - 桌面项目和图标
* file:/// - 本地文件
* trash:/// - 本地回收站目录
* ftp:// - FTP 文件夹
* ssh:// - SSH 文件夹
* fonts:/// - 字体文件夹,可将字体文件拖到此处以完成安装
* themes:/// - 系统主题文件夹
* 显示隐藏文件: Ctrl+h
* 显示地址栏: Ctrl+l
* 查看已安装字体: 在nautilus的地址栏里输入”fonts:///“,就可以查看本机所有的fonts
7.补充部分:
* 查看本地所有的tpc,udp监听端口: netstat -tupln (t=tcp, u=udp, p=program, l=listen, n=numric)
* 通过man搜说相关命令: man -k keyword . eg: man -k user
* 或者用 apropos
* 统计文件所占用的实际磁盘空间: du   (du - estimate file space usage)
* 统计文件中的字符,字节数: wc -c/-l/-w   (wc - print the number of newlines, words, and bytes in files)
* 查看文件的内容: od -x/-c/....   (od - dump files in octal and other formats)
    我认为od最有用的就是文件的字节流了: od -t x1 filename
    查看文件的 Ascii 码形式: od -t c filename (其中统计信息最左边的是: 字节数)
* 查找命令所在文件的位置: which od 输出: /usr/bin/od
    查看该文件由哪个包提供: dpkg -S /usr/bin/od   输出: coreutils: /usr/bin/od
    再查看coreutils包的全部内容就知道了linux的核心命令: dpkg -L coreutils
    然后 info coreutils    哈哈,认真学吧, 满世界都是命令!
* 可以用man 命令产看某个命令的所有section 的解释: man -a tty
    然后用q,和next 转换到下一个section的解释
  * bash 的好用的快捷键:
  ctrl+a:光标移到行首。
  ctrl+b:光标左移一个字母
  ctrl+c:杀死当前进程。
  ctrl+d:退出当前 Shell。
  ctrl+e:光标移到行尾。
  ctrl+h:删除光标前一个字符,同 backspace 键相同。
  ctrl+k:清除光标后至行尾的内容。
  ctrl+l:清屏,相当于clear。
  ctrl+r:搜索之前打过的命令。会有一个提示,根据你输入的关键字进行搜索bash的history
  ctrl+u: 清除光标前至行首间的所有内容。
  ctrl+w: 移除光标前的一个单词
  ctrl+t: 交换光标位置前的两个字符
  ctrl+y: 粘贴或者恢复上次的删除
  ctrl+d: 删除光标所在字母;注意和backspace以及ctrl+h的区别,这2个是删除光标前的字符
  ctrl+f: 光标右移
  ctrl+z : 把当前进程转到后台运行,使用’ fg ‘命令恢复。比如top -d1 然后ctrl+z ,到后台,然后fg,重新恢复
* 快速粘贴:先在一个地方选中文字,在欲粘贴的地方按鼠标 中键 即可。
* 等效中键:a 、按下滑轮等效于中键。b、同时按下鼠标 左右键,等效于中键。
* 快速重启X服务: 同时按下: Alt + Ctrl + Backspace 三个键。
* 打开"运行"窗口: 同时按下 Alt + F2 键。
* 戴屏: a、全屏:直接按下 PrtScr 键。
  b、当前窗口:同时按下 Alt + PrtScr 键。
  c、延时戴屏:在 终端 或 "运行"窗口中输入命令: gnome-screenshot --delay 3 ,将延时 3 秒后戴屏。
* 直接将 文件管理器 中的文件拖到 GNOME终端 中就可以在终端中得到完整的路径名。
8.  ulimit
ulimit:显示(或设置)用户可以使用的资源的限制(limit),这限制分为软限制(当前限制)和硬限制(上限),其中硬限制是软限制的上限值,应用程序在运行过程中使用的系统资源不超过相应的软限制,任何的超越都导致进程的终止。
ulimited      不限制用户可以使用的资源,但本设置对可打开的最大文件数(max open files)
和可同时运行的最大进程数(max user processes)无效
-a      列出所有当前资源极限
-c      设置core文件的最大值.单位:blocks
-d      设置一个进程的数据段的最大值.单位:kbytes
-f      Shell 创建文件的文件大小的最大值,单位:blocks
-h      指定设置某个给定资源的硬极限。如果用户拥有 root 用户权限,可以增大硬极限。任何用户均可减少硬极限
-l      可以锁住的物理内存的最大值
-m      可以使用的常驻内存的最大值,单位:kbytes
-n      每个进程可以同时打开的最大文件数
-p      设置管道的最大值,单位为block,1block=512bytes
-s      指定堆栈的最大值:单位:kbytes
-S      指定为给定的资源设置软极限。软极限可增大到硬极限的值。如果 -H 和 -S 标志均未指定,极限适用于以上二者
-t      指定每个进程所使用的秒数,单位:seconds
-u      可以运行的最大并发进程数
-v      Shell可使用的最大的虚拟内存,单位:kbytes
eg: ulimit -c 1000(可以先通过ulimit -c 查看原来的值)
 


回复(0) 喜欢(0)     评分
jdh
jdh
终身会员
终身会员
  • 注册日期2010-12-18
  • 发帖数77
  • QQ
  • 火币135枚
  • 粉丝4
  • 关注2
26楼#
发布于:2010-12-25 09:19
Linux 下通过脚本实现远程自动备份
考虑到在本机上备份数据,一旦该机器硬盘出现故障,数据无法取出。远程手动备份数据费时费力且不及时。最好的方法就是通过脚本实现远程自动互备。但远程无论是通过SSH登陆,还是通过scp拷贝文件都需要输入密码。为了克服这个问题,首先需要实现不需要密码的SSH登陆,这样就可以使用rsync,scp,rexec等命令来做的远程备份了。

1. 设置无需密码的ssh登陆,方法如下:
假设A,B两服务器,现在需要在A机上用root登陆B机,而不需要输入密码,那我们可按照下面的步骤来做:
1)在A机上生成钥匙对,执行以下命令:
ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): /root/.ssh/id_rsa
Enter passphrase (empty for no passphrase):直接回车
Enter same passphrase again:直接回车
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
f6:61:a8:27:35:cf:4c:6d:13:22:70:cf:4c:c8:a0:23 root@host1

这样,在/root/.ssh/路径下会生成id_rsa,和id_rsa.pub,其中id_rsa是密钥,id_rsa.pub是公钥。

2)把在A机生成的id_rsa.pub拷贝到B机上,假设拷贝到B机的临时目录下,如:
scp /root/.ssh/id_rsa.pub root@218.242.214.20:/tmp
3)用root帐号登陆B机,进入其主目录,创建authorized_keys文件,并设置好权限。
cd ~/.ssh
cat /tmp/id_rsa.pub >>authorized_keys
chmod  400 authorized_keys
rm -f /tmp/id_rsa.pub

4)测试
在A机上转到root帐号,尝试登录B机。看看是不是不要密码.
说明:
authorized_keys文件的权限很重要,如果设置为777,那么登录的时候,还是需要提供密码的。
记得将临时目录下的id_rsa.pub删除,养成个好习惯。
本方法在Red Hat9.0上测试通过。


2. 编辑crontab文件
vi /etc/crontab
如设置每天凌晨3:00执行cron.daily中的脚本:
00 3 * * * root run-parts /etc/cron.daily

3.编辑cron.daily中的脚本
cd /etc/cron.daily/
vi backupdb

pg_dump -U postgres voipack > /voipack.sql
pg_dump -U postgres regserver > /regserver.sql
tar -cvjf /aavm.tgz.bz2 /usr/local/aavm
tar -cvjf /oracle.tgz.bz2 /var/oracle
scp /voipack.sql root@218.242.214.20:/root/218.242.214.23_backup
scp /regserver.sql root@218.242.214.20:/root/218.242.214.23_backup
scp /aavm.tgz.bz2 root@218.242.214.20:/root/218.242.214.23_backup
scp /oracle.tgz.bz2 root@218.242.214.20:/root/218.242.214.23_backup

将23上产生的备份文件copy到218.242.214.20:/root/218.242.214.23_backup路径下

同样的方法可以将假设B服务器上的数据备份到A服务器,实现双机的互备。

 

回复(0) 喜欢(0)     评分
jdh
jdh
终身会员
终身会员
  • 注册日期2010-12-18
  • 发帖数77
  • QQ
  • 火币135枚
  • 粉丝4
  • 关注2
27楼#
发布于:2010-12-25 09:17
linux的ftp服务详细配置
原创:wanghaovip

下面是在虚拟机中的linux的ftp的基本配置(redhat AS 4.0为例):
首先要安装linux下的vsftp软件包。
  rpm -qa|gerp vsftpd      //查找vsftpd有没有安装
如果没有安装就 vsftpd-2.0.1-5.i386.rpm (在第一张光盘)
在linux中有一个非常重要的一点就是要挂载光驱   mount /media/cdrom  
在这里我们就不用源代码安装了。用的是rpm安装
#rpm -ivh vsftpd-2.0.1-5.i386.rpm
这里就安装好了。
service vsftpd start   启动vsftpd服务
如果在不设置任何的情况下,可以以匿名的方式访问该ftp。
  注.如果访问不了的时候请大家要把linux的防火墙也要关闭:
              iptables -F  清除防火墙
在安装好ftp会产生几个文件:
/etc/vsftpd/vsftpd.conf     主配置文件
/etc/vsftpd.ftpusers        指定哪些用户不能访问FTP服务器
/etc/vsftpd.user_list       文件中指定的用户是否可以访问ftp服务器由vsftpd.conf文件中的userlist_deny的取值来决定。
这几个文件就是整个ftp控制和禁止用户的权限配置。。。
下面我们就来设置一个vsftpd的核心文件  
# cd /etc/vsftpd/vsftpd.conf     这就是vsftpd的核心配置文件
anonymous_enable=YES/no    是否允许匿名用户登录
anonymous_enable=yes/no    是否允许匿名上传文件
local_enable= YES/no       是否允许本地用户登录
write_enable= YES/no       是否允许本地用户上传
guest_enable=yes/no        是否允许虚拟用户登录;
local_mask=022             设置本地用户的文件生成掩码为022,默认值为077
dirmessage_enable= YES     设置切换到目录时显示.message隐含文件的内容
xferlog_enable= YES        激活上传和下载日志
connect_from_port_20=YES   启用FTP数据端口连接
pam_service_name=vsftpd    设置PAM认证服务的配置文件名称, 该文件存放在/etc/pam.d目录下
userlist_enable= YES       允许vsftpd.user_list文件中的用户访问服务器
userlist_deny= YES         拒绝vsftpd.user_list文件中的用户访问服务器
listen= YES/no             是否使用独占启动方式(这一项比较重要)
tcp_wrappers= YES/no       是否使用tcp_wrappers作为主机访问控制方式
最主要的就是这些设置了。(这是一般都是默认的不是太懂的不要动)
大家可以设置下面的设置:
ftpd_banner=welcome to ftp service    设置连接服务器后的欢迎信息
idle_session_timeout=60               限制远程的客户机连接后,所建立的控制连接,在多长时间没有做任何的操作就会中断(秒)
data_connection_timeout=120           设置客户机在进行数据传输时,设置空闲的数据中断时间
accept_timeout=60                     设置在多长时间后自动建立连接
connect_timeout=60                    设置数据连接的最大激活时间,多长时间断开,为别人所使用;
max_clients=200                       指明服务器总的客户并发连接数为200
max_per_ip=3                          指明每个客户机的最大连接数为3
local_max_rate=50000(50kbytes/sec)
anon_max_rate=30000                   设置本地用户和匿名用户的最大传输速率限制
pasv_min_port=端口
pasv-max-prot=端口号                  定义最大与最小端口,为0表示任意端口;为客户端连接指明端口;
listen_address=IP地址                 设置ftp服务来监听的地址,客户端可以用哪个地址来连接;
listen_port=端口号                    设置FTP工作的端口号,默认的为21
chroot_local_user=YES                 设置所有的本地用户可以chroot
chroot_local_user=NO                  设置指定用户能够chroot
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list(只有/etc/vsftpd.chroot_list中的指定的用户才能执行 )
local_root=path            无论哪个用户都能登录的用户,定义登录帐号的主目录, 若没有指定,则每一个用户则进入到个人用户主目录;
chroot_local_user=yes/no   是否锁定本地系统帐号用户主目录(所有);锁定后,用户只能访问用户的主目录/home/user,不能利用cd命令向上转;只能向下;
chroot_list_enable=yes/no  锁定指定文件中用户的主目录(部分),文件:/chroot_list_file=path 中指定;  
userlist_enable=YES/NO     是否加载用户列表文件;
userlist_deny=YES          表示上面所加载的用户是否允许拒绝登录;
userlist_file=/etc/vsftpd.user_list    列表文件
这些就是高级设置了。大家可以适当的更改。
#vi   /etc/hosts.allow
vsftpd:192.168.5.128:DENY   设置该IP地址不可以访问ftp服务(vsftpd在独占启动方式下支持tcp_wrappers主机访问控制方式)
时间限制:
#cp /usr/share/doc/vsftpd-1.1.3/vsftpd.xinetd /etc/xinetd.d/vsftpd
#vi /etc/xinetd.d/vsftpd/
   修改  disable  =  no
access_time = hour:min-hour:min (添加配置访问的时间限制(注:与vsftpd.conf中listen=NO相对应)
例: access_time  = 8:30-11:30 17:30-21:30   表示只有这两个时间段可以访问ftp
ftp的配置基本上只有这些了。谢谢大家观看。


回复(0) 喜欢(0)     评分
jdh
jdh
终身会员
终身会员
  • 注册日期2010-12-18
  • 发帖数77
  • QQ
  • 火币135枚
  • 粉丝4
  • 关注2
28楼#
发布于:2010-12-25 09:14
使用 inotify 监控文件系统的活动
Inotify 是一个 linux® 特性,它监控文件系统操作,比如读取、写入和创建。Inotify 反应灵敏,用法非常简单,并且比 cron 任务的繁忙轮询高效得多。学习如何将 inotify 集成到您的应用程序中,并发现一组可用来进一步自动化系统管理的命令行工具。
系统管理就像日常生活一样。就像刷牙和吃蔬菜一样,日常的维护能保持机器的良好状态。您必须定期清空废物,比如临时文件或无用的日志文件,以及花时间填写表单、回复电话、下载更新和监控进程等。幸好自动化 shell 脚本、使用 Nagios 等工具进行监控、通过常见的 cron 进行任务调度可以减轻这个负担。

但奇怪的是,这些工具没有一个具有响应性。当然,您可以安排一个频繁运行的 cron 任务来监控条件,但这样繁忙的轮询 — 消耗大量资源并且具有不确定性 — 并不是很理想。例如,如果您必须监控输入数据的几个 Transfer Protocol(FTP)收存箱,您可能要通过 find 命令扫描每个目标目录,列举新的内容。然而,尽管这个操作看起来并没有什么害处,但每个调用都产生一个新的 shell 和 find 命令,这需要许多系统调用来打开目录,然后扫描目录,等等。这会造成过于频繁的或大量的轮询任务(更糟糕的是,繁忙的轮询并不总是很好。想象一下一个文件系统浏览器,比如 Mac OS X 的 Finder,轮询更新时需要的大量资源及其复杂性)。

那么,管理员应该怎么办呢?令人高兴的是,您可以再次求助于可以信赖的计算机。

了解 inotify

Inotify 是一个 linux 内核特性,它监控文件系统,并且及时向专门的应用程序发出相关的事件警告,比如删除、读、写和卸载操作等。您还可以跟踪活动的源头和目标等细节。

使用 inotify 很简单:创建一个文件描述符,附加一个或多个监视器(一个监视器 是一个路径和一组事件),然后使用 read() 方法从描述符获取事件信息。read() 并不会用光整个周期,它在事件发生之前是被阻塞的。

更好的是,因为 inotify 通过传统的文件描述符工作,您可以利用传统的 select() 系统调用来被动地监控监视器和许多其他输入源。两种方法 — 阻塞文件描述符和使用 select()— 都避免了繁忙轮询。

现在,让我们深入了解 inotify,写一些 C 代码,然后看看一组命令行工具,您可以构建并使用它们将命令和脚本附加到文件系统事件。Inotify 不会在中途失去控制,但它可以运行 cat 和 wget,并且在必要时严格执行。

要使用 inotify,您必须具备一台带有 2.6.13 或更新内核的 Linux 机器(以前的 linux 内核版本使用更低级的文件监控器 dnotify)。如果您不知道内核的版本,请转到 shell,输入 uname -a:

% uname -a Linux ubuntu-desktop 2.6.24-19-generic #1 SMP ... i686 GNU/linux  


如果列出的内核版本不低于 2.6.13,您的系统就支持 inotify。您还可以检查机器的 /usr/include/sys/inotify.h 文件。如果它存在,表明您的内核支持 inotify。

注意:FreeBSD 和 Mac OS X 提供一个类似于 inotify 的 kqueue。在 FreeBSD 机器上输入 man 2 kqueue 获取更多信息。

本文基于 Ubuntu Desktop version 8.04.1(即 Hardy),它运行在 Mac OS X version 10.5 Leopard 的 Parallels Desktop version 3.0。




回复(0) 喜欢(0)     评分
jdh
jdh
终身会员
终身会员
  • 注册日期2010-12-18
  • 发帖数77
  • QQ
  • 火币135枚
  • 粉丝4
  • 关注2
29楼#
发布于:2010-12-25 09:13
Linux驱动程序开发学习步骤
1. 学会写简单的makefile

2. 编一应用程序,可以用makefile跑起来

3. 学会写驱动的makefile

4. 写一简单char驱动,makefile编译通过,可以insmod, lsmod, rmmod. 在驱动的init函数里打印hello world, insmod后应该能够通过dmesg看到输出。

5. 写一完整驱动, 加上read, write, ioctl, polling等各种函数的驱动实现。 在ioctl里完成从用户空间向内核空间传递结构体的实现。

6. 写一block驱动, 加上read,write,ioctl,poll等各种函数实现。

7. 简单学习下内存管理, 这个是最难的,明白各种memory alloc的函数实现细节。这是linux开发的基本功。

8. 学习锁机制的应用,这个不是最难的但是最容易犯错的,涉及到很多同步和并发的问题。

9. 看内核中实际应用的驱动代码。 你会发现最基本的你已经知道了, 大的框架都是一样的, 无非是read, write, ioctl等函数的实现, 但里面包含了很多很多细小的实现细节是之前不知道的。 这时候就要考虑到很多别的问题而不仅仅是基本功能的实现。

推荐您看2.6.20中integrated的一个驱动 kvm,记得是在driver/lguest下,很好玩的, 就是linux下的虚拟机驱动,代码不长,但功能强大。有能力的可以自己写一操作系统按照要求做成磁盘镜像加载到虚拟机中, 然后客户机可以有自己的4G虚拟地址空间。

10. 看完驱动欢迎您进入linux kernel学习中来。

最简单的方法,跟着ldd(linux devive driver)做一遍


回复(0) 喜欢(0)     评分
游客

返回顶部