用户及组权限结合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

相关推荐

  • 第九周作业

    1. 写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; # awk -F: ‘{if($7!=”/sbin/nologin”) {printf “Logined user %s\n”…

    Linux干货 2017-03-01
  • Hadoop伪分布式模型

    # java -version # vim /etc/profile.d/java.sh export JAVA_HOME=/usr # yum install java-1.8.0-openjdk-devel # mkdir /bdapps # tar xf hadoop-2.7.4.tar.gz -C /bdapps/ # cd /bdapps # ln…

    2017-12-08
  • 文件的查找工具find

    有的时候我们需要快速查找一些文件,但是我们却不知道这个文件在哪的时候,就急切的需要一个工具来帮助我们,这时候find就诞生了。Find能实现精确查找,虽然速度略慢,但是并不妨碍我们使用,下面就介绍一下find的使用方法。(一) 基于时间戳的查找          假如需要查看七天前的文件,但是总不能一一的去看…

    2017-08-13
  • linux基础学习-第八天

    2016-08-08 授课内容: 处理文本的工具sed vim编辑器 Shell脚本编程基础介绍 sed:sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),     接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。默认不编辑原文件,仅…

    Linux干货 2016-08-10
  • 第一周博客作业

    计算机的组成 CPU:运算器、控制器、寄存器、缓存 存储器:内存 RAM(Random-Access Memory) Input:输入指令、提供数据 Output: 输出数据加工后的结果 功能: 输入设备负责把用户的信息输入到计算机中 输出设备负责将计算机中的信息(包括程序和数据)传送到外部媒介,供用户查看或保存; 存储器负责存储数据和程序,并根据控制命令提…

    Linux干货 2017-01-10
  • Linux basics–part2

    一、Linux上的文件管理类命令,及常用的使用方法 1.ls:list, 列出指定目录下的内容 常用选项: ls: list, 列出指定目录下的内容 ls [OPTION]… [FILE]… -a: 显示所有文件,包括隐藏文件; -A:显示除.和..之外的所有文件; -l: –long, 长格式列表,即显示文件的详细属性信…

    Linux干货 2017-07-14