网络N23期第四周grep

1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。

[root@localhost ~]# cp -R /etc/skel /home/tuser1 && chmod g-r,o-r /home/tuser1

[root@localhost ~]# ls -lad /home/tuser1

drwx–x–x. 5 root root 4096 11月 11 01:36 /home/tuser1

2、编辑/etc/group文件,添加组hadoop。

[root@localhost ~]# vim /etc/group

hadoop:x:2023:   最后一行

[root@localhost ~]# grep hadoop /etc/group

hadoop:x:2023:

3、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号;其家目录为/home/hadoop。

[root@localhost ~]# vim /etc/passwd

hadoop:x:2023:2023::/home/hadoop:/bin/bash

4、复制/etc/skel目录为/home/hadoop,要求修改hadoop目录的属组和其它用户没有任何访问权限。

~]# cp -R /etc/skel /home/hadoop

~]# chmod 700 /home/hadoop

~]# ls -lad /home/hadoop/

drwx——. 4 root root 4096 11月 28 15:47 /home/hadoop/

5、修改/home/hadoop目录及其内部所有文件的属主为hadoop,属组为hadoop。

[root@localhost ~]# chown -R hadoop:hadoop /home/hadoop

[root@localhost ~]# ls -lad /home/hadoop

drwx——. 4 hadoop hadoop 4096   15:47 /home/hadoop

6、显示/proc/meminfo文件中以大写或小写S开头的行;用两种方式;

~]# grep -i '^s' /proc/meminfo

~]# grep  "^[sS]"  /proc/meminfo

~]# grep -E "^(s|S)" /proc/meminfo

-i:ignorecase,忽略字符的大小写;

^:行首锚定;用于模式的最左侧;

7、显示/etc/passwd文件中其默认shell为非/sbin/nologin的用户;

~]# grep -v "/sbin/nologin$" /etc/passwd

-v, –invert-match:显示不能被模式匹配到的行;

$:行尾锚定;用于模式的最右侧;

8、显示/etc/passwd文件中其默认shell为/bin/bash的用户;

~]# grep "/bin/bash$" /etc/passwd | cut -d: -f1

9、找出/etc/passwd文件中的一位数或两位数;

~]# grep "\<[0-9]\{1,2\}\>" /etc/passwd

~]# grep "\<[[:digit:]]\{1,2\}\>" /etc/passwd

[:digit:]  所有数字 

\{1,2\}:匹配其前面的字符至少1次,至多2次;

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

~]# grep "^[[:space:]]\+" /boot/grub/grub.conf

[:space:]    所有空白字符

\+:匹配其前面的字符1次或多次;即其面的字符要出现至少1次;

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

~]# grep "^#[[:space:]]\+[^[:space:]]\+" /etc/rc.d/rc.sysinit

12、打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行;

~]# netstat -tan |grep "LISTEN[[:space:]]\+"

13、添加用户bash, testbash, basher, nologin (此一个用户的shell为/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息;

~]# useradd bash

 ~]# useradd testbash

 ~]# useradd basher

 ~]# useradd -s /sbin/nologin nologin

~]# grep -E "^([^:]+\>).*\1$" /etc/passwd    以非冒号开头,并且锚定,行首跟行尾想同。

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

(0)
goodwingoodwin
上一篇 2016-12-05 17:03
下一篇 2016-12-05 17:03

相关推荐

  • 深入浅出Docker(一):Docker核心技术预览

    原文链接:http://www.infoq.com/cn/articles/docker-core-technology-preview/ 【编者按】Docker是PaaS供应商dotCloud开源的一个基于LXC 的高级容器引擎,源代码托管在 GitHub 上,基于Go语言开发并遵从Apache2.0协议开源。Docker提供了一种在安全、可重复的环境中自…

    2015-04-10
  • 【福利贴-招聘】- python运维开发工程师

    职位描述  岗位职责: 1、负责公司CMDB的建设,包括资产管理、dns、工单系统、ngnix自动化、监控等的开发 2、帮助运维团队和业务团队提高自动化效率 3、维护和开发持续化集成环境; 4、负责公司运维系统的规划、选型、部署上线和日常维护管理工作; 5、负责CMDB团队的建设、管理和人才培养机制…

    Linux干货 2015-04-03
  • nginx基本功能学习

    一、NGINX介绍: Nginx 是一个高性能的 Web 和反向代理服务器, 它具有有很多非常优越的特性:            作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 Nginx 尤其受到虚拟主机提供商的欢迎。能够支持高达 …

    Linux干货 2015-12-19
  • shell通配符与正则表达式

        通配符是系统level的 而正则表达式需要相关工具的支持: egrep, awk, vi, perl。在文本过滤工具里,都是用正则表达式,比如像awk,sed等,是针对文件的内容的。通配符多用在文件名上,比如查找find,ls,cp,等等。 1.通配符       (1)…

    Linux干货 2016-02-28
  • 文件查找:locate/find

    文件查找就是在文件系统上查找符合条件的文件,工具名分别为:locate和find locate是非实时查找或数据库查找的工具;而find则是实时查找工具。 locate locate依赖于事先构建的索引。索引的构建是在系统较为空闲时自动进行(即为周期性任务),也可以手动更新数据库(updatedb) 注意:索引构建过程需要遍历整个根文件系统,极其消耗资源。 …

    Linux干货 2016-03-12
  • Python修饰器的函数式编程

    Python的修饰器的英文名叫Decorator,当你看到这个英文名的时候,你可能会把其跟Design Pattern里的Decorator搞混了,其实这是完全不同的两个东西。虽然好像,他们要干的事都很相似——都是想要对一个已有的模块做一些“修饰工作”,所谓修饰工作就是想给现有的模块加上一些小装饰(一些小功能,这些小功能可能好多模块都会用到),但又不让这个小…

    Linux干货 2016-08-15

评论列表(1条)

  • 马哥教育
    马哥教育 2017-03-29 17:24

    所有博客作业一直保持高品质,难能可贵,非常看好你。