N25-第四周作业

第四周

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

[root@zf ~]# cp -r /etc/skel/ /home/tuser1
[root@zf ~]# chmod -R go= /home/tuser1/ 

[root@zf ~]# ls -al /home/tuser1/              
总用量 28
d-wx------. 4 root root 4096 12月 16 06:17 .
drwxr-xr-x. 8 root root 4096 12月 16 06:17 ..
-rw-------. 1 root root   18 12月 16 06:17 .bash_logout
-rw-------. 1 root root  176 12月 16 06:17 .bash_profile
-rw-------. 1 root root  124 12月 16 06:17 .bashrc
drwx------. 2 root root 4096 12月 16 06:17 .gnome2
drwx------. 4 root root 4096 12月 16 06:17 .mozilla

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

[root@zf ~]# echo "hadoop:x:2021:" >> /etc/group

[root@zf ~]# cat /etc/group | tail -2
nova:x:2020:openstack
hadoop:x:2021:

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

[root@zf ~]# echo "hadoop:x:1001:2021::/home/hadoop:/bin/bash" >> /etc/passwd

[root@zf ~]# cat /etc/passwd | tail -2
openstack:x:3003:2019::/home/openstack:/bin/bash
hadoop:x:1001:2021::/home/hadoop:/bin/bash

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

[root@zf ~]# cp -r /etc/skel/ /home/hadoop
[root@zf ~]# chmod go= /home/hadoop/    

[root@zf ~]# ls -ld /home/hadoop/
drwx------. 4 root root 4096 12月 16 07:43 /home/hadoop/

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

[root@zf ~]# chown -R hadoop.hadoop /home/hadoop/
[root@zf ~]# ls -la /home/hadoop/ 

[root@zf ~]# ls -la /home/hadoop/ 
总用量 28
drwx------. 4 hadoop hadoop 4096 12月 16 07:43 .
drwxr-xr-x. 9 root   root   4096 12月 16 07:43 ..
-rw-r--r--. 1 hadoop hadoop   18 12月 16 07:43 .bash_logout
-rw-r--r--. 1 hadoop hadoop  176 12月 16 07:43 .bash_profile
-rw-r--r--. 1 hadoop hadoop  124 12月 16 07:43 .bashrc
drwxr-xr-x. 2 hadoop hadoop 4096 12月 16 07:43 .gnome2
drwxr-xr-x. 4 hadoop hadoop 4096 12月 16 07:43 .mozilla

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

[root@zf ~]# grep  "^[sS].*" /proc/meminfo 
SwapCached:            0 kB
SwapTotal:       2097144 kB
SwapFree:        2097144 kB
Shmem:               432 kB
Slab:              99732 kB
SReclaimable:      42004 kB
SUnreclaim:        57728 kB 

[root@zf ~]# grep -E "^(s|S).*" /proc/meminfo
SwapCached:            0 kB
SwapTotal:       2097144 kB
SwapFree:        2097144 kB
Shmem:               432 kB
Slab:              99720 kB
SReclaimable:      42000 kB
SUnreclaim:        57720 kB

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

[root@zf ~]# grep -v "/sbin/nologin$" /etc/passwd | cut -d: -f1
root
sync
shutdown
halt
aa
mageia
slackware
openstack
hadoop

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

[root@zf ~]# cat /etc/passwd | grep  "/bin/bash$" | cut -d: -f1           
root
aa
mageia
openstack
hadoop

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

[root@zf ~]# cat /etc/passwd | grep -E -o "\<[0-9]\>|\<[1-9][0-9]\>" 
0
0
1
1
2
2
3
4
4
7
5
0
6
0
7
0
8
12
10
14
11
0
12
13
30
14
50
99
99
81
81
69
69
32
32
29
29
68
68
42
42
38
38
48
48
76
89
89
74
74
72
72

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

[root@zf ~]# cat /boot/grub/grub.conf | grep -E "^[[:space:]]+[[:alnum:]]+"   
root (hd0,0)    
kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=UUID=10c8f38a-aa7e-44ba-81e2-bddbb6689b7c rd_NO_LUKS  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet 
initrd /initramfs-2.6.32-431.el6.x86_64.img

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

  [root@zf ~]# cat /etc/rc.d/rc.sysinit | grep -E "^#[[:space:]]+[^[:space:]]+"       
    # /etc/rc.d/rc.sysinit - run once at boot time
    # Taken in part from Miquel van Smoorenburg's bcheckrc.
    # Check SELinux status
    # Print a text banner.
    # Only read this once.
    # Initialize hardware
    # Set default affinity
    # Load other user-defined modules
    # Load modules (for backward compatibility with VARs)
    # Configure kernel parameters
    # Set the hostname.
    # Sync waiting for storage.
    # Device mapper & related initialization
    # Start any MD RAID arrays that haven't been started yet
    # Remount the root filesystem read-write.
    # Clean up SELinux labels
    # If relabeling, relabel mount points.
    # Mount all other filesystems (except for NFS and /proc, which is already
    # mounted). Contrary to standard usage,
    # filesystems are NOT unmounted in single user mode.
    # The 'no' applies to all listed filesystem types. See mount(8).
    # Update quotas if necessary
    # Check to see if a full relabel is needed
    # Initialize pseudo-random number generator
    # Configure machine if necessary.
    # Clean out /.
    # Do we need (w|u)tmpx files? We don't set them up, but the sysadmin might...
    # Clean up /var.
    # Clean up utmp/wtmp
    # Clean up various /tmp bits
    # Make ICE directory
    # Start up swapping.
    # Set up binfmt_misc
    # Boot time profiles. Yes, this should be somewhere else.
    # Now that we have all of our basic modules loaded and the kernel going,
    # let's dump the syslog ring somewhere so we can find it later
    # create the crash indicator flag to warn on crashes, offer fsck with timeout
    # Let rhgb know that we're leaving rc.sysinit

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

[root@zf ~]# netstat -tan | grep -E "LISTEN[[:space:]]*$"
tcp        0      0 0.0.0.0:60812               0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:111                 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 0.0.0.0:10050               0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      
tcp        0      0 :::111                      :::*                        LISTEN      
tcp        0      0 :::39216                    :::*                        LISTEN      
tcp        0      0 :::22                       :::*                        LISTEN      
tcp        0      0 ::1:631                     :::*                        LISTEN      
tcp        0      0 ::1:25                      :::*                        LISTEN      
tcp        0      0 :::3306                     :::*                        LISTEN

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

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

[root@zf ~]# shell=$(grep "basher" /etc/passwd | cut -d: -f7)
[root@zf ~]# grep "$shell"  /etc/passwd | cut -d: -f1  
root
aa
mageia
openstack
hadoop
bash
testbash
basher

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

[root@zf ~]# grep  "^[sS].*" /proc/meminfo 
SwapCached:            0 kB
SwapTotal:       2097144 kB
SwapFree:        2097144 kB
Shmem:               432 kB
Slab:              99732 kB
SReclaimable:      42004 kB
SUnreclaim:        57728 kB 

[root@zf ~]# grep -E "^(s|S).*" /proc/meminfo 
SwapCached:            0 kB
SwapTotal:       2097144 kB
SwapFree:        2097144 kB
Shmem:               432 kB
Slab:              99720 kB
SReclaimable:      42000 kB
SUnreclaim:        57720 kB 

[root@zf ~]# grep -i "^s.*" /proc/meminfo 
SwapCached:            0 kB
SwapTotal:       2097144 kB
SwapFree:        2097144 kB
Shmem:               432 kB
Slab:              99808 kB
SReclaimable:      42060 kB
SUnreclaim:        57748 kB

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

[root@zf ~]# grep -v "/sbin/nologin$" /etc/passwd | cut -d: -f1
root
sync
shutdown
halt
aa
mageia
slackware
openstack
hadoop
bash
testbash
basher

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

[root@zf ~]# grep  "/bin/bash$" /etc/passwd | cut -d: -f1           
root
aa
mageia
openstack
hadoop
bash
testbash
basherp

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

[root@zf ~]# grep -E -o "\<[0-9]\>|\<[1-9][0-9]\>" /etc/passwd 
0
0
1
1
2
2
3
4
4
7
5
0
6
0
7
0
8
12
10
14
11
0
12
13
30
14
50
99
99
81
81
69
69
32
32
29
29
68
68
42
42
38
38
48
48
76
89
89
74
74
72
72

原创文章,作者:N25-深圳-寻觅,如若转载,请注明出处:http://www.178linux.com/64396

(0)
N25-深圳-寻觅N25-深圳-寻觅
上一篇 2016-12-21
下一篇 2016-12-21

相关推荐

  • 压缩解压缩 tar 主要掌握

    compress [-dfvcVr] [-b maxbits] [file …] -d: 解压缩,相当于 -c: 结果输出至标准输出,不删除原文件 单纯-c 会出乱码 所以 > .. -v: 显示详情 uncompress解压缩 zcat file.Z > file  ##没人用  因为压缩比不高  …

    Linux干货 2016-08-21
  • SSH会话劫持实现端口转发

    在进行渗透测试时,我们有时候会碰到搭建的测试环境、产品服务器、DMZ或者其他类似的机器群的情况,这时我们完全可以把它们看作跳板。这些系统被设计成对外交互的接口,这时候我们考虑对其他域里的用户进行SSH会话劫持是个不错的选择。 那么如果你拥有了某一个跳板的控制权限,想要通过另一个域的用户对远程域进行访问会怎么办呢?当然,这时候你是没有密码、密钥的,你不能抛弃二…

    系统运维 2015-03-23
  • Bash Shell中的for循环和运算表达式应用

    Bash Shell中的for循环和运算表达式应用 1、写一个脚本 实现以下功能: 接受一个以上文件路径作为参数, 显示每个文件拥有的行数,总结说明本次共为几个文件统计了其行数。设定此脚本至少需要一个参数并给出提示,$#表示参数的个数。将脚本提供的所有参数组成一个列表放入for语句依次进行循环执行echo "$i has $(wc -l $i | …

    Linux干货 2016-12-13
  • 文本处理工具之grep正则表达式

    grep简介 grep 是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。 Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更多的re元字符, fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,也就是说,…

    Linux干货 2016-08-08
  • Google 开源技术protobuf

    1.  Protobuf简介        protobuf是google提供的一个开源序列化框架,类似于XML,JSON这样的数据表示语言,其最大的特点是基于二进制,因此比传统的XML表示高效短小得多。虽然是二进制数据格式,但并没有因此变得复杂,开发人员通过按照一定的语法定义结构化的消息格式,然后送给命令行…

    系统运维 2015-04-04
  • 第二周博客作业

    1.Linux上的文件管理类命令都有那些,其常用的使用方法及其相关示例演示。
    2.Bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
    3.请使用命令行展开功能来完成以下的练习。
    4.文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
    5.如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
    6.显示/var目录下所有以1开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其他字符)的文件或目录。
    7.显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
    8.显示/etc目录下,以非字母开头,后面跟了一个字母以及其他任意长度任意字符的文件或目录。
    9.在/tmp目录下创建以tgile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22
    10.复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
    11.复制/etc目录下所有以.d结尾的文件或目录到/tmp/mytest2目录中。
    12.复制/etc目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。

    2018-03-22

评论列表(1条)

  • 马哥教育
    马哥教育 2017-01-03 17:10

    正则表达式很容易将人的水平区分开来,作业中完成的很不错,再接再励。