第四周:/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

相关推荐

  • 安装包管理

       软件包管理 软件的运行和编译 ABI 由于window和linux不兼容 linux是ELF window 是PE 对应的内核解析方式不同,可以用虚拟化 API 只程序与程序的公用的接口,相互调用方式 程序源代码 –>预处理–>编译–>汇编–>链接 预处理只会引…

    Linux干货 2017-04-24
  • 详解linux磁盘管理

                           磁盘管理 设备文件 1. I/O ports:I/O设备地址 2. 一切皆文件,open(),read(),write(),close(),对设备的操作也都是通     过这…

    Linux干货 2016-08-29
  • Nginx+resin调优文档[原创]

    为什么不选择Apache/mod+resin?       前面一直使用该模式,mod_caucho暴露源码的bug一直未得到彻底的解决。因此切换到Nginx+resin平台。硬件上要求除了内存一定要足够大(建议>4G),无其它要求(当然也不能太破,呵呵)。操作系统强烈要求安装64位,32位操…

    Linux干货 2015-03-27
  • Linux网络协议命令介绍(3)

      在上一章中,我们谈到了网络协议以及TCP传输层说明,下面我们来介绍一下序列号和确认好有什么区别之外,以及基本的网络命令。 1、序列号和确认号有什么区别? 2、网络功能 3、网络命令 4、配置文件 1、序列号和确认号有什么区别?   发送方与接收方的发送请求,把SYN设置为1,TCP报文出去都有个号码,随机生成称为序…

    Linux干货 2016-11-29