linux初探

首页

应用服务器

Linux技巧

中文文档

Linux初级

服务器源代码

命令详解

Linux技术应用

Linux安全应用

Linux业界新闻

UniX技术文章

Linux编程与内核

Linux数据库

Linux服务器

Linux安装指导

Linux论坛


首页>>Linux安全应用>>

热门文章

·利用135端口漏洞入侵个人电脑
·网吧频繁掉线(ARP)与解决方
·新手学堂:防火墙在网络中的
·害怕受网络攻击 英国公民干脆
·知己知彼:IEXPLORE命令行参
·保护个人隐私 隐藏在图片背后
·顶尖网络高手写的alexa作弊完
·国庆期间有45万余台计算机感
·病毒门诊:清除猖狂的Sxs.ex
·电脑用户须知 忘记分级审查密

推荐文章

fsck , fuser , findfs , fixfiles命令介绍


/sbin下f开头的命令如下

fdisk   fixfiles  fsck.cramfs  fsck.ext3   fsck.ocfs2     fsck.vfat  fuser
findfs  fsck      fsck.ext2    fsck.msdos  fsck.reiserfs  fsck.xfs   fxload

其中fsck.reiserfs是reiserfsck命令的软连接,f开头的命令中fsck命令套件占了绝大部分。
findfs:根据标签(label)或者UUID号来查询文件系统。他会搜索整个磁盘,看是否有匹配的标签或者UUID没有,如果有,则打印到标注输出上。他也是e2fsprogs项目的一部分。

一个简单的例子:

[root@lancy sbin]# findfs --help
Usage: findfs LABEL=<label>|UUID=<uuid>
[root@lancy sbin]# findfs LABEL=/
/dev/hda5
[root@lancy sbin]# findfs LABEL=/home
findfs: Unable to resolve 'LABEL=/home'

我没有搞清楚这个命令到底有什么用或者应该在什么情况下使用?因为知道LABEL或者UUID并不像平常知道某一个文件那样容易记住。所以他和find的使用范围相比,就小了很多了,难道他有意想不到的用途?

fixfiles:修复文件安全上下文(security contexts)。这是一个shell脚本,主要是用来校正文件系统上的安全上下文数据库(扩展属性)。仔细看了帮助,也作了一些测试,没有明白他要表达什么,刚开始以为是他会恢复我原来修改过某些配置文件到初始状态,当经过测试,似乎不是这回事。所属于policycoreutils RPM包,这是SELinux的一部分。
一直以来SElinux都没有怎么用过,据说非常难配置,sf.net上记得一个项目就是做SELinux的配置文件前端。看了从国防出来的产品还真的蛮复杂的。唯一的一次使用了SELinux是在一次安装FC4的过程中,问我是否打开SELinux,我想既然是完全,那就用吧。因此打开了。安装后,马上要和其他电脑联网,主要要从别人的机器上copy东西到我的电脑上,首先使用ftp模式,打开默认的vsftp,用普通动帐号登录,看上去一切正常,但是就是没有办法写入,以为是配置问题,于是把配置文件折腾个底朝天,结果还是无法写入。放弃,改用SMB共享,结果一样,无论我如何指定writable  = yes,就是无法写入。最后还是要别人共享,copy过来的。当时没有往这个方面想,因为人很着急,回来后,重启Linux,启动过程看到了enable SELinux一项,于是马上想到,肯定是这个该死的东西,也没有去想如何配置了,直接disable了。

fuser:使用文件或者套节字来表示识别进程。我常用的他的两个功能:查看我需要的进程和我要杀死我查到的进程。
比如当你想umount光驱的时候,结果系统提示你设备正在使用或者正忙,可是你又找不到到底谁使用了他。这个时候fuser可派上用场了。
[root@lancy sbin]# eject
umount: /media/cdrom: device is busy
umount: /media/cdrom: device is busy
eject: unmount of `/media/cdrom' failed
[root@lancy sbin]# fuser /mnt/cdrom
/mnt/cdrom:           4561c  5382c
[root@lancy sbin]# ps -ef |egrep '(4561|5382)' |grep -v grep
root      4561  4227  0 20:13 pts/1    00:00:00 bash
root      5382  4561  0 21:42 pts/1    00:00:00 vim Autorun.inf

示例中,我想弹出光驱,系统告诉我设备忙着,于是采用fuser命令,参数是你文件或scoket,fuser将查出那些使用了他。
4561c,5382c表示目前用两个进程在占用着/mnt/cdrom,分别是4561,5382,进程ID后的字母表示占用资源的方式,有下面几种表示:
       c      当前路径(current directory.)我的理解是表示这个资源的占用是以文件目录方式,也就是进进入了需要释放的资源的路径,这是最常用的资源占用方式。

             e      正在运行可执行文件(executable being run.),比如运行了光盘上的某个程序

             f     打开文件( open file),缺省模式下f忽略。所以上面的例子中,虽然是开打了光盘上的Autorun.inf文件,但是给出的标识是c,而不是f。

             r      root目录(root directory).没有明白什么意思,难道是说进入了/root这个特定目录?

             m     mmap文件或者共享库( mmap’ed file or shared library).这应该是说某个进程使用了你要释放的资源的某个共享文件。


在查找的同时,你还可定指定一些参数,比如


      -k    杀死这些正在访问这些文件的进程。除非使用-signal修改信号,否则将发送SIGKILL信号。

      -i     交互模式

      -l     列出所有已知的信号名称。

      -n 空间,选择不同的名字空间,可是file,udp,tcp。默认是file,也就是文件。


      -signal 指定发送的信号,而不是缺省的SIGKILL

      -4     仅查询IPV4套接字

      -6     仅查询IPV6套接字

      -      重置所有的选项,将信息设回SIGKILL

再看下面的例子

[root@lancy sbin]# fuser -l
HUP INT QUIT ILL TRAP ABRT IOT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM
STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR SYS
UNUSED

现在我们试试fuser -k的威力:

[root@lancy sbin]# fuser -k /mnt/cdrom
/mnt/cdrom:           4561c  5382c
kill 5382: 没有那个进程
No automatic removal. Please use  umount /media/cdrom
[root@lancy sbin]# eject

套节字方式的使用:

[root@lancy sbin]# fuser -4 -n tcp 3306
here: 3306
3306/tcp:             5595
[root@lancy sbin]# ps -ef |grep 5595 |grep -v grep
mysql     5595  5563  0 22:24 pts/0    00:00:00 /usr/libexec/mysqld --defaults-file=/etc/my.cnf --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-locking --socket=/var/lib/mysql/mysql.sock


[root@lancy sbin]# fuser -4 -n tcp 80
here: 80
80/tcp:               5685  5688  5689  5690  5691  5692  5693  5694  5695

fxload:为EZ-USB设别下载firmware。
剩下的就是有关磁盘检查的fsck命令集了,这么命令的用法和e2fsck类似.Linux联盟收集整理

相关文章:

·使用mdadm快速创建RAID5
·hping--强大的TCP/IP工具
·Linux系统桌面应用软件大全
·如何安装和使用wine
·FreeBSD入门安装及汉化
·关于yum太慢了的解决方案
·用机器生成的音乐监控Linux 计算机
·FC6 Linux下如何写NTFS分区文件
·重新思考安全含义—让Linux系统更安全

Copyright@2005 www.linuxGoo.com All Right Reserved