第四周,用户权限管理和正则表达式练习

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

● 实现命令

[root@localhost ~]#cp -r /etc/skel /home/tuser1

[root@localhost ~]#chmod -R og= /home/tuser1

4-1

● 命令分解

cp:复制命令,使用 -r 选项进行目录递归复制;

chmod:修改用户和组权限,使用 -R 选项进行递归修改,命令中 “o”表示其他用户,”g”表示组,等于空值即表示没有任何访问权限。

 

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

● 实现命令

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

添加:hadoop:x:2019:

4-2

● 命令分解

vim:编辑配置文件命令,添加组名、组ID。

 

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

● 实现命令

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

添加:hadoop:x:2003:2019::/home/hadoop:/bin/bash

4-3

● 命令分解

vim:编辑配置文件命令,添加用户名、用户ID、组ID、家目录和默认shell。

 

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

● 实现命令

[root@localhost ~]# cp -r /etc/skel/ /home/hadoop

[root@localhost ~]# chmod og= /home/hadoop/

4-4

● 命令分解

cp:复制命令,使用 -r 选项进行目录递归复制;

chmod:修改用户和组权限,命令中 “o”表示其他用户,”g”表示组,等于空值即表示该目录没有任何访问权限。

 

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

● 实现命令

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

4-5

● 命令分解

chown:更改文件或目录的从属关系,使用 -R 选项进行递归修改;

 

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

● 实现命令

[root@localhost ~]# grep “^[sS]” /proc/meminfo

4-6-1

[root@localhost ~]# grep -i “^s” /proc/meminfo

4-6-2

● 命令分解

grep:文本搜索工具,根据指定的过滤条件对目标文本逐行进行匹配检查;

正则表达式 ^:行首锚定;

正则表达式 []:匹配指定范围内的任意单个字符;

第二种方法中的 -i 选项:表示忽略字符的大小写。

 

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

● 实现命令

[root@localhost ~]# grep -v “/sbin/nologin$” /etc/passwd | cut -d “:” -f1

4-7

● 命令分解

grep:文本搜索,使用 -v 选项进行反向显示,即显示不能匹配到的文本内容;

正则表达式 $:行尾锚定;

cut:使用 -d 和 -f 选项截取出用户名。

 

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

● 实现命令

[root@localhost ~]# grep “/bin/bash$” /etc/passwd | cut -d “:” -f1

4-8

● 命令分解

grep:文本搜索;

正则表达式 $:行尾锚定;

cut:使用 -d 和 -f 选项截取出用户名。

 

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

● 实现命令

[root@localhost ~]# grep -o “\<[0-9]\{1,2\}\>” /etc/passwd

4-9

● 命令分解

grep:文本搜索,使用 -o 选项只显示匹配到的内容本身;

正则表达式 \< \>:词首、词尾锚定;

正则表达式 [0-9]:匹配指定范围内的数字;

正则表达式 \{1,2\}:表示前面的数字,出现1~2次。

 

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

● 实现命令

[root@localhost ~]# grep “^[[:space:]]\+” /boot/grub2/grub.cfg

4-10

● 命令分解

grep:文本搜索;

正则表达式 ^:行首锚定;

正则表达式 [[:space:]]:空白字符;

正则表达式 \+:前面的内容至少出现一次。

 

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

● 实现命令

[root@localhost ~]# grep “^#[[:space:]]\+[^[:space:]]\+” /etc/rc.local

4-11

● 命令分解

grep:文本搜索;

正则表达式 ^:行首锚定;

正则表达式 \+:前面的内容至少出现一次;

正则表达式 [^]:匹配指定范围外的任意字符。

 

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

● 实现命令

[root@localhost ~]# netstat -tan | grep “LISTEN[[:space:]]\+”

4-12

● 命令分解

|grep:使用管道进行文本内容搜索;

正则表达式 [[:space:]]\+:表示前面的空格字符至少出现一次。

 

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

● 实现命令

[root@localhost ~]# useradd bash

[root@localhost ~]# useradd testbash

[root@localhost ~]# useradd basher

[root@localhost ~]# useradd -s /sbin/nologin nologin

[root@localhost ~]# grep -E “^([^:]+\>).*\1$” /etc/passwd

4-13

● 命令分解

grep:文本匹配,使用 -E 选项使用扩展正则表达式进行查找内容的匹配;

正则表达式 ^([^:]+\>):锚定行首及词尾,匹配非冒号的内容,并进行分组引用;

正则表达式 .*:中间是任意字符,出现任意次;

正则表达式 \1$:锚定行尾,内容是之前括号里匹配到的字符;

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

(1)
上一篇 2018-05-31 12:12
下一篇 2018-05-31 20:51

相关推荐

  • 统计linux入门到shell脚本之间的基础练习题。

    答案都由本人奇特思路所创,如有错误,请在下面评论,好及时改正!

    Linux笔记 2018-04-15
  • Elastic Stack(ELK)介绍及相关示例实验

    Elastic Stack是一套支持数据采集、存储、分析、展现的全流程数据分析工具,旧时称作ELK(Elasticsearch,Logstash,Kibana的缩写,)。Elastic Stack由一系列的工具集组成,Logstash & Beats:数据采集工具,logstash适合大批量数据的采集,其结构较重,消耗资源较大,适合集群化部署。

    2018-07-31
  • Linux学习笔记——特殊权限之 SUID GUID StickyBit

    ◆ SUID ( Set User ID ) Linux里,用户的ID被称作UID。在实际生产中,可能需要临时借用别的用户执行程序,因此需要能够临时变更自己UID的机能叫做SUID。借助SUID权限,用户可以临时调用root权限。※ 通常,文件的执行是由所属者发起,然而,赋予SUID权限后可临时继承所有者的权限(来执行文件)。通常用于二进制可执行文件上,文件…

    Linux笔记 2018-04-07
  • 第六周博客

    练习:配置bond1   (两个网卡必须物理上在一个网段) 1、service NetworkManager stop 2、vim ifcfg-bond0 DEVICE=bond0 IPADDR=192.168.30.100 PREFIX=24 GATEWAY=192.168.30.1 BONDING_OPTS=”miimon=100 mode=1” 3、v…

    Linux笔记 2018-05-06
  • 第八周

    总结

    Linux笔记 2018-05-20
  • rm 和 inode

    mv和inode :  

    Linux笔记 2018-04-01