马哥教育21期网络班—第15周课程+练习

2、删除/boot/grub/grub.conf文件中所有行的行首的空白字符;

sed 's@^[[:space:]]\+@@' /boot/grub/grub.conf

3、删除/etc/fstab文件中所有以#开头,后跟至少一个空白字符的行的行首的#和空白字符;

sed 's@^#[[:space:]]\+@@' /etc/fstab

4、把/etc/fstab文件的奇数行另存为/tmp/fstab.3;

sed -n '1~2p' /etc/fstab >/tmp/fstab.3sed 'n;d' /etc/fstab >/tmp/fstab.3

5、echo一个文件路径给sed命令,取出其基名;进一步地,取出其路径名;

echo "/var/log" | sed -r 's@(/.*/)@@g'echo "/etc/sysconfig/" | sed 's@[^/]\+/\?$@@'

6、统计指定文件中所有行中每个单词出现的次数;

awk '{for(i=1;i<=NF;i++){count[$i]++}}END{for(i in count) {print i,count[i]}}' /etc/fstab

7、统计当前系统上所有tcp连接的各种状态的个数;

netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn

8、统计指定的web访问日志中各ip的资源访问次数:

awk '{ip[$1]++} END{for(i in ip) {print i,ip[i]}}' /var/log/httpd/access_log

9、写一个脚本:定义一个数组,数组元素为/var/log目录下所有以.log结尾的文件的名字;显示每个文件的行数;

vim line.sh 
#!/bin/bash 
line=$(ls /var/log/*.log)
for i in $(seq 0 $[${#line[*]}-1]);do
	wc -l ${line[$i]}
done

10、写一个脚本,能从所有同学中随机挑选一个同学回答问题;进一步地:可接受一个参数,做为要挑选的同学的个数;

vim pick.sh 
declare -a student
for in in {1..99};do
	pick=$i-1
student[ $k ]=student$i
done
echo "Now ,We have $i students that you can pick up!"
read -p "How many students do you want:" count
 ! let count++ &>/dev/null   &&  echo "Must be a number!" && exit 13
 [ $count -eq 0 -o  $count -gt 99 ] &&  echo "Please selcet a number between 1 and 99!"
  && exit 12
m=1
while [ $m -lt $count ];do
    rand=${RANDOM:0-2}
if echo  $rand  | grep "^0" &>/dev/null;then
    index=${rand:0-1}
echo "${student[ $index ]}, You answer my questions Please!"
else
echo "${student[ $rand ]}, You answer my questions Please!"
fi
let m++
done

11、授权centos用户可以运行fdisk命令完成磁盘管理,以及使用mkfs或mke2fs实现文件系统管理;

visudo
centos  10.0.0.2=/sbin/mkfs, /sbin/mke2fs, /sbin/ifconfig
ifconfig eth0 
eth0      Link encap:Ethernet  HWaddr 00:0C:29:47:BE:80  
          inet addr:10.0.0.2  Bcast:10.255.255.255  Mask:255.0.0.0
          inet6 addr: fe80::20c:29ff:fe47:be80/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4340 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3313 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:439145 (428.8 KiB)  TX bytes:480457 (469.1 KiB)
shutdown -h now
shutdown: Need to be root

12、授权gentoo用户可以运行逻辑卷管理的相关命令;

visudo
gentoo  10.0.0.2=/sbin/*create, /sbin/*reduce,/sbin/*scan, /sbin/*display, /sbin/fsck,/sbin/resize2fs

13、基于pam_time.so模块,限制用户通过sshd服务远程登录只能在工作时间进行;

grep -i "usepam" /etc/ssh/sshd_config 
#UsePAM noUsePAM yes  确保sshd开启Pam模块认证ls /lib64/security/pam_time.so 保证pam_time.so 存在 
ls /etc/pam.d/sshd /etc/security/time.conf 保证Pam模块配置文件存在
/etc/pam.d/sshd 添加 session    required     pam_time.so    /etc/security/time.conf 添加 sshd;ttyp*;root;!ALSa0000-2400 工作日时写成 !ALWd0000-2400
Connecting to 192.168.40.128:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
Last login: Sun Jun  5 03:56:43 2016 from 192.168.40.1
Connection closed by foreign host.
Disconnected from remote host(192.168.40.) at 08:32:07.

14、基于pam_listfile.so模块,定义仅某些用户,或某些组内的用户可登录系统;

grep "pam_listfile" /etc/pam.d/sshd 
auth required pam_listfile.so item=user sense=deny file=/etc/nossh onerr=fail
cat /etc/nossh
derulo

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

(0)
N21_ DominicN21_ Dominic
上一篇 2016-11-14
下一篇 2016-11-14

相关推荐

  • N26第六周博客作业

    请详细总结vim编辑器的使用并完成以下练习题 1、               复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#…

    Linux干货 2017-03-13
  • systemd

    systemd的新特性(centos 7) 系统引导时实现服务并行启动 按需激活进程,在此之前可以让进程处于半活动状态 系统状态快照:能够自我保存当前系统上没一个用户空间的进程运行状态快照,将来可以迅速恢复到某一种状态,因此用户空间有了时间机器。可以回滚到过去某一时刻的状态 内在的基于依赖关系定义的服务控制逻辑 对与systemd来讲,引入了一个新的核心概念…

    Linux干货 2016-09-23
  • 例图分析软、硬链接

    在linux系统中存在两种链接方式硬链接和软连接,两种链接方式在系统中是完全不同的模式,本文主要详述两种的区别并给与图示; 创建guo ,lin两个文件,两个文件分别用于演示软连接和硬链接     图一:创建文件   创建软连接guo.ruan1     图二:创建软连…

    Linux干货 2016-10-29
  • n28 第二周作业

    n28 第二周作业

    Linux干货 2017-12-09
  • Linux概述

    计算机组成概述 计算机组成原理 如上图计算机的组成结构,CPU运行速度远远高于内存,而内存运行速度又远远高于I/O;由于三者运行速度巨大差异,如果系统仅运行一个任务(单任务系统),那么将有大量的CPU空闲时间等待缓慢的I/O及内存的读取。为提高CPU的使用效率,于是便产生了多任务系统系统的需求。 多任务系统 多任务实现的基础,我们知道计算机处理任务主要靠CP…

    Linux干货 2016-12-02
  • 计算机组成及Linux入门知识

    计算机的基本组成: 存储器:     实现记忆功能的部件用来存放计算程序及参与运算的各种数据 运算器:     负责数据的算术运算和逻辑运算即数据的加工处理 控制器:     负责对程序规定的控制信息进行分析,控制并协调输入,输出操作或内存访问 输入设备:    实现计算程序和原始数据的输入 输出设备:    实现计算结果输出 组成的联系: 图一 图二 计算…

    Linux干货 2016-09-16

评论列表(1条)

  • 马哥教育
    马哥教育 2016-11-16 15:50

    可以把sed 和awk的一些基本参数总结一下,期待你的佳作