马哥教育网络班22期第4周课程作业

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

[root@MyCloudServer ~]# cp /etc/skel/ /home/tuser1 
[root@MyCloudServer ~]# chmod 700 /home/tuser1/
[root@MyCloudServer ~]# ll -d /home/tuser1/
drwx------ 2 root root 4096 Sep  2 14:52 /home/tuser1/

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

[root@MyCloudServer ~]# groupadd hadoop
[root@MyCloudServer ~]# chown :hadoop /etc/group
[root@MyCloudServer ~]# ll /etc/group
-rw-r--r-- 1 root hadoop 626 Sep  2 14:56 /etc/group

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

hadoop:x:3005:3005:/home/hadoop:/sbin/nologin

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

[root@MyCloudServer ~]# cp -r /etc/skel/ /home/hadoop
[root@MyCloudServer ~]# chown  :hadoop /home/hadoop/
[root@MyCloudServer ~]# ll -d /home/hadoop/
drwxr-x--- 2 root hadoop 4096 Sep  2 15:02 /home/hadoop/

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

[root@MyCloudServer ~]# chown -R :hadoop /home/hadoop/

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

[root@MyCloudServer ~]# grep -i "^s" /proc/meminfo 
SwapCached:            0 kB
SwapTotal:       1015800 kB
SwapFree:        1015800 kB
Shmem:               144 kB
Slab:              36164 kB
SReclaimable:      15932 kB
SUnreclaim:        20232 kB
[root@MyCloudServer ~]# grep "^[sS]" /proc/meminfo 
SwapCached:            0 kB
SwapTotal:       1015800 kB
SwapFree:        1015800 kB
Shmem:               144 kB
Slab:              36168 kB
SReclaimable:      15932 kB
SUnreclaim:        20236 kB

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

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

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

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

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

[root@MyCloudServer ~]# grep -o -E "\<[0-9]{1,2}\>" /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
69
69
89
89
74
74

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

blob.png

[root@MyCloudServer ~]# grep "^[[:space:]]\+" /boot/grub/grub.conf
[root@MyCloudServer ~]# grep "^[[:space:]]\{1,\}" /boot/grub/grub.conf

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

[root@MyCloudServer ~]# grep "^#[[:space:]]\{1,\}[^[:space:]]\{1,\}" /etc/rc.d/rc.sysinit
# /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.

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

[root@MyCloudServer ~]# netstat -tan | grep "\<LISTEN\>[[:space:]]*$"
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      
tcp        0      0 :::22                       :::*                        LISTEN      
tcp        0      0 ::1:25                      :::*                        LISTEN

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

[root@MyCloudServer ~]# grep "^\([[:alpha:]]\+\>\).*\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:3006:3006::/home/bash:/bin/bash
nologin:x:3009:3009::/home/nologin:/sbin/nologin

原创文章,作者:杜邱,如若转载,请注明出处:http://www.178linux.com/42927

(0)
杜邱杜邱
上一篇 2016-09-19 13:48
下一篇 2016-09-19 13:48

相关推荐

  • mount命令使用详解

    一、挂载(mount)初识     1.什么是挂载         将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录作为其它文件访问入口的行为。     2.常用的文件系统类型 &…

    Linux干货 2016-09-01
  • linux下解压命令大全

    .tar  解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) ——————————————— .gz 解压1:gunzip FileName.gz 解压2:gzip -d FileName.gz 压缩:gzip FileName .tar.gz 和 .t…

    Linux干货 2017-07-11
  • C++的std::string的“读时也拷贝”技术!

    C++的std::string的读时也拷贝技术! 嘿嘿,你没有看错,我也没有写错,是读时也拷贝技术。什么?我的错,你之前听说写过时才拷贝,嗯,不错的确有这门技术,英文是Copy On Write,简写就是COW,非常’牛’!那么我们就来看看这个’牛’技术的效果吧。 我们先编写一段程序 #include <string> #include…

    Linux干货 2015-04-03
  • 制作python模块安装包[原创]

     python的第三方模块越来越丰富,涉及的领域也非常广,如科学计算、图片处理、web应用、GUI开发等。当然也可以将自己写的模块进行打包或发布。一简单的方法是将你的类包直接copy到python的lib目录,但此方式不便于管理与维护,存在多个python版本时会非常混乱。现介绍如何编写setup.py来对一个简单的python模块进行打包。 一、…

    Linux干货 2015-03-27
  • shell的基本使用

    小知识: 在bash环境中变量有各自的范围,有些的变量无法超出自己本身的范围,也无法更改自己, 或提升自己的能力范围 用source命令执行脚本,会对里面的变量发生改变包括范围 例:命令行中写name=wang 脚本中写name=xdg  先命令行,再脚本,最后命令行的顺序依次执行 1.正常的执行脚本 ./file.sh  输出的结果: …

    Linux干货 2017-08-05
  • 文件服务及vsftpd的配置

    文件服务:     ftp:应用层,C/S,文件共享;file transfer protocol;     nfs,cifs:文件系统接口,网络文件系统;         nfs:network f…

    Linux干货 2016-10-15

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-19 18:27

    有没有发现黑屏很难看?