用户及组权限结合grep过滤示例

grep与正则表达式,用户及组权限管理

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

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

hadoop:x:1002:

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

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

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

6、显示/proc/meminfo文件中以大写或小写S开头的行;用两种方式;
cat /tmp/meminfo | grep “^[s*|S*]”

cat /tmp/meminfo | grep -i “^[s*]”

7、显示/etc/passwd文件中其默认shell为非/sbin/nologin的用户;
cat /etc/passwd | grep -v “/sbin/nologin” | cut -d’:’ -f1

8、显示/etc/passwd文件中其默认shell为/bin/bash的用户;
cat /etc/passwd | grep ‘/bin/bash’ | cut -d’:’ -f1

9、找出/etc/passwd文件中的一位数或两位数;
cat /etc/passwd | grep -o ‘[[:digit:]]\{1,2\}’

10、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;
cat /boot/grub/grub.conf | grep ‘^[[:space:]]\{1,\}*’
##注意,输出结果的时候我是差异的,因为有一行他前面根本没有空格,但是却显示了出来。是不是过滤语句不对?或者出bug了?换到Centos 6上执行,还是一样。检查语句也没毛病啊,最后突然想到:是不是这一行太长,也就是这是上一行的内容?然后我输入cat -A !$ 发现上一行的结尾没有$符,此时终于明白。

11、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;
cat /etc/rc.d/rc.sysinit | grep ‘^[#][[:space:]]\+[[:alnum:]]\+’ (其实就是找出文件中的注释信息)

12、打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行;
netstat -tan | grep ‘LISTEN[[:space:]]\{0,\}$’

13、添加用户bash, testbash, basher, nologin (此一个用户的shell为/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息;
useradd bash && useradd testbash && useradd basher && useradd -s /sbin/nologin nologin &&                    grep -E ‘^([^:]+\>).*\1$’ /etc/passwd

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

(1)
~~
上一篇 2018-02-06 13:04
下一篇 2018-02-06 21:21

相关推荐

  • Linux命令帮助的获取

    帮助命令 1. 使用帮助命令和帮助选项来获取帮助 2. 使用man来查看命令使用手册(manual) 3. 使用info来查看命令的信息页 4. 程序自身的帮助文档(README/INSTALL/ChangeLog) 5. 程序官方文档(官方站点:Documentation) 6. 发行版的官方文档…

    Linux干货 2016-06-01
  • 26期全程班-第六周博客作业

    请详细总结vim编辑器的使用并完成以下练习题 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; # cp /etc/rc.d/rc.sysinit /tmp # vim /tmp/rc.sysinit :%s@^\([[:space:]]\+\)@#\1@g 2…

    Linux干货 2017-03-07
  • shell编程之数组及环境变量

    数组 变量:存储单个元素的内存空间 数组:存储多个元素的连续的内存空间,相当于多个变量的 集合 索引:编号从0 声明数组: declare -a ARRAY_NAME declare -A ARRAY_NAME:关联数组 1.declare  -a menu  menu[0]=beef  menu[1]=chicken menu…

    Linux干货 2016-08-29
  • 13grep和正则表达式

    grep:Global search REgular expression and Print out the line . 文本过滤工具,根据用户指定的模式对目标文本进行匹配检查;打印匹配到的行。过滤即不改变原来文本数据。 grep [options] PATTERN [file…] –color=auto: 对匹配到的文本着色显示…

    Linux干货 2016-11-27
  • 软件包管理详解

      软件包管理器 1、功能: (1)将软件包打包成一个文件,其中包括: ①二进制程序 ②库文件 ③配置文件 ④帮助文件 (2)生成数据库,追中所安装的每一个文件。 2、软件包管理器的核心功能: (1)制作软件包 (2)安装、卸载、升级、查询、校验 3、不同发行版的不同的…

    2017-08-11
  • 初学者通过VMware安装CentOS7并实现本机windows端Xshell远程登陆

    这是我这个菜鸟在学习Linux过程中写的第一篇Blog。内容主要是通过VMware安装CentOS7系统,并且在本机的Windows端通过Xshell5来远程登陆安装好的虚拟机CentOS7系统。 首先通过VMware安装完CentOS7并进入系统。 使用root权限操作,通过 ~]#ifconfig or ~]#ip addr list 命令查询到虚拟机系…

    2017-10-11