N25期–第十五周作业

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 '1~2w /tmp/fstab.3' /etc/fstab

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

取基名:echo "/etc/sysconfig/network-scripts/" | sed 's@^.*/\([^/]\+\)/\?$@\1@'
取路径名:echo "/etc/sysconfig/network-scripts/" | 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 -tan | awk '/^tcp\>/{state[$NF]++}END {for (i in state) {print i,state[i] }}'

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

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


9、写一个脚本:定义一个数组,数组元素为/var/log目录下所有以.log结尾的文件的名字;显示每个文件的行数;
#!/bin/bash
declare -a files
files=(/var/log/*.log)
for i in `seq 0 $[${#files[@]}-1]`;
    do wc -l ${files[$i]}
done

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

#!/bin/bash 
function  duplicate() {   #判断是否重复选择,如果重复在选一次,直到不重复
for ((j=$[${#student[@]}-2];j>=0;j--));do
            if [ ${student[$j]} -eq ${student[$i]} ] 
            then
            student[$i]=$(($RANDOM % $a))
            duplicate
            fi
        done
}
read -p  "input the total student number,the first student no. is 0:" a
total=($(seq 0 $[$a-1]))
read -p "input how many student pick:" b
if [ $b -gt $a ]
then 
    echo "pick tpo more student"
elif [ $a -eq $b ]
then
    echo "pick every student"
else
    for ((i=0;i<$b;i++));do
        student[$i]=$(($RANDOM % $a))
        duplicate
        echo ${student[$i]}
    done
fi


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

visudo
User_Alias   DISK_ADMINS = centos
Cmnd_Alias   DISK_COMMAND = /sbin/fdisk, /sbin/mkfs, /sbin/mke2fs
DISK_ADMINS  ALL=(root) NOPASSWD: DISK_COMMAND

12、授权gentoo用户可以运行逻辑卷管理的相关命令;
visudo
User_Alias  LVM_ADMINS = gentoo
Cmnd_Alias  LVM_COMMAND = /sbin/pv*, /sbin/vg*, /sbin/lv*
LVM_ADMINS  ALL=(root) NOPASSWD: LVM_COMMAND

useradd centos
echo "centos" | passwd --stdin centos
useradd gentoo
echo "gentoo" | passwd --stdin gentoo

[centos@node6 ~]$ sudo -l
用户 centos 可以在该主机上运行以下命令:
    (root) NOPASSWD: /sbin/fdisk, /sbin/mkfs, /sbin/mke2fs
[gentoo@node6 ~]$ sudo -l
用户 gentoo 可以在该主机上运行以下命令:
    (root) NOPASSWD: /sbin/pv*, /sbin/vg*, /sbin/vl*



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

[root@localhost ~]# vim /etc/pam.d/sshd
account    required pam_time.so
[root@localhost ~]# vim /etc/security/time.conf 
*;*;*;MoTuWeThFr0900-1800#表示工作时间9点到下午6点允许访问ssh

14、基于pam_listfile.so模块,定义仅某些用户,或某些组内的用户可登录系统;"
[root@localhost ~]# vim /etc/sshd_userlist
root
centos
gentoo
[root@localhost ~]# chmod 600 /etc/sshd_userlist 
[root@localhost ~]# chown root /etc/sshd_userlist 
[root@localhost ~]# vim /etc/pam.d/sshd
添加
auth        required pam_listfile.so item=user sense=allow file=/etc/sshd_userlist onerr=succeed

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

(0)
victorli88victorli88
上一篇 2017-05-08 19:20
下一篇 2017-05-08 20:08

相关推荐

  • 实验:配置静态路由1

    实验:配置静态路由1 IP地址规划如下: 注意,环境准备: 1、MAC地址不要有冲突,如果是复制的虚拟机,对于centos6需删除网卡定义文件rm -f /etc/udev/rules.d/70-persistent-net.rules 2、清空防火墙iptables -F(查看:iptables -vnL) 3、启用IP转发功能:echo 1 > /…

    2017-03-26
  • 面授20-1班 0805课间练习与课后作业

    课间练习 第一阶段 新学的命令文本命令cat tac rev more less head tail cut paste wc sort dif patch 1 、找出ifconfig 命令结果中本机的所有IPv4 地址 [root@IP70-CentOS7 ~]# >>ifconfig | tr&nbsp…

    Linux干货 2016-08-07
  • 【福利贴-招聘】- 高级运维工程师

    职位描述 岗位描述:1、负责业务应用系统的审核、部署、发布、监控、维护和优化;2、负责突发事件管理,问题跟踪与管理,保障系统24×7稳定运行;3、负责应用系统的性能分析与系统优化,不断提高系统运行效率;4、协调开发部门,配置管理,基础运维,更好提供服务。 职位要求:1、专科及以上学历,计算机或相关专业;2、能够独立安装配置及维护linux平台的各种服务,dh…

    Linux干货 2015-03-20
  • 【Linux基础】文件管理类命令

    总结下linux系统文件管理类的命令 mkdir -> make dirtctories 创建目录 语法:mkdir [OPTION]… DIRECTORY… 常用选项-p: 自动按需创建父目录;-v: verbose,显示详细过程;-m MODE:直接给定权限;注意:路径基名方为命令的作用对象;基名之前的路径必须得存在;示例:~]# mkdir -p…

    Linux干货 2018-03-11
  • rpm与yum

    rpm包及yum 包查询 rpm -q –query  搭配别的选项可用来包查询 -a -f -p rpmfile:针对尚未安装的程序包文件做查询操作   -p 选项参数为文件名(一定要指定路径) 例子: rpm -qpl /media/Packages/zsh-4.3.11-4.el6.centos.2.x86_64.rpm…

    Linux干货 2016-08-24
  • 推荐-tree命令的安装和使用

    一、前言     tree命令是可以把指定文件夹的所以文件用树状罗列出来,呈现目录形式的一个命令。在Centos 6.5中默认不能直接使用: 输入type tree命令(type COMMAND:区别是内建命令还是外部命令)提示不存在: 二、安装       …

    系统运维 2016-03-27

评论列表(1条)

  • 马哥教育
    马哥教育 2017-06-20 11:39

    怎么没有总结sed和awk的具体用法啊?