N21沉舟15周作业

1、总结sed和awk的详细用法;

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;d' /etc/fstab >/tmp/fstab.3

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

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

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

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

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

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

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

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

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

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

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

#!/bin/bash
#
for i in {1..100};do
k=$i-1
stud[$k]=boy_$i
done
a=$[$RANDOM % 100]
echo this time phick student is :${stud[a]}

进一步地:可接受一个参数,做为要挑选的同学的个数;

#!/bin/bash
#
for i in {1..100};do
k=$i-1
stud[$k]=boy_$i
done
num=$1
for a in $(seq 1 $num);do
a=$[$RANDOM % 100]
echo ${stud[a]}
done

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

centos  ALL=(root)  NOPASSWD:/sbin/fdisk, /sbin/mke2fs, /sbin/mkfs

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

gentoo ALL=(root) lvm

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

(1).# vim /etc/pam.d/sshd
在account required pam_nologin.so上插入一行:
account required pam_time.so
(2).编辑pam_time.so模块的配置文件
# vim /etc/security/time.conf
*;*;*;MoTuWeThFr0900-1800

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

创建一个用户的列表文件,例如/etc/sshd_userlist,然后编辑文件
root 
centos
gentoo
然后修改文件的权限和属主
# chmod 600 /etc/sshd_userlist 
# chown root /etc/sshd_userlist
再编辑/etc/pam.d/sshd文件,加入以下一行内容:
auth required pam_listfile.so item=user sense=allow file=/etc/sshd_userlist onerr=succeed

原创文章,作者:N21-沉舟,如若转载,请注明出处:http://www.178linux.com/57424

(0)
N21-沉舟N21-沉舟
上一篇 2016-11-14 08:28
下一篇 2016-11-14 08:29

相关推荐

  • 系统时间与硬件时间

    1. “系统时间”与“硬件时间”    系统时间: 一般说来就是我们执行 date 命令看到的时间,linux系统下所有的时间调用(除了直接访问硬件时间的命令)都是使用的这个时间。    硬件时间: 主板上BIOS中的时间,由主板电池供电来维持运行,系统开机时要读取这个时间,并根…

    Linux干货 2016-08-05
  • 第一周作业

    一、描述计算机的组成及其功能 计算机是由处运算器,控制器,储存器,输入输出设备组成 运算器:执行各种计算和逻辑运算操作 控制器:完成协调和指挥整个计算机系统的操作 储存器:暂时存储或者长期存储数据 输入设备:向计算机输入数据和信息的设备 输出设备:计算机硬件系统的终端设备 二、按系列罗列Linux的发行版,并描述不同发行版之间的联系和区别 Linux发行版=…

    Linux干货 2016-12-05
  • LVM应用概要

    LVM — 即Logical Volume  Manager(逻辑卷管理管理),是Linux的一种磁盘管理机制。 LVM可以将物理磁盘以PV(Physical Volume)为单位抽象成VG(Volume Group)。在VG中,最小存储单元是一个PE(Physical Extent)。在VG的基础上再抽象一层,划分出LV(Logical Vol…

    2017-11-28
  • 管道重定向笔记作业

      标准i/o和管道 Vim f1 [root@centos7~]#]ps aux|grep vim root      10967(进程编号)  0.1  0.4 151196  4828 pts/0    S+   11:10   0:00 vim f1 root      11028  0.0  0.0 112660   968 pts/1 …

    Linux干货 2017-11-20
  • 网卡别名和bonding——让你的网络接口更加稳定

    网卡配置文件: 1、IP/NETMASK/GW/DNS等属性的配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE     IFACE:接口名称 2、路由的相关配置文件(默认无此文件):/etc/sysconfig/network-scripts/route-IFACE 3、配置文件/etc/sy…

    Linux干货 2016-09-05
  • 模块化的php编译amp和fpm化的php编译amp;

    编译安装amp 一,编译环境前准备工作 (1) 系统环境:CentOS 6,7     CentOS 6:apr, apr-util的版本为1.3.9,不适用于httpd-2.4;     CentOS 7:apr, a…

    Linux干货 2016-10-17

评论列表(1条)

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

    可以总结一下awk和sed