第四周:/etc/passwd、/etc/group文件熟悉及配合grep使用正则表达式

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

[root@wlm ~]# useradd tuser1
[root@wlm ~]# cp -r etc/skel/ /home/tuser1/
cp: cannot stat `etc/skel/': No such file or directory
[root@wlm ~]# cp -r /etc/skel/ /home/tuser1/
[root@wlm ~]# chmod -R go=  /home/tuser1/
[root@wlm ~]# ll /home/tuser1/
total 4
drwx------. 4 root root 4096 Oct 14 00:54 skel

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

[root@wlm ~]# echo "hadoop:x:2000:" >> /etc/group 
[root@wlm ~]#

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

[root@wlm ~]# echo "hadoop:x:2000:2000::/home/hadoop:/bin/bash" >> /etc/passwd

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

[root@wlm ~]# cp -r  /etc/skel/ /home/hadoop
[root@wlm ~]# chmod -R go= /home/hadoop/
[root@wlm ~]# ls -ld  /home/hadoop/
drwx------. 4 root root 4096 Oct 14 01:03 /home/hadoop/

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

[root@wlm ~]# ls -ld /home/hadoop/
drwx------. 4 hadoop hadoop 4096 Oct 14 01:03 /home/hadoop/

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

[root@app1 tmp]# grep -i ^s /proc/meminfo 
SwapCached:         7280 kB
SwapTotal:      16777212 kB
SwapFree:       16350232 kB
Shmem:             16020 kB
Slab:             326744 kB
SReclaimable:     286880 kB
SUnreclaim:        39864 kB
[root@app1 tmp]# grep "^[Ss]" /proc/meminfo 
SwapCached:         7280 kB
SwapTotal:      16777212 kB
SwapFree:       16350232 kB
Shmem:             16020 kB
Slab:             326708 kB
SReclaimable:     286876 kB
SUnreclaim:        39832 kB
[root@app1 tmp]# grep "^(s|S)" /proc/meminfo 
[root@app1 tmp]# egrep "^(s|S)" /proc/meminfo

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

[root@wlm ~]# grep -v "\(/sbin/nologin\)$" /etc/passwd

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

[root@wlm ~]# grep  "\(/bin/bash\)$" /etc/passwd

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

[root@wlm ~]# grep -Eo "\<([0-9]|[1-9][0-9])\>" /etc/passwd | wc -l
52
[root@wlm ~]# grep -o "\<[0-9]\{1,2\}\>" /etc/passwd | wc -l
52

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

[root@wlm ~]# grep -E "^[[:space:]]+" /boot/grub/grub.conf
[root@wlm ~]# grep "^[[:space:]]" /boot/grub/grub.conf

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

[root@wlm ~]# grep "^#[[:space:]]\+[^[:space:]]\+" /etc/rc.d/rc.sysinit

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

[root@wlm ~]# netstat -tan | grep "LISTEN[[:space:]]*"

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

[root@wlm ~]# useradd bash
[root@wlm ~]# useradd testbash
[root@wlm ~]# useradd basher
[root@wlm ~]# useradd -s /sbin/nologin nologin
[root@wlm ~]# grep "^\([^:]\+\).*\1$" /etc/passwd
[root@wlm ~]# egrep "^([^:]+).*\1$" /etc/passwd

原创文章,作者:dawning,如若转载,请注明出处:http://www.178linux.com/51303

赞 (5)
dawningdawning
上一篇 2016-10-13 16:23
下一篇 2016-10-13 19:31

相关推荐

  • lvs–各类型的原理及实现—(原理篇)

    前言:    LVS即是linux虚拟服务器,是一个虚拟的服务器集群系统,目的是使用集群技术和linux操作系统实现一个高性能、高可用的服务器。采用IP负载均衡技术和基于内容请求分发技术,将请求负载均衡地转移到不同的服务器上执行,从而将一组服务器构成一个高性能、高可用的虚拟服务器。此篇的内容只包含两种较为常用的LVS技术,分别是LVS-N…

    Linux干货 2016-10-27
  • 每日一练–8.10 脚本

    1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。 2、编写脚本/root/bin/backup.sh,可实现每日将/etc/目录备份到/root/etcYYYY-mm-dd中 3、编写脚本/root/bin/disk.sh,显示当前硬盘分区中空…

    Linux干货 2016-08-15
  • vim编辑器总结与操作练习

    一、VIM总结如下: 模式化的编辑器 1、三种基本模式:     编辑模式(命令模式)     输入模式(插入模式)    末行模式:内置的命令行接口 2、如何使用VIM打开文件,编辑文件     打开文件:     #vim  【options】【file】     +n;打开文件后直接让光标处于第n行的行首     +/PATTERN:打开文件后,直接让…

    2017-11-29
  • N26-第二周作业-邢岩(2)

     马哥门徒-N26-邢岩   我们接着说今天的分享,接着,我们来看看bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容好了。    1.bash的基础特性之:命令的执行状态结果      bash通过状态返回值来输出此结果:       成功:0 …

    Linux干货 2017-02-10
  • 通过webGUI显示日志信息

         日志信息通常对于我们维护人员有着极为重要的意义,能够为我们提供故障排查、运维监控、历史操作记录等等很多必要的信息。为了方便此类信息的获取,我们可以搭建日志服务器,并实现webGUI显示以便更直观形象的观察收集它们。     一、拓扑图         &nbs…

    Linux干货 2015-07-15
  • 五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT)

    BSD开源协议(original BSD license、FreeBSD license、Original BSD license) BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。 但”为所欲为”的前提当你发布使用了BSD协议的代码,或则以BSD协议代码…

    Linux干货 2017-01-30