权限和正则表达式

实操为主
week4

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

权限和正则表达式

说明:/etc/skel下的文件内容皆为隐藏文件,所以复制时需要用点号来保证都可以复制过去。复制成功后再用chmod更改目标目录的权限,这里记得用-R选项递归修改。将所属组和其它人权限置空,即不给他们赋予访问权限。

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

权限和正则表达式

说明:用vim编辑/etc/group文件,用G命令跳到最后一行,用o命令在最后一行添加信息。
权限和正则表达式

说明:新建hadoop用户,加入上述新建的组。用id命令测试是否生效。

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

权限和正则表达式

vim编辑/etc/passwd文件
权限和正则表达式

验证hadoop用户

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

权限和正则表达式

说明:递归复制/etc/skel所有内容到/home/hadoop目录下,然后只修改目录的权限即可。

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

权限和正则表达式

说明:图中红色框内即为修改命令。因为要修改目录及其内部的文件,需要使用-R选项

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

权限和正则表达式

说明:第一种方法是用-i选项忽略大小写,第二种则是列出大小写s。分别用grep命令过滤出符合条件的行。

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

权限和正则表达式

说明:先用grep过滤出以/sbin/nologin结尾的行,然后用-v选项显示不符合条件的行。接着用cut命令截取用户名即可。

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

权限和正则表达式

说明:先过滤符合条件的行,因为可能会出现行中有/bin/bash字符串,所以必须锚定行尾。之后在以冒号为分隔符,截取第一段字符串即用户名即可。

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

权限和正则表达式

说明:两位数就是0-9的数字出现1-2次,然后做一个单词锚定即可

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

权限和正则表达式

说明:[[:space:]]表示空白字符,+表示至少出现一次,组合一起锚定行首即可。

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

权限和正则表达式

说明:[[:space:]]表示空白字符,+表示至少出现一次 ,锚定行首为#号。按序组合一起

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

权限和正则表达式

说明:先执行对应的命令,在通过管道符送给grep过滤。针对LISTEN做个单词锚定,后加上空白字符表示符,然后*表示空白字符可以有任意个,最后做个词尾锚定即可满足要求。

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

权限和正则表达式

权限和正则表达式

说明:^([^:]+\>)表示匹配的是每行第一冒号左侧的字符,即用户名;因为[^:]表示除冒号以外的所有单个字符,在用+则表示除冒号以外的所有字符串,在锚定行首和词尾后就是完全匹配的用户名了。中间.*则可以出现任意字符,之后是一个\1引用,即引用前面匹配到的字符串。然后用$符做行尾锚定,限定只有行首和行尾相同的字符串才会被匹配到。达到题目要求。

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

联系我们

400-080-6560

在线咨询

工作时间:周一至周五,9:30-18:30,节假日同时也值班

QR code