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

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)
joey.qiaojoey.qiao
上一篇 2018-05-31 12:12
下一篇 2018-05-31 20:51

相关推荐

  • Linux系统日志管理

    Linux系统中的日志记录了系统每天发生的各种各样的事情,你可以通过它来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。日志对于安全来说,非常重要。

    2018-06-25
  • 实验:在软件RAID搭建LVM逻辑卷进行管理

    在上一节我们了解到,RAID可以实现磁盘的高性能读写,并实现冗余,而LVM逻辑卷则可以实现磁盘的弹性扩展,那么如何将两者配合使用并将它们的优势充分发挥呢,今天我们来实验在软件RAID上搭建LVM逻辑卷

    2018-04-27
  • Linux基础知识点(十二)

    此篇博客只是记录第十四周未掌握或不熟悉的知识点,用来加深印象。

    Linux笔记 2018-06-15
  • shell

    shell 内外部命令

    2018-04-07
  • linux运维学习的常用命令总结以及需要注意的地方(2)

    少壮不努力,老大徒伤悲,努力加油!
    5.设置时区,日期,时间的相应命令以及用法
    6 如何获得帮助,这个能力决定了你的技术能力!
    7.简单的挂载光盘,安装应用程序的方法,以screen为例(包含了screen防止大文件备份失败的技巧)
    8.反向单引号,双引号,以及单引号对于命令和变量的识别
    9.bc计算器,date命令,history命令,passwd修改密码,$pwd变量,父/子目录,basename,dirname
    10.windows和linux互传文件的方法,普通用户非图形界面下挂载光盘

    2018-04-02
  • 脚本练习

    1、每周的工作日1:30,将/etc备份至/backup目录中,保存的文件名称格式为“etcbak-yyyy-mm-dd-HH.tar.xz”,其中日期是前一天的时间tar Jcf /etc/ /data/ectbak-`date -d “-1 day” +%F-%H`.tar.xz30 1 * * 1-5 /root/Myscrip…

    Linux笔记 2018-05-08