第四周:/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
下一篇 2016-10-13

相关推荐

  • 计算机组成及功能

    计算器:进行逻辑和算数运算 控制器:读取,接受,发出控制指令 存储器:存取程序和数据 I/O设备:输入指令并显示到标准输出设备

    Linux干货 2018-03-03
  • 根DNS域名解析的实现

    一、实现从根,com,rj.com 模拟互联网的DNS架构 DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。 接下来就一起开始搭建吧 首先,我们需要计划好实验环境,包括实验的步骤思路 1)实验环境(最好是画图展示,能使思路清…

    2015-02-10
  • 马哥教育网络班22期+第十二周课程练习

    1、请描述一次完整的http请求处理过程。    (1) 客户端与服务端通过TCP三次握手建立或处理连接:接收请求或拒绝请求    (2) 接收请求:接收来自于网络上的主机请求报文中对某特定资源的一次请求的过程    (3) 处理请求:对请求报文进行解析,获取客户端请求…

    Linux干货 2016-12-29
  • linux中权限管理

    权限的描述:           权限的意思就是用户拥有的对系统支配能力的大小在linux中是严格控制用户权限的,不同的用户给予不同的权限,权限应遵循能少给就尽量少给的原则从而增加系统的安全性。 进程安全上下文:    进程对问件访问权限的应用模型:进程的属主与文件的属主是否相同,如果相同…

    系统运维 2016-08-05
  • Linux 下openssl搭建一个CA

    CA : 证书颁发机构PKI : 公钥基础设施,公钥基础构架证书: 里面存放了用户的各种信息,最核心的部分就是公钥 谁来给CA颁发公钥,解决方法是,CA自己给自己颁发公钥 openssl 是一个强大的工具可以帮助我们来创建颁发证书,下面我们就来看下在linux下 opensssl 搭建一个CA,并实现管理 1、首先我们需要给CA生成一个私钥  cd…

    2017-07-16
  • Linux软件包管理之程序包编译安装

    程序包编译 程序包编译安装: Application-VERSION-release.src.rpm–>      安装后,使用rpmbuild命令制作成二进制格式的rpm包,而后再安装 源代码–>预处理–>编译(gcc)–>汇编&#82…

    Linux干货 2016-08-25