第四周学习总结

写在最前

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

知识详解

上一周我们说到了用户的管理,其中有像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
下一篇 2017-12-24

相关推荐

  • 网络21期第十周博客作业

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) Centos6启动流程:       POST加电自检 —> BOOT Sequence —> 加载内核启动系统    &n…

    Linux干货 2016-09-15
  • N23-第二周

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。     显示指定目录下的文件列表:ls     文件查看类命令:cat,tac,head,tail,more,less     复制命令:cp,install &…

    Linux干货 2016-09-26
  • 马哥教育网络班20期-第三周课程作业

    Table of Contents 1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 2、取出最后登录到当前系统的用户的相关信息。 3、取出当前系统上被用户当作其默认shell的最多的那个shell。 4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers…

    Linux干货 2016-06-26
  • Selinux

    Selinux:强制访问控制的安全模块,linux内核2.6版本后集成在内核中。     selinux的四种工作类型:             strict:centos5中,每隔进程都受到seli…

    Linux干货 2016-09-18
  • Homework Week-3 用户管理

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。  who | cut -f 1 -d \ | uniq “\”后跟一个空格字符 2、取出最后登录到当前系统的用户的相关信息。  who | tail…

    Linux干货 2016-08-24
  • 计算机网络基础

    计算机网络 指使用一定的通信线路,把地理位置上相对分散的、具有独立自制能力的计算机系统等连接起来,在一定通信协议的约束与控制下,实现数据交换的目的! 计算机网络体系结构 计算机网络体系结构是一个分层次的模块式结构,每一层完成一个功能,这种流式化的结构能提高生产力!网络分层的好处 促进了标准化 各层次相互独立,技术升级和扩展灵活性好 便于方案的设计 开放系统互…

    Linux干货 2016-09-06

评论列表(1条)

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

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