linux下的端口启动与关闭
如: 要找到25端口的程序,并将它关闭
1.使用netstat来进行查看:
[root@redflagos ~]# netstat -anp | more
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:806 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:23 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2030/master
tcp 0 0 :::22 :::* LISTEN
2.现在知道它的端口对应程序为master.但是它具体是什么程序呢?
locate master | grep '/master$'
使用搜索locate搜索命令来查找master所对应的包含文件有哪些.
/user/libxec/postfix/master
3.通过rpm命令来知道它所对应的程序名以及独立守护进程的存放位置
rpm -qf /user/libxec/postfix/master
结果为: postfix-2.2-2
打到相应的程序了
4.找到该守护进程的具体在init下的哪个文件中
rpm -qc postfix | grep init
查找的结果为: /etc/init.d/postfix
5. 最后只需要将它进行关闭就可
/etc/init.d/postfix stop
大家在安装好RHEL/CentOS系统后,用netstat查看及端口情况,可能会发现有个rpc.statd服务,是不是不知道是哪个服务启动的啊?如何关掉RHEL/CentOS的rpc.statd服务呢?这就是这篇文章的目的了。
我们先来看一下RHEL/CentOS的NFS工作情况。
00001.
执行 /usr/s bin/rpc.rstatd 命令会启动 rstatd 后台程序,它是一个服务器,可以从系统核心中获取系统性能统计的相关信息,将结果返回给调用程序。 rstatd daemon 通常是由 inetd daemon 启动的。
00002.
目前在进行压力测试时,用户经常在客户端通过使用 load runner 软件来收集应用或数据库服务器的性能数据。 其就是通过给服务器上的 rstatd 后台程序发请求来实现的。
00001.
/usr/s bin/rpc.statd 命令会启动 statd 后台程序。 在 NFS 环境中 statd daemon 与 lockd daemon 相结合,为锁机制提供 crash 和 recovery 功能。 statd daemon 除负责维护相关的连接信息外,还监控 /var/statmon/sm 目录, /var/statmon/sm.bak 目录和 /var/statmon/state 文件中的状态信息。 statd 通常是在 lockd 之前启动, statd daemon 的启动和停止是通过 调用系统的 SRC 命令来实现的。
00002.
RHEL/CentOS使用核心级的支持和守护进程的组合来提供NFS文件共享.NFS依靠远程过程调用(RPC)在客户端和服务器端路由请求。而在Linux下RPC服务由portmap服务控制。为了能够正常使用NFS,还需要一些相关的服务来协同工作
nfs:启动相应RPC服务进程来服务对于NFS文件系统的请求。
nfslock:一个可选的服务,用于启动相应的RPC进程,允许NFS客户端在服务器上对文件加锁。
portmap:Linux的RPC服务,它响应RPC服务的请求和与请求的RPC服务建立连接。
下面的RPC后台进程是为NFS提供服务的
rpc.mountd:这个进程接受来自NFS客户端的加载请求和验证请求的文件系统正在被输出。这个进程由NFS服务自动启动,不需要用户的配置。
rpc.nfsd:这个进程是NFS服务器.它和Linux核心一起工作来满足NFS客户端的动态需求,例如提供为每个NFS客户端的每次请求服务器线程。这个进程对应于nfs服务。
rpc.lockd:一个可选的进程,它允许NFS客户端在服务器上对文件加锁。这个进程对应于nfslock服务。
rpc.statd:这个进程实现了网络状态监控(NSM)RPC协议,通知NFS客户端什么时候一个NFS服务器非正常重启动。这个进程被nfslock服务自动启动。不需要用户的配置。
rpc.rquotad:这个进程对于远程用户提供用户配额信息。这个进程被nfs服务自动启动,不需要用户的配置。
开启/关闭
[root@node1]# /etc/init.d/nfslock stop|start|restart
·
1
·
不允许开机自启动
[root@node1 ~]# chkconfig --level 35 nfslock off
·
1
·
rpc.statd nfs nfsloc
service httpd stop|start|restart #关闭http服务
iptables -F #清除防火墙规则
netstat -ntulp #查看网络端口
service iptables stop|start|restart #关闭防火墙服务
/etc/init.d/nfslock stop|start|restart或者service nfslock stop #关闭NFS文件共享
service cups stop|start|restart #关闭打印服务
service rpc.statd stop|start|restart #rpcbind服务停止
1494* /etc/init.d/postfix stop
1495 service rpcbind stop
1496 netstat -untlp
1497 service nfslock stop
redflag avahi-daemon服务的作用及如何关闭
关闭
systemctl stop avahi-daemon.socket
Zeroconf
Zero configuration networking(zeroconf)零配置网络服务规范,是一种用于自动生成可用IP地址的网络技术,不需要额外的手动配置和专属的配置服务器。
“零 配置网络服务”的目标,是让非专业用户也能便捷的连接各种网络设备,例如计算机,打印机等。整个搭建网络的过程都是通过程式自动化实现。如果没有 zeroconf,用户必须手动配置一些服务,例如DHCP、DNS,计算机网络的其他设置等。这些对非技术用户和新用户们来说是很难的事情。
Zeroconf规范的提出者是Apple公司.
Avahi
Avahi 是Zeroconf规范的开源实现,常见使用在Linux上。包含了一整套多播DNS(multicastDNS)/DNS-SD网络服务的实现。它使用 的发布授权是LGPL。Zeroconf规范的另一个实现是Apple公司的Bonjour程式。Avahi和Bonjour相互兼容(废话,都走同一个 规范标准嘛,就象IE,Firefox,chrome都能跑HTTP1.1一样)。
Avahi允许程序在不需要进行手动网络配置的情况 下,在一个本地网络中发布和获知各种服务和主机。例如,当某用户把他的计算机接入到某个局域网时,如果他的机器运行有Avahi服务,则Avahi程式自 动广播,从而发现网络中可用的打印机、共享文件和可相互聊天的其他用户。这有点象他正在接收局域网中的各种网络广告一样。
Linux下系统实际启动的进程名,是avahi-daemon
除非你有兼容的设备或使用 zeroconf 协议的服务,否则应该关闭它。
如果你用不到 把该服务直接关闭
#/etc/init.d/avahi-daemon stop or service avahi-daemon stop
#chkconfig avahi-daemon off
永久方案:
开机就启动或者是关闭端口
说明实例: 查找某一个端口是不是开户就启动?如果是则如何设置成开机不启动?如何来设置立即关闭端口相关的map服务?
1.使用chkconfig --list | grep 端口号 来查找是否进行了开机就启动端口, 如果无法使用,则可以将端口号修改成程序名【可以使用nmap来寻找】
2. 如果有启动,则可以通过 chkconfig --level 35 端口号/程序名 off
3.通过修改守护进程的程序/etc/init.d/端口号所对应的程序名 stop就可
Linux locate命令
Linux locate命令用于查找符合条件的文档,他会去保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录。
一般情况我们只需要输入 locate your_file_name 即可查找指定文件。
语法
locate [-d ][--help][--version][范本样式...]
参数:
·
-b, --basename -- 仅匹配路径名的基本名称
·
·
-c, --count -- 只输出找到的数量
·
·
-d, --database DBPATH -- 使用 DBPATH 指定的数据库,而不是默认数据库 /var/lib/mlocate/mlocate.db
·
·
-e, --existing -- 仅打印当前现有文件的条目
·
·
-1 -- 如果 是 1.则启动安全模式。在安全模式下,使用者不会看到权限无法看到 的档案。这会始速度减慢,因为 locate 必须至实际的档案系统中取得档案的 权限资料。
·
·
-0, --null -- 在输出上带有NUL的单独条目
·
·
-S, --statistics -- 不搜索条目,打印有关每个数据库的统计信息
·
·
-q -- 安静模式,不会显示任何错误讯息。
·
·
-P, --nofollow, -H -- 检查文件存在时不要遵循尾随的符号链接
·
·
-l, --limit, -n LIMIT -- 将输出(或计数)限制为LIMIT个条目
·
·
-n -- 至多显示 n个输出。
·
·
-m, --mmap -- 被忽略,为了向后兼容
·
·
-r, --regexp REGEXP -- 使用基本正则表达式
·
·
--regex -- 使用扩展正则表达式
·
·
-q, --quiet -- 安静模式,不会显示任何错误讯息
·
·
-s, --stdio -- 被忽略,为了向后兼容
·
·
-o -- 指定资料库存的名称。
·
·
-h, --help -- 显示帮助
·
·
-i, --ignore-case -- 忽略大小写
·
·
-V, --version -- 显示版本信息
·
实例
查找 passwd 文件,输入以下命令:
locate passwd
搜索 etc 目录下所有以 sh 开头的文件 :
locate /etc/sh
忽略大小写搜索当前用户目录下所有以 r 开头的文件 :
locate -i ~/r
附加说明
locate 与 find 不同: find 是去硬盘找,locate 只在 /var/lib/slocate 资料库中找。
locate 的速度比 find 快,它并不是真的查找,而是查数据库,一般文件数据库在 /var/lib/slocate/slocate.db 中,所以 locate 的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护,也可以手工升级数据库 ,命令为:
1.作用
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
2.格式
grep [options]
3.主要参数
[options]主要参数:
-a或--text 不要忽略二进制的数据。
-A<显示列数>或--after-context=<显示列数> 除了显示符合范本样式的那一列之外,并显示该列之后的内容。
-b或--byte-offset 在显示符合范本样式的那一列之前,标示出该列第一个字符的位编号。
-B<显示列数>或--before-context=<显示列数> 除了显示符合范本样式的那一列之外,并显示该列之前的内容。
-c或--count 计算符合范本样式的列数。
-C<显示列数>或--context=<显示列数>或-<显示列数> 除了显示符合范本样式的那一列之外,并显示该列之前后的内容。
-d<进行动作>或--directories=<进行动作> 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。
-e<范本样式>或--regexp=<范本样式> 指定字符串做为查找文件内容的范本样式。
-E或--extended-regexp 将范本样式为延伸的普通表示法来使用。
-f<范本文件>或--file=<范本文件> 指定范本文件,其内容含有一个或多个范本样式,让grep查找符合范本条件的文件内容,格式为每列一个范本样式。
-F或--fixed-regexp 将范本样式视为固定字符串的列表。
-G或--basic-regexp 将范本样式视为普通的表示法来使用。
-h或--no-filename 在显示符合范本样式的那一列之前,不标示该列所属的文件名称。
-H或--with-filename 在显示符合范本样式的那一列之前,表示该列所属的文件名称。
-i或--ignore-case 忽略字符大小写的差别。
-l或--file-with-matches 列出文件内容符合指定的范本样式的文件名称。
-L或--files-without-match 列出文件内容不符合指定的范本样式的文件名称。
-n或--line-number 在显示符合范本样式的那一列之前,标示出该列的列数编号。
-q或--quiet或--silent 不显示任何信息。
-r或--recursive 此参数的效果和指定“-d recurse”参数相同。
-s或--no-messages 不显示错误信息。
-v或--revert-match 反转查找。
-V或--version 显示版本信息。
-w或--word-regexp 只显示全字符合的列。
-x或--line-regexp 只显示全列符合的列。
-y 此参数的效果和指定“-i”参数相同。
--help 在线帮助。
pattern正则表达式主要参数:
\: 忽略正则表达式中特殊字符的原有含义。
^:匹配正则表达式的开始行。
$: 匹配正则表达式的结束行。
\<:从匹配正则表达 式的行开始。
\>:到匹配正则表达式的行结束。
[ ]:单个字符,如[A]即A符合要求 。
[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
。:所有的单个字符。
* :有字符,长度可以为0。
4.grep命令使用简单实例
$ grep ‘test’ d*
显示所有以d开头的文件中包含 test的行。
$ grep ‘test’ aa bb cc
显示在aa,bb,cc文件中匹配test的行。
$ grep ‘[a-z]\{5\}’ aa
显示所有包含每个字符串至少有5个连续小写字符的字符串的行。
$ grep ‘w\(es\)t.*\1′ aa
如果west被匹配,则es就被存储到内存中,并标记为1,然后搜索任意个字符(.*),这些字符后面紧跟着 另外一个es(\1),找到就显示该行。如果用egrep或grep -E,就不用”\”号进行转义,直接写成’w(es)t.*\1′就可以了。
5.grep命令使用复杂实例
假设您正在’/usr/src/Linux/Doc’目录下搜索带字符 串’magic’的文件:
$ grep magic /usr/src/Linux/Doc/*
sysrq.txt:* How do I enable the magic SysRQ key?
sysrq.txt:* How do I use the magic SysRQ key?
其中文件’sysrp.txt’包含该字符串,讨论的是 SysRQ 的功能。
默认情况下,’grep’只搜索当前目录。如果 此目录下有许多子目录,’grep’会以如下形式列出:
grep: sound: Is a directory
这可能会使’grep’ 的输出难于阅读。这里有两种解决的办法:
明确要求搜索子目录:grep -r
或忽略子目录:grep -d skip
如果有很多 输出时,您可以通过管道将其转到’less’上阅读:
$ grep magic /usr/src/Linux/Documentation/* | less
这样,您就可以更方便地阅读。
有一点要注意,您必需提供一个文件过滤方式(搜索全部文件的话用 *)。如果您忘了,’grep’会一直等着,直到该程序被中断。如果您遇到了这样的情况,按 <CTRL c> ,然后再试。
下面还有一些有意思的命令行参数:
grep -i pattern files :不区分大小写地搜索。默认情况区分大小写,
grep -l pattern files :只列出匹配的文件名,
grep -L pattern files :列出不匹配的文件名,
grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配’magic’,而不是’magical’),
grep -C number pattern files :匹配的上下文分别显示[number]行,
grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行,
grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。
grep -n pattern files 即可显示行号信息
grep -c pattern files 即可查找总行数
这里还有些用于搜索的特殊符号:
\< 和 \> 分别标注单词的开始与结尾。
例如:
grep man * 会匹配 ‘Batman’、’manic’、’man’等,
grep ‘\<man’ * 匹配’manic’和’man’,但不是’Batman’,
grep ‘\<man\>’ 只匹配’man’,而不是’Batman’或’manic’等其他的字符串。
‘^’:指匹配的字符串在行首,
‘$’:指匹配的字符串在行 尾,