第四周作业

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

答:

    复制目录:cp -R /etc/skel /home/tuser1

    修改权限:chmod -R go=- /home/tuser1


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

答:

    vim /etc/group

    在最后一行,新增 "hadoop:x:1001:",然后:wq保存退出


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

答:

    vim /etc/passwd

在最后一行,新增“hadoop:X:1001:1001::/home/hadoop:/bin/bash”,然后:wq保存退出


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

答:

    复制文件:cp -R /etc/skel /home/hadoop

    修改权限:chmod -R go=- /home/hadoop


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

答:

    chown -R hadoop:hadoop /home/hadoop


6、显示/proc/meminfo文件中以大写或小写s开头的行,用三种方式。######

答:

    方法一、grep -i "^s" /proc/meminfo

    方法二、grep "^[sS]" /proc/meminfo

    方法三、grep -E "^(s|S)" /proc/meminfo


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

答:

    grep [^/sbin/nologin]$ /etc/passwd


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

答:

    grep /bin/bash$ /etc/passwd


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

答:

    grep ":[0-9]\{1,2\}:" /etc/passwd


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

答:

    grep "^[[:space:]]\{1,\}" /boot/grub/grub.conf

    grep -E "^[[:space:]]+" /boot/grub/grub.conf

    grep -E "^[[:space:]]\{1,\}" /boot/grub.conf


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

答:

    grep "^#[[:space:]]\{1,\}[^[:space:]]\{1,\}" /etc/rc.d/rc/sysinit

    grep -E "^#[[:space:]]+[^[:space:]]+" /etc/rc.d/sysinit

    egrep "^#[[:space:]]{1,}[^[:space:]]{1,}" /etc/rc.d/sysinit


12、打出netstat -tan命令执行结果中以“Listen”,后或跟空白字符结尾的行。

答:

    netstat -tan | grep "Listen[[:space:]]\{0,\}$"

    netstat -tan | grep "Listen[[:space:]]*$"


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

答:

    步骤一:创建用户

     useradd bash

     useradd testbash

     useradd basher

     useradd -s /sbin/nologin nologin

    

    步骤二:创建一个shell script文件


#!/bin/bash

#

if [ -e /tmp/username.txt ];then

  rm -f /tmp/username.txt

  cut -d: -f1 /etc/passwd > /tmp/username.txt

else

  cut -d: -f1 /etc/passwd > /tmp/username.txt

fi


for User_Name in $(cat /tmp/username.txt)

  do

    grep "^\($User_Name\):.*\1$" /etc/passwd

  done

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

(0)
N24_shishenN24_shishen
上一篇 2016-12-07 16:28
下一篇 2016-12-07 20:36

相关推荐

  • CentOS 5和6的启动流程

    Linux: kernel+rootfs  kernel: 进程管理、内存管理、网络管理、驱动程序、文件系统、安全功能 rootfs: glibc 库:函数集合, function, 调用接口 过程调用:procedure 函数调用:function 程序  内核设计流派: 单内核设计:Linux 把所有功能集成于同一个程序; 微内核设计…

    Linux干货 2016-08-23
  • shell脚本之 select 循环菜单及 函数

    select 循环与菜单 select variable in list    do      循环体命令   done select 循环主要用于创建菜单,按数字顺序排列的菜单项将显示在标准错误上,并显示PS3 提示符,等待用户输入 用户输入菜单列表中的某个数字,执行相应的命令…

    Linux干货 2016-08-22
  • mysql主从复制以及扩展

    一、MySQL简单复制相关概念:    1. mysql复制的意义:Mysql复制是使得mysql完成高性能应用的前提    2. mysql复制的机制:             SLAVE端线程: …

    Linux干货 2015-12-16
  • N22-网路班-第2次作业-冥界之王

    1.linux上文件管理类命令都有哪些,其常用的使用方法极其示例演示。(1).创建目录格式:mkdir [选项]  目录功能:创建目录常用选项说明: -m  创建目录的同时设置访问权限 -p  一次性创建多级目录 -v  显示过程[root@Cent…

    Linux干货 2016-08-22
  • sed

    简介     sed 是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主…

    Linux干货 2016-03-22
  • shell脚本练习题

    1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信 息,包括主机名,IPv4地址,操作系统版本,内核版本, CPU型号,内存大小,硬盘大小。 #!/bin/bash ##编写脚本/root/bin/systeminfo.sh,显示当前主机系统信 息,包括主机名,IPv4地址,操作系统版本,内>核版本, C…

    Linux干货 2016-08-24