第五周作业

1、显示当前系统上root、fedora或user1用户的默认shell;

[root@localhost ~]# awk -F: '/^(root|user1|fedora)/{print $1,"shell is",$NF}' /etc/passwd
root shell is /bin/bash
fedora shell is /bin/bash
user1 shell is /bin/bash

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

[root@localhost ~]# egrep -o '^(_|[a-z]+).*\(\)' /etc/rc.d/init.d/functions 
fstab_decode_str()
checkpid()
__readlink()
__fgrep()
__umount_loop()
__umount_loopback_loop()
__pids_var_run()
__pids_pidof()
daemon()
killproc()
pidfileofproc()
pidofproc()
status()
echo_success()
echo_failure()
echo_passed()
echo_warning()
update_boot_stage()
success()
failure()
passed()
warning()
action()
strstr()
confirm()
get_numeric_dev()
is_ignored_file()
is_true()
is_false()
apply_sysctl()
key_is_random()
find_crypto_mount_point()
init_crypto()

3、使用echo命令输出一个绝对路径,使用grep取出其基名;

[root@localhost ~]# echo /etc/fstab | grep  -E  -o  "[^/]+/?$"
fstab

    扩展:取出其路径名

[root@localhost ~]# echo /etc/fstab | grep  -E  -o  "^/[^/].+/" 
/etc/

4、找出ifconfig命令结果中的1-255之间数字;

[root@thinkmail ~]# ifconfig | grep  -E  -o  "\<([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>"
29
192
168
54
76
192
168
54
255
255
255
255
1
1
4
25
5
127
1
255
1

5、挑战题:写一个模式,能匹配合理的IP地址;

[root@thinkmail ~]# ifconfig eth0 |grep 'inet addr:'|egrep -o '[1][0-9]{1,2}.[0-9]{1,3}.[0-9]{1,3}.[1-9][1-5]{1,2}'
192.168.54
192.168.54.255

6、挑战题:写一个模式,能匹配出所有的邮件地址;

[root@thinkmail ~]# egrep --color  '[0-9A-Za-z]+@[0-9A-Za-z]+.[a-z]{1,3}' aa
hexinhai@aaa.com
adjaldal@ok.com
jdlalaf@baidu.cn
jdlalaf@baidu.cc
jdlalaf@baidu.net

7、查找/var目录下属主为root,且属组为mail的所有文件或目录;

[root@thinkmail ~]# find /var/ -user root -group mail
/var/spool/mail

8、查找当前系统上没有属主或属组的文件;

[root@localhost tmp]# find /tmp -nouser -o -nogroup |xargs ls -l
-rw-r--r-- 1  503 503 0 9月  13 16:50 /tmp/aa
-rw-r--r-- 1 root 503 0 9月  13 16:51 /tmp/bb

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

find /tmp -nouser -o -nogroup -atime -3 |xargs ls -l

9、查找/etc目录下所有用户都有写权限的文件;

[root@thinkmail tmp]# find /etc/ -type f -perm -222 -ls
131264    0 -rw-rw-rw-   1 root     root            0 9月 13 16:55 /etc

10、查找/etc目录下大于1M,且类型为普通文件的所有文件;

[root@thinkmail tmp]# find /etc/ -size +1M |xargs ls -lh
-rw-r--r--. 1 root root 6.9M 9月   9 13:54 /etc/selinux/targeted/modules/active/policy.kern
-rw-r--r--. 1 root root 6.9M 9月   9 13:54 /etc/selinux/targeted/policy/policy.24

11、查找/etc/init.d/目录下,所有用户都有执行权限,且其它用户有写权限的文件;

[root@thinkmail tmp]# find /etc/init.d/ -perm -111 |xargs  ls -l
-rwxr-xr-x  1 root root     0 9月  13 17:01 /etc/init.d/aaa.sh
-rwxr-xr-x  1 root root  1288 5月  12 04:43 /etc/init.d/abrt-ccpp
-rwxr-xr-x  1 root root  1628 5月  12 04:43 /etc/init.d/abrtd
-rwxr-xr-x  1 root root  1642 5月  12 04:43 /etc/init.d/abrt-oops
-rwxr-xr-x  1 root root  1818 2月  17 2016 /etc/init.d/acpid
-rwxr-xr-x  1 root root  2062 2月  20 2015 /etc/init.d/atd
-rwxr-xr-x  1 root root  3580 5月  11 14:17 /etc/init.d/auditd
-rwxr-xr-x. 1 root root  4043 2月  22 2013 /etc/init.d/autofs
-r-xr-xr-x  1 root root  1343 8月  24 02:37 /etc/init.d/blk-availability
-rwxr-xr-x  1 root root  5221 7月  13 00:27 /etc/init.d/cgconfig
-rwxr-xr-x  1 root root  3580 7月  13 00:27 /etc/init.d/cgred
-rwxr-xr-x  1 root root 11864 7月  24 2015 /etc/init.d/cpuspeed
-rwxr-xr-x. 1 root root  2793 7月  19 2011 /etc/init.d/crond
-rwxr-xr-x  1 root root  1801 10月 15 2014 /etc/init.d/haldaemon
-rwxr-xr-x. 1 root root  5829 1月   9 2013 /etc/init.d/halt
-rwxr-xr-x. 1 root root  9515 2月  22 2013 /etc/init.d/ip6tables

12、查找/usr目录下不属于root、bin或hadoop的文件;

[root@thinkmail init.d]# find /usr/ -not \( -user root -o -user bin -o -user hadoop \)
/usr/xiaoxin
/usr/libexec/abrt-action-install-debuginfo-to-abrt-cache

13、查找/etc/目录下至少有一类用户没有写权限的文件;

[root@thinkmail init.d]# find /etc/ -perm -444

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

find /etc -mtime -7 -a -not \( -user root -o -user hadoop \) -ls

原创文章,作者:xiaoxin,如若转载,请注明出处:http://www.178linux.com/46116

(0)
上一篇 2016-09-15 22:20
下一篇 2016-09-15 22:21

相关推荐

  • Linux文本处理三剑客之GNU awk的使用

    awk: Aho, Weinberger, Kernighan,报告生成器,格式化文本输出 有多种版本:New awk(nawk),GNU awk(gawk) gawk –模式扫描和处理语言 基本用法:     awk[options] ‘program’ var=value file…   &nb…

    Linux干货 2016-10-06
  • Linux系统性能工具

    linux中几款常用的系统性能分析工具: 1.vmstat命令 解释: 虚拟内存信息 用法: vmstat [options] [delay [count]] vmstat 2 5 //每2秒刷新一次,一共刷新5次 输出属性: procs: r:可运行(正运行或等待运行)进程的个数,和核心数有关 b:处于不可中断睡眠态的进程个数(被阻塞的队列的长度) mem…

    Linux干货 2017-12-19
  • M22 使用非对称密钥实现ssh自动登陆

    一 实验目的 一般在用户使用ssh客户端登陆ssh服务器时需要使用用户名和密码,本实验使用非对称加密的方式实现了无密码登陆ssh服务器。 二 实验流程  、 1 在客户端生成非对称密钥对 2 将非对称密钥中的公钥发送给ssh服务器端相应的帐号 3 当客户端通过ssh协议与服务器端发起连接时,客户端将私钥加密过的签名发送给服务器端,服务器端使用客户端…

    2017-04-13
  • CentOS系统启动流程–上

    centos6启动流程 1.加载BIOS的硬件信息,获取第一个启动设备。 2.读取第一个启动设备MBR的引导加载程序(grub)的启动信息 3.加载核心操作系统的核心信息,核心开始解压缩,并尝试驱 动所有的硬件设备。 4.核型执行init程序并获取运行信息。 5.Init执行/etc/rc.d/rc.sysinit文件。 6.启动核心的外挂模块(/etc/m…

    Linux干货 2016-09-13
  • 马哥教育网络班22期+第9周课程练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现;            [root@test ~]# vim&nbsp…

    Linux干货 2016-10-24
  • sed命令用法

    sed命令 [option]  “script”  file sed命令是一种行编辑工具,他是逐行对文件进行编辑。sed命令有一个模式空间,他将一行命令读取进模式空间进行编辑,完成后将本行数据打印再读取下一行数据进行处理。 option: -n:静默模式不显示模式空间内容 -f:从指定文件中读取 -i:修改源文件(-i.###会自动将原文…

    Linux干货 2016-08-12

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-19 18:29

    匹配ip地址不对,在好好想想