linux内核模块
内核模块的查看
使用 lsmod 命令可以查看系统中到底安装了哪些内核模块。命令如下:
[root@a kernel]# lsmod | grep vfat
vfat 17461 0
fat 65950 1 vfat
我们还可以使用 modinfo 命令来查看这些模块的说明,命令格式如下:
[root@localhost ~]# modinfo 模块名 例如:
[root@a kernel]# modinfo vfat
filename: /lib/modules/3.10.0-693.el7.x86_64/kernel/fs/fat/vfat.ko.xz
author: Gordon Chaffee
description: VFAT filesystem support
license: GPL
alias: fs-vfat
rhelversion: 7.4
srcversion: A3254796A3CD9815ABDDC94
depends: fat
intree: Y
vermagic: 3.10.0-693.el7.x86_64 SMP mod_unload modversions
signer: CentOS Linux kernel signing key
sig_key: DA:18:7D:CA:7D:BE:53:AB:05:BD:13:BD:0C:4E:21:F4:22:B6:A4:9C
sig_hashalgo: sha256
内核模块的添加与删除
其实,如果模块已经下载到本机了,那么安装模块的方法非常简单。首先需要把模块复制到指定位置,一般复制到 /lib/modules/2.6.32-279.el6.i686/kemel/ 目录中,模块的扩展名一般是 *.ko;然后需要执行 depmod 命令扫描这些新模块,并写入 modules.dep 文件;最后就可以利用 modprobe 命令安装这些模块了。命令格式如下:
[root@localhost ~]# modprobe [选项] 模块名
选项:
- -I:列出所有模块的文件名,依赖 modules.dep 文件;
- -f:强制加载模块;
- -r:删除模块;
举个例子,我们需要安装 vfat 模块(fat32 文件系统的模块),那么需要执行如下命令即可
[root@a kernel]# lsmod | grep vfat
[root@a kernel]# modprobe vfat
[root@a kernel]# lsmod | grep vfat
vfat 17461 0
fat 65950 1 vfat
[root@a kernel]# modprobe -r vfat
[root@a kernel]# lsmod | grep vfat
[root@a kernel]#
定义模块的文件路径,与系统启动流程有关
[root@a systemd]# cd /usr/lib/systemd
[root@a systemd]# ls | grep rhel-loadmodules
rhel-loadmodules
[root@a systemd]# cat rhel-loadmodules
#!/bin/bash
# Load other user-defined modules
for file in /etc/sysconfig/modules/*.modules ; do
[ -x $file ] && $file
done
# Load modules (for backward compatibility with VARs)
if [ -f /etc/rc.modules ]; then
/etc/rc.modules
fi
[root@a systemd]#
添加模块,并设为开机自启动
[root@a systemd]# which modprobe
/usr/sbin/modprobe
[root@a systemd]# vim /etc/rc.modules
/usr/sbin/modprobe vfat
或者是
[root@a systemd]# vim /etc/sysconfig/modules/vfat.modules
/usr/sbin/modprobe vfat
[root@a systemd]# ll /etc/rc.modules
-rw-r--r-- 1 root root 25 Aug 14 22:40 /etc/rc.modules
[root@a systemd]# chmod a+x /etc/rc.modules
[root@a systemd]# ll /etc/rc.modules
-rwxr-xr-x 1 root root 25 Aug 14 22:40 /etc/rc.modules
[root@a systemd]#
[root@a systemd]# reboot
Connection closed by foreign host.
Disconnected from remote host(192.168.0.160) at 22:44:07.
Connecting to 192.168.0.160:22...
Connection established.
WARNING! The remote SSH server rejected X11 forwarding request.
Last login: Wed Aug 14 20:26:38 2019 from 192.168.0.104
[root@a ~]# lsmod | grep vfat
vfat 17461 0
fat 65950 1 vfat
查看内核中所有模块以及别名的命令是modprobe -c
[root@a ~]# modprobe -c | grep vfat
alias fs_vfat vfat
原文地址:https://www.cnblogs.com/xiaofeng666/p/11355123.html
- 我们要在任何可能的地方测试XSS漏洞
- Angr:一个具有动态符号执行和静态分析的二进制分析工具
- Spark编程指南
- Spark Streaming编程指南
- Spark源码系列(八)Spark Streaming实例分析
- “震网三代”(CVE-2017-8464)的几种利用方法与防范
- Spark1.0新特性-->Spark SQL
- 挖洞经验 | 看我如何综合利用4个漏洞实现GitHub Enterprise 远程代码执行
- Spark的机器学习算法mlib的例子运行
- Spark Streaming自定义Receivers
- 利用USB橡皮鸭在目标机器上启动Empire或Meterpreter会话
- Spark部署
- Spark调优
- perl语言十分钟入门【零基础可入】
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法