第四周学习总结

写在最前

忙碌的一周又过去了,通过日夜兼程的追赶,也算基本上赶上了大部队的步伐。本周将继续对上一周的内容进行回顾加深,以达到对用户更加熟悉的管理,并讲讲三剑客中的老三。

知识详解

上一周我们说到了用户的管理,其中有像useradd、usermod、groupadd、passwd和userdel等非常重要的命令,每个用户都有自己特定的角色,在系统上完成不同的功能效用。root用户就是专门用于管理全局的超级用户,权利非常之大。除了root用户以外还有一些系统用户,他们主要是为了运行后台进程或服务类进程,系统创建出来专门运行此类进程的一类用户,并且他们不需要有登录权限。还有一类就是我们自己创建的普通用户,这类用户的权限一般都比较小,在需要更大的权限时,我们才通过root授权开放更大的权限。

Linux中,一切皆文件,因此对于用户的管理也不例外,他们在系统上也都有特定的文件用于管理用户的信息。首先是存储用户基本信息的/etc/passwd文件,首先我们来看一下它都有哪些内容:

401

通过观察,每一行都是由冒号隔开的七个字段组成,第一个字段是用户名,第二个字段是密码占位符,用户的真实密码不存放在这儿,而是由一个专门的文件存储的。第三个字段是用户ID号,第四个字段是组ID号,第五个字段是该用户的附加描述信息,第六个字段是用户的家目录位置,第七个则是用户默认的shell。对于这些信息我们可以通过命令行的方式生成,也可以直接在此文件中新增或修改得来。

用户生成后,要想用于访问或管理进程、文件,还需要有特定的权限,每个目录、文件都对三类用户分别设置了权限,对于属主有读、写、执行权限,对于属组也有读、写、执行权限,对于其他用户也设定了读、写、执行权限。并且对于文件和目录。相同的权限还代表不同的含义,对于目录来说:

  • 读权限:可使用ls命令查看目录中的文件名列表;
  • 写权限:可以在目录中创建或删除文件;
  • 执行权限则表示可以cd到此目录中,以及使用ls -l显示目录中文件的元数据信息;

但是对于文件来说,权限则代表不同的信息,

  • 读权限:可以查看文件的内容;
  • 写权限:可以修改文件的内容;
  • 执行权限:把此文件启动为一个运行的程序(进程);

因此文件想要被用户管理,还必须要有相应的权限才行。如果一个用户对文件有读权限,但是这个文件有数万行,如何才能快速的找到想要的内容呢?通过上次的讲解,我们知道有文件处理的一些工具,这里再讲解一个非常有名的工具。

Linux中有著名的三剑客,grep则被称为老三,是一个强大的文本搜索工具,通过全局查找,它的输入可以是一个文件,也可以是标准输入,将匹配到的内容输出到屏幕上,默认为将匹配到的整行输出。grep也有固定的格式:

grep [options]  pattern [file]

grep的选项主要用于调整执行查找或显示结果的方式,有如下的常用选项:

  • -E:扩展的正则表达式,也即是grep -E=egrep;
  • -i:不叫字符时忽略大小写的区别;
  • -v:取反,也即是输出匹配模式相反的内容;
  • -o:只显示匹配到的内容,而不是默认的一行内容;
  • -B:输出满足条件的前几行;
  • -A:输出满足条件的后几行;
  • -C:此选项相当于同时使用-A、-B,表示前后几行都输出;

此外grep为了让用户定义更精确的查找内容,还支持使用元字符,这类字符也是一种字符,但他们表达的含义不是字符本身的含义,而是用另外一层意思去解释。

  • ^:行首定位符,匹配以特定字符开头的行;
  • $:行尾定位符,匹配以特定字符结尾的行;
  • .:匹配单个字符;
  • *:匹配零个或多个前面的字符;
  • []:匹配指定字符集合内的任意一个字符;
  • [^]:匹配不在指定字符集合内的任一字符;
  • \<:词首定位符,相当于\b;
  • \>:词尾定位符,相当于\b;
  • x\{m\}:连续m次x;
  • x\{m,\}:至少连续m次x;
  • x\{m,n\}:至少m次,至多n次x;

实例展示

讲解毕竟是讲解,要想有提升,还必须要练习一番,那下面就是练习提升空间。

1、如何显示/proc/meminfo文件中以大写或小写S开头的行?

综合上面讲述的知识,抓住问题的关键字:开头、或,那么此问题也就迎刃而解了。

402

此外由于grep -E=egrep,因此这里还有第二种方法:

403

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

405

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

406

4、找出/etc/passwd文件中的一位数或两位数。

407

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

此处需要注意的是,centos7版本以后没有此文件,因此建议在centos6及其以下版本中进行。408

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

说明:由于篇幅的原因,以下内容只截取了其中的一部分内容。

409

7、打出netstat -tan命令执行结果中以“LISTEN”,后或跟空白字符结尾的行。410

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

使用cp -r /etc/skel/ /home/tuser1 && chmod -R 700 /home/tuser1即可,结果如下:

411

9、手动编辑/etc/group文件,添加组hadoop。

412

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

413

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

使用cp -r /etc/skel/ /home/hadoop && chmod -R 700 /home/hadoopp即可,结果如下:

414

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

使用chown修改文件的属主属组,则为: chown -R hadoop:hadoop hadoop/  ,结果如下:

415

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

416

417

写在最后

今天的总结分享基本就是以上内容,当然很多知识不够全面,因为每个人理解得不一样,我觉得吧,学习还是要找一条属于自己的路,别人的路你可以参考,因为站在巨人的肩膀上才能看的更远,但是自己那一条人生路一定要有自己的特色,一定要属于你。这样才能走得更好,走得更远。

 

 

 

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/90534

(0)
虫草君虫草君
上一篇 2017-12-24 10:52
下一篇 2017-12-24 14:49

相关推荐

  • #!/bin/bash # for i in $(ls /etc/rc.d/rc3.d/ | grep  "\<K");do     echo $i.stop    &nbs…

    Linux干货 2016-12-26
  • shell 脚本中数组的总结

    描述:   变量是存储单个元素的内存空间,而数组是多个变量的集合,是一个连续的空间;但整个数组只能有 的名字。   数组内的数据都有指定的索引,从而找到数组内所指定的数据。索引的编号是从0开始的,依次递增(0,1,2,3,…),这种方式叫数值索引。格式为:数组名[索引];${ARRAY_NAME[INDEX]}。索引也支持自定…

    Linux干货 2016-08-29
  • Linux系统shell脚本

                                          &n…

    系统运维 2016-09-01
  • Net-25第5周作业

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; grep -E "^[[:space:]]+" /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; grep&nbsp…

    Linux干货 2017-01-03
  • linux中文本处理工具

      对于linux来讲,文本处理是非常重要的,因为linux系统就是由无数的文件组成的,linux中一切皆文件。文件的处理方式有很多种,所以就有众多的文本处理工具,各自作用于不同的文本处理方式。 一、查看文件命令:    cat命令:处理显示文件内容,不改变原文件    cat命令常用于查看文件内容,也可通过…

    Linux干货 2016-08-08
  • 四.Linux博客-2016年7月26日ls、通配符、touch、cp、mv、rm、mkdir

    格式说明: 操作 概念 命令 说明及举例 四.ls、通配符、touch、cp、mv、rm、mkdir du -sh /sys 查看文件、文件夹大小 /sys/class/scsi_host/host2/scan 在线扫盘(新加硬盘执行这个命令后才能发现) stat /etc/issue 更详细的看数…

    Linux干货 2016-08-23

评论列表(1条)

  • 马哥教育
    马哥教育 2018-01-07 17:58

    赞~前后有自己的总结,期待来一篇比较全面的文本三剑客的博文~加油~