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

相关推荐

  • 计算机的组成及其功能

    1.计算机的组成及其功能 1.1计算机的硬件基本结构 从ENIAC到当前最先进的计算机都采用的是冯·诺依曼体系结构分别是:控制器,运算器,存储器,输入与输出设备 控制器:将指令逐条从存储器中取出,经译码分析后向全机发出相应         的操作控制信号作用于其他部件,使各部件有…

    Linux干货 2016-10-28
  • bash脚本编程实例

    bash脚本编程实例 1.写一个脚本 接受一个以上文件路径作为参数 显示每个文件拥有的行数 总结说明本次共为几个文件统计了其行数 #!/bin/bash # read -p “please input some paths:” paths if [ -z $paths ];then echo “There are not any paths inputtin…

    Linux干货 2017-08-14
  • 文件查找与压缩

    文件查找与压缩   Locate:非事实查找(数据库查找)     查询系统上预建的文件索引数据库 /var/lib/mlocate/mlocate.db 依赖于事先构建的索引; 索引的构建是在系统较为空闲时自动进行(周期性任务); 管理 员手动更新数据库(updatedb);   工作特点: 查找…

    Linux干货 2016-08-18
  • RPM程序包管理

           RPM的全名“RedHat Package Manager”,当初这个是RedHad公司开发的一款程序包管理套件,随着RPM的不断完善,RPM逐渐成为众多linux发行版程序包管理器的代名词,那什么是RPM,为什么会用到RPM这个程序包管理工具那,接下来我一一揭晓。  &nb…

    Linux干货 2015-11-04
  • 正则表达与扩展正则表达

    说到正则表达式那就不得不说grep命令: 1.grep命令的作用:grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。2.格式 2.命令格式 :grep [options] 3.主要参数: gre…

    2017-08-07
  • 软件包管理rpm和yum基本使用

    RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序”因而广受欢迎。逐渐受到其他发行版的采用。RPM套件管理方式的出现,让Linux易于安装,升级,间接提升了Linux的适用度。 rpm 执行安装包 二进制包(Binary)以及源代码包(Source)两种。二进制包可以直接安装在计算机中,…

    Linux干货 2016-08-29