linux系统用户管理和grep正则表达式练习

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

[root@suywien ~]# cp -rpv /etc/skel/ /home/tuser1/
‘/etc/skel/’ -> ‘/home/tuser1/’
‘/etc/skel/.mozilla’ -> ‘/home/tuser1/.mozilla’
‘/etc/skel/.mozilla/extensions’ -> ‘/home/tuser1/.mozilla/extensions’
‘/etc/skel/.mozilla/plugins’ -> ‘/home/tuser1/.mozilla/plugins’
‘/etc/skel/.bash_logout’ -> ‘/home/tuser1/.bash_logout’
‘/etc/skel/.bash_profile’ -> ‘/home/tuser1/.bash_profile’
‘/etc/skel/.bashrc’ -> ‘/home/tuser1/.bashrc’
[root@suywien ~]# useradd tuser -d /home/tuser1/
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
[root@suywien ~]# chmod -R go-rwx /home/tuser1/
[root@suywien ~]# ll -d /home/tuser1/
drwx------ 3 root root 74 Feb 12 03:04 /home/tuser1/

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

[root@suywien ~]# vim /etc/group
[root@suywien ~]# tail -1 /etc/group
hadoop:x:1029

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

[root@suywien ~]# vim /etc/passwd
[root@suywien ~]# tail -1 /etc/passwd
hadoop:x:1029:1029::/home/hodoop/:/bin/bash

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

[root@suywien ~]# cp -fpv /etc/skel/ /home/hadoop
cp: omitting directory ‘/etc/skel/’
[root@suywien ~]# cp -fpvR /etc/skel/ /home/hadoop
‘/etc/skel/’ -> ‘/home/hadoop’
‘/etc/skel/.mozilla’ -> ‘/home/hadoop/.mozilla’
‘/etc/skel/.mozilla/extensions’ -> ‘/home/hadoop/.mozilla/extensions’
‘/etc/skel/.mozilla/plugins’ -> ‘/home/hadoop/.mozilla/plugins’
‘/etc/skel/.bash_logout’ -> ‘/home/hadoop/.bash_logout’
‘/etc/skel/.bash_profile’ -> ‘/home/hadoop/.bash_profile’
‘/etc/skel/.bashrc’ -> ‘/home/hadoop/.bashrc’
[root@suywien ~]# chmod go-rwx /home/hadoop/
[root@suywien ~]# ls -ld /home/hadoop/
drwx------ 3 root root 74 Feb 12 03:04 /home/hadoop/

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

[root@suywien ~]# chown -R hadoop:hadoop /home/hadoop/
[root@suywien ~]# ll -al /home/hadoop/
total 16
drwx------   3 hadoop hadoop   74 Feb 12 03:04 .
drwxr-xr-x. 10 root   root   4096 Mar 25 10:14 ..
-rw-r--r--   1 hadoop hadoop   18 Nov 20  2015 .bash_logout
-rw-r--r--   1 hadoop hadoop  193 Nov 20  2015 .bash_profile
-rw-r--r--   1 hadoop hadoop  231 Nov 20  2015 .bashrc
drwxr-xr-x   4 hadoop hadoop   37 Feb 12 03:03 .mozilla

6、显示/proc/meminfo文件中以大写或小写S开头的行;用两种方式;

1、[root@suywien ~]# grep ^[S,s] /proc/meminfo 
    SwapCached:            0 kB
    SwapTotal:       2097148 kB
    SwapFree:        2097148 kB
    Shmem:              9100 kB
    Slab:              89476 kB
    SReclaimable:      53176 kB
    SUnreclaim:        36300 kB
2、[root@suywien ~]# grep -i "^s" /proc/meminfo 
    SwapCached:            0 kB
    SwapTotal:       2097148 kB
    SwapFree:        2097148 kB
    Shmem:              9100 kB

7、显示/etc/passwd文件中其默认shell为非/sbin/nologin的用户;

[root@suywien ~]# grep \/sbin\/nologin$ /etc/passwd
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
......

8、显示/etc/passwd文件中其默认shell为/bin/bash的用户;

[root@suywien ~]# grep \/bin\/bash /etc/passwd
root:x:0:0:root:/root:/bin/bash
roo:x:1000:1000:root:/home/roo:/bin/bash
gentoo:x:4001:4001::/home/gentoo:/bin/bash
mageia:x:1100:1100::/home/linux:/bin/bash
tuser:x:4003:4003::/home/tuser1/:/bin/bash
hadoop:x:1029:1029::/home/hodoop/:/bin/bash

9、找出/etc/passwd文件中的一位数或两位数;

[root@suywien ~]# grep "\<[0-9]\{2,3\}\>" /etc/passwd
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
......

10、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;

[root@suywien ~]# grep "^[[:space:]]\+" /boot/grub2/grub.cfg 
  load_env
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   set boot_once=true
   ......

11、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;

[root@suywien ~]# grep "^#[[:space:]]\+[^[:space:]]\+" /etc/rc.d/rc.local 
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.

12、打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行;

[root@suywien ~]# netstat -tan | grep "LISTEN[[:space:]]*$"
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN     
tcp6       0      0 ::1:631                 :::*                    LISTEN     
tcp6       0      0 ::1:25                  :::*                    LISTEN     

13、添加用户bash, testbash, basher, nologin (此一个用户的shell为/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息;

[root@suywien ~]# useradd bash
[root@suywien ~]# useradd basher
[root@suywien ~]# useradd -s /sbin/nologin nologin

[root@suywien ~]# grep -E "^([^:]+\>).*\1$" /etc/passwd
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
bash:x:4004:4004::/home/bash:/bin/bash
nologin:x:4006:4006::/home/nologin:/sbin/nologin

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

(0)
落叶落叶
上一篇 2018-03-25 10:16
下一篇 2018-03-25 14:53

相关推荐

  • 文本处理三剑客之grep

    grep命令基本用法 1、grep正则表达式(对文本行进行搜索过滤) 格式:grep [option] PATTERN [FILE…] option: -i:忽略大小写 -v:取反,显示未被匹配到的pattern -n:显示匹配的行号 -c:统计匹配的行数 -o: 只显示匹配到的pattern -q: 静默,不予显示 -A#:after,匹配到的行再向后…

    Linux干货 2017-07-19
  • N25第二周

      1,Linux上的文件管理命令都有哪些,其常用的使用方法及其相关示例演示。        文件查看类命令:cat, tac, head, tail, more, less           分屏…

    Linux干货 2016-12-12
  • Bash脚本写法及变量如何使用

    Bash是什么? bash脚本是作为linux执行与内核交互的一个方便快捷的脚本语言工具。它可以帮助我们快速的解决问题。 Bash写法: 需要创建一个文件,以.sh结尾。这样就生成一个脚本文件 我们文件内容开头要以#!/bin/bash 开头,这是脚本规定的格式,目的是告诉编译器我们这个脚本是bash类型的脚本。 当上述工作都做好以后,我们就可以正式开始脚本…

    Linux干货 2017-04-10
  • 用户,组和权限管理 基础命令整理

    安全3A任何一个安全策略都应该有Authentication(认证)、Authentication(授权)、Accouting|Audition(审计)这三个措施。 用户(User)Linux用户是安全3A中的Authentication(认证)措施。用户在登录时,系统会检查用户输入的用户名和密码。如果用户输入的用户名和密码匹配,会根据用户信息给用户分配一个…

    Linux干货 2017-03-16
  • 设计模式(一)工厂模式Factory(创建型)

      在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的。但是在一些情况下, new操作符直接生成对象会带来一些问题。举例来说, 许多类型对象的创造需要一系列的步骤: 你可能需要计算或取得对象的初始设置; 选择生成哪个子对象实例; 或在生成你需要的对象之前必须先生成一些辅助功能的对象。 在…

    Linux干货 2015-06-23
  • N26_第二周

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 a 文件查看类  cat tac  head  tail more  less b 文件操作类  touch cp  mv  rm more命令:   &nbsp…

    2017-05-26

评论列表(1条)

  • 马哥教育
    马哥教育 2018-04-10 22:00

    MD用的不错。。