硬件检测--认证和授权

bios告诉vmlinuz有什么硬件,vmlinuz附带了一些基本的硬件驱动,vga和鼠标,键盘等的驱动,

而其他的驱动,类似于文件系统,硬盘的驱动,则放置在initrd中,减少kernel的空间占用

如果不是第一次启动,则需要一个新旧硬件的比对,kuduz 发现新硬件,然后根据/etc/sysconfig/hwconf

如果挂接老的硬件,需要添加的参数以及如何挂接需要参考/etc/modprobe.conf

如果是新硬件,需要修改这两个文件

modules里面有硬件信息

对比modules.alias根据厂商的硬件信息,识别出新硬件的信息

模块的具体的位置存储在modules.dep,也存储了模块的依赖关系

硬件的发现过程

实验:

1,给本机添加reiserfs的模块,让系统支持rfs的文件系统

kernel.org放置的kernel不能用在企业级的

必须用redhat测试过kernel   (下载源代码,并打上补丁,生成打过补丁的源代码)

lftp ftp.redhat.com

>ls

>cd redhat

[[email protected] linux-2.6.18.i686]# uname -r确定自己的系统版本号

2.6.18-128.el5

[[email protected] tmp]# rpm -ivh kernel-2.6.18-128.4.1.el5.src.rpm 安装相应的的内核

warning: user mockbuild does not exist - using root

warning: group mockbuild does not exist - using root

warning: user mockbuild does not exist - using root

warning: group mockbuild does not exist - using root

warning: user mockbuild does not exist - using root

warning: group mockbuild does not exist - using root

warning: user mockbuild does not exist - using root

warning: group mockbuild does not exist - using root

. 这里报错是因为rpm包是官网下载打包好的,打包所使用的root用户是redhat打包时候的用户

.

.

.

warning: user mockbuild does not exist - using root

warning: group mockbuild does not exist - using root

[[email protected] tmp]# cd /usr/src/redhat/   进入目录

[[email protected] redhat]# ls

BUILD   RPMS   SOURCES   SPECS   SRPMS

目录分别代表什么意义

BUILD(用来执行创建rpm的工作目录)编译的中间文件,解开的原代码放那里去

SOURCES源代码文件以及patch文件,rpm默认寻找目录

SPECS此目录存放源代码编译的时候的配置文件

SRPMS半成品,放置原代码包,编译出来的src的rpm包(*src.rpm),(包含了sources+specs,为了遵循GPL的协议,公布出去)

RPMS编译后产生的所有的rpm的文件

[[email protected] redhat]# cd SPECS/

[[email protected] SPECS]# ls

kernel-2.6.spec

[[email protected] SPECS]# rpmbuild -bp --target i686 kernel-2.6.spec

(其中p把pre的部分做完#spec文件中包含了pre,post等部分

Building target platforms: i686

Building for target i686

Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.2082

+ umask 022

+ cd /usr/src/redhat/BUILD

+ LANG=C

+ export LANG

+ unset DISPLAY

+ ‘[‘ ‘!‘ -d kernel-2.6.18/vanilla ‘]‘

+ rm -f pax_global_header

+ cd /usr/src/redhat/BUILD

+ rm -rf kernel-2.6.18

.

.

.

.

+ patch -p1 -s

+ exit 0

[[email protected] SPECS]# cd ../BUILD/

[[email protected] BUILD]# ls

kernel-2.6.18

[[email protected] BUILD]# cd kernel-2.6.18/  到build目录下的kernel

[[email protected] kernel-2.6.18]# ls

config  Config.mk  linux-2.6.18.i686  vanilla  xen

[[email protected] kernel-2.6.18]# cd linux-2.6.18.i686/

[[email protected] linux-2.6.18.i686]# ls

arch     CREDITS        fs       Kbuild       Makefile  REPORTING-BUGS  sound

block    crypto         include  kernel       mm        samples         usr

configs  Documentation  init     lib          net       scripts

COPYING  drivers        ipc      MAINTAINERS  README    security

[[email protected] linux-2.6.18.i686]# uname -r

2.6.18-128.el5

[[email protected] linux-2.6.18.i686]# vim Makefile

将    把 makefile的标识EXTRAVERSION改成当前的内核 e.g:EXTRAVERSION= -128.el5

EXTRAVERSION = -prep

修改为

EXTRAVERSION = -128.el5

保存退出

[[email protected] linux-2.6.18.i686]#make menuconfig 告诉kernel编译这个模块

File system ---->Reiserfs  support-->选择:stats...../ReiserFs..../ReiserFs....ReiserFs....

保存退出

[[email protected] linux-2.6.18.i686]# make prepare    内核预执行

scripts/kconfig/conf -s arch/i386/Kconfig

CHK     include/linux/version.h

UPD     include/linux/version.h

CHK     include/linux/utsrelease.h

UPD     include/linux/utsrelease.h

SYMLINK include/asm -> include/asm-i386

CC      arch/i386/kernel/asm-offsets.s

GEN     include/asm-i386/asm-offsets.h

[[email protected] linux-2.6.18.i686]# make modules_prepare  内核模块的预执行

CHK     include/linux/version.h

CHK     include/linux/utsrelease.h

HOSTCC  scripts/genksyms/genksyms.o

[[email protected] linux-2.6.18.i686]# make M=fs/reiserfs/   依赖模块要逐层make

模块的具体路径

WARNING: Symbol version dump /usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.i686/Module.symvers

is missing; modules will have no dependencies and modversions.

LD      fs/reiserfs/built-in.o

CC [M]  fs/reiserfs/bitmap.o

CC [M]  fs/reiserfs/do_balan.o

CC [M]  fs/reiserfs/namei.o

CC [M]  fs/reiserfs/inode.o   结束后有reiserfs.ko即所需的模块

[[email protected] linux-2.6.18.i686]# insmod fs/reiserfs/reiserfs.ko

#手动添加reiserfs.ko模块,位置可以在任意地方

[[email protected] linux-2.6.18.i686]# lsmod |grep reiserfs  查看系统加载模块有没有挂接好

reiserfs              211588  0

[[email protected] linux-2.6.18.i686]# ls

arch   configs  CREDITS  Documentation  fs       init  Kbuild  lib          Makefile  net     REPORTING-BUGS  scripts   sound

block  COPYING  crypto   drivers        include  ipc   kernel  MAINTAINERS  mm        README  samples         security  usr

[[email protected] kernel-2.6.18]# rmmod reiserfs    #删除rfs模块

[[email protected] kernel-2.6.18]# lsmod |grep reiserfs

[[email protected] linux-2.6.18.i686]#

mkdir /lib/modules/2.6.18-128.el5/kernel/fs/reiserfs 创建文件夹

[[email protected] linux-2.6.18.i686]# install -m 755 -d /lib/modules/2.6.18-128.el5/kernel/fs/reiserfs/

[[email protected] linux-2.6.18.i686]# depmod -a 生成modules.dep文件

[[email protected] linux-2.6.18.i686]#

grep reiserfs /lib/modules/2.6.18-128.el5/modules.dep

[[email protected] linux-2.6.18.i686]# lsmod |grep reiserfs  查看系统加载模块有没有挂接好

reiserfs              211588  0

[[email protected] reiserfs]#

install -m 755 -t /lib/modules/2.6.18-128.el5/kernel/fs/reiserfs/ /usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.i686/fs/reiserfs/reiserfs.ko

Install   -m  755  -t (单个文件)   源目标    目的目标

-d (整个目录)

手动拷贝需要先设定权限,copy后再给文件设置权限

安装rfs模块到指定的位置

#make install 就是调用install命令,就是将产生的文件copy到相应的位置

[[email protected] reiserfs]# depmod -a

[[email protected] reiserfs]# modprobe reiserfs

[[email protected] reiserfs]# modinfo reiserfs  查看模块的信息

filename:       /lib/modules/2.6.18-128.el5/kernel/fs/reiserfs/reiserfs.ko

license:        GPL

author:         Hans Reiser <[email protected]>

description:    ReiserFS journaled filesystem

srcversion:     75AFFF93098091BCAD10C8A

depends:

vermagic:       2.6.18-128.el5 SMP mod_unload 686 REGPARM 4KSTACKS gcc-4.1

[[email protected] reiserfs]# module_sig红帽子的官方签名

[[email protected] bootinitrd]# zcat initrd-2.6.18-128.el5.img | cpio -i

11745 blocks

[[email protected] bootinitrd]# ls -R

\.:

bin  dev  etc  init  initrd-2.6.18-128.el5.img  lib  proc  sbin  sys  sysroot

./bin:

dmraid  insmod  kpartx  modprobe  nash

./dev:

console  null  ram   ram1  systty  tty0  tty10  tty12  tty3  tty5  tty7  tty9   ttyS1  ttyS3

mapper   ptmx  ram0  rtc   tty     tty1  tty11  tty2   tty4  tty6  tty8  ttyS0  ttyS2  zero

./dev/mapper:

./etc:

./lib:

ata_piix.ko      dm-message.ko  dm-region_hash.ko  firmware   mptbase.ko   ohci-hcd.ko  scsi_transport_spi.ko  vmxnet3.ko

dm-log.ko        dm-mod.ko      ehci-hcd.ko        jbd.ko     mptscsih.ko  pvscsi.ko    sd_mod.ko              vmxnet.ko

dm-mem-cache.ko  dm-raid45.ko   ext3.ko            libata.ko  mptspi.ko    scsi_mod.ko  uhci-hcd.ko

./lib/firmware:

./proc:

./sys:

./sysroot:

权限和认证

login 我是谁

su 我想成为谁

sudo 我想作某件事情,可以作某件事情,需要作一件事情,授权

授权在suid sgid

使用这个文件的时候拥有文件拥有者的权限

sgid,某个组的权限

认证可以有多种方式,passwd+shadow 标准unix的认证方式,login调用一个 pam的模块,pam.so,包括pamunix.so pam.md5.so

login把用户给的用户名字和密码给pam判断是否成功,然后给login返回信息成功还是不成功

认证本身和程序相关,如果程序需要的话,就需要

NIS 是远端的yppasswd ypshadow

如果login包含认证,则需要重新写程序,但是现在只需要写程序,需要修改的用模块的定义

认证不止是su在用,login,

可插入性的认证方式的好处,统一认证,与程序无关,用户透明  (pam机制)

授权,要给用户授权要有一个基准

配置,可以是文件本身上的认证 (suid sgid acl权限,

附加授权权限 setfacl,为了和windows连用,

为了使文件被kevin写,tube读,told写,mark读,如果还有一个其他的用户,则不方便设置

实验2

#mount -o remount,acl /myfiles/

给某一个分区作

#cd /myfiles/testdir

#mkdir dir

#setfacl -m u:kevin:rwx dir

m是modules u用户还是组,kevin用户还是组名

#getfacl dir

kevin有了rwx的权限

使用acl使的系统性能下降17%

需要去查看用户的权限,然后去比对

htpasswd也是一种授权方式,mysql的用户的认证,哪些用户能对哪些表做什么事情

安全也就是授权和认证

认证和授权都是针对程序的,程序本身不需要授权,则可以跳过去

从用户登录开始,

login登录的提示符,登录的认证程序,inittab 产生的 tty终端调用的login,如果调用的是需要认证的则去找pam机制

终端登录调用的是允许在哪些终端登录,在/etc/securetty

判断是否有nologin的文件,如果存在,普通用户是不可以登录的

passwd认证是否存在该用户,是否可以登录shell

用户的

(0,多长时间可以改密码

最后是0或者1,则不能登录)

shadow看用户是否过期了

minetty --autologin root tty1

跳过认证自动登录

man minetty查看参数

/etc/pam.d/login

去查看/etc/nologin是否存在,如果存在,则不允许登录

进去了,但是被T出来了

tty错误/etc/securetty,删除了tty3,则tty3不允许的登录

从安全的角度考虑,一般只开两个tty的登录许可

tty调用的pam.d/login

登录管理器 gdm 用的不是login

2,用户登录

3,motd文本的信息

4,pam决定了家目录的位置,如果是本地的则去找 /etc/passwd,进入到/

5,启动shell,csh,tcsh,zsh,nash

判断用户使用哪种shell

执行/etc/profile下面的*.sh

系统有很多的shell,需要各自的环境,以单独的一个文件放置到 profile

conf 其中conf.d设置的是为了修改局部的配置,而不影响整体的配置

图形登录的时候执行xterm的,bash子 shell,之后执行bashrc

tty的时候先读取.bash_profile后,执行bashrc

用户自己决定是否执行 /etc/bashrc

退出的时候不保留记录 kill -9 0

/etc/skel包含了profile,bashrc等配置文件,添加用户的时候拷贝过去

可以放置木马

initrd.img只需要放置本地启动需要的

安装需要防止所有可能的模块,可能需要各种板卡的驱动

1,用于启动的initrd.img

cp /boot/initrd*.img

mkdir /tmp/bootinitrd

zcat ../initrd*.img | cpio -i

#-i input

#cpio用在纸带机上

#tar最早用在磁带机

dmraid lvm如果根是 raid 或者lvm则能识别出来

kpartx硬件虚拟化 mutipath

双hba卡+一个storage

两个卡认到2个设备

虚拟成一个设备

cd bootinitrd

#解压开来

zcat ../initrd-2.6.18-128.el5.img | cpio -i

去掉lib中的ext3.ko,然后重新生成

#重新生成

find ./ | cpio -H newc -o > ../initrd.my

#以最高压缩比压缩

gzip -9 initrd.my

2,用于安装的 initrd.img

mkdir installinitrd

cd !$

解压开来之后

modules/pci.ids

作业:

查找pci.ids在系统中的哪个位置

dmesg

pci.ids由org提供

mkdir modules

mkdir 2.6.18-164.el5/i686/

zcat ../* | cpio -i

el4 initrd的制作方法

ext2的initrd

dd if=/dev/zero of=/tmp/initrddir bs=1M count=8

mkfs.ext2 initrddir

mount

cp -a bootinitrd initrddir

gzip -9 initrddir

initrd.img然后去lib/modules-modules_alias 先去比对,然后去.dep去找位置

时间: 2024-09-26 22:31:09

硬件检测--认证和授权的相关文章

星语硬件检测专家 V4.3 官方版

软件名称: 星语硬件检测专家 软件语言: 简体中文 授权方式: 免费软件 运行环境: Win 32位/64位 软件大小: 15.8MB 图片预览: 软件简介: 星语硬件检测专家是一款功能非常强大的硬件检测工具,这个工具可以检测所有与计算机连接的硬件,并提供了一个万能驱动包,支持一键还原和一键优化系统,可以设置桌面图标,软件还提供了大量的关于硬件和系统的知识. 星语硬件检测专家使用方法 1.下载并安装文件,双击运行: 2.运行后自动检测硬件: 3.选择一些您需要的功能点击即可. 4.点击[一键优化

利用ACS服务器实现用户的认证、授权和审计

需要分析: 某医院在中国北京.上海.广州.青岛等多个地方有分院和诊所,并通过SDH专线进行互联实现信息化连接,来实现办公网.视频会议等信息的传递.该院通过几年信息化,目前全国网络设备(包括交换机.路由器.防火墙.无线控制器等)共有大概200余台.全国共有IT人员十几人.为了管理方便,北京.上海等各城市的网络设备管理各自为阵,由各个地方的IT人员进行管理.而每个地方的所有设备的密码为了方便登录都设备成一致的,例如北京的设备密码都设置为bj001,上海的的设置密码为sh001.考虑到安全问题,密码每

AIDA64 Business Edition(硬件检测工具) V4.50.3000

软件名称: AIDA64 Business Edition(硬件检测工具)软件语言: 简体中文授权方式: 免费软件运行环境: Win7 / Vista / Win2003 / WinXP 软件大小: 12MB图片预览: 软件简介:aida64是一款测试软硬件系统信息的工具,它可以详细的显示出电脑硬件的每一个方面的信息.aida64不仅提供了诸如协助超频,硬件侦错,压力测试和传感器监测等多种功能,而且还可以对处理器,系统内存和磁盘驱动器的性能进行全面评估 软件下载页面:http://www.bki

硬件检测合集 3.0 免费版

软件名称: 硬件检测合集 3.0 免费版 软件语言: 简体中文 授权方式: 免费软件 运行环境: Win7 / Vista / Win2003 / WinXP 软件大小: 5.0MB 软件简介: 硬件检测合集主要收集了大众化的硬体检测与测试程序,为了方便大家在装机的时候避免JS且快速的检察出你的爱机是否真才实料.而且收集了些内外设的测试工具,次程序不是很大,方便大家随带.主要附带工具如下:CPU检测;内存检测;硬盘检测;显卡检测;声卡检测;网卡检测;摄像头检测;显示器检测;键盘检测;鼠标检测;网

证明与计算(6): 身份认证与授权

目录: ** 0x00 引子 ** 0x01 用户名和密码 ** 0x02 密码管理器的基本原理 ** 0x03 多因素认证 ** 0x04 双因素认证(two-factor-auth)的基本原理. ** 0x05 [OpenID] vs [OAuth] ** 0x06 [IDToken] vs [JWT, JWS, JWE] 0x00 引子 每天,你使用用户名和密码登录网站. 每天,你使用手机验证码重置密码. 每天,你使用微信扫码登录其他软件. 每天,你使用微信授权第三方小程序访问你的个人信息

Kubernetes之(十五)身份认证,授权,准入控制

目录 Kubernetes之(十五)身份认证,授权,准入控制 ServiceAccount 创建serviceaccount 自定义serviceaccount 自建证书和账号进行访问apiserver RBAC简介 Kubernetes RBAC演示 RBAC的三种授权访问 Kubernetes之(十五)身份认证,授权,准入控制 API Server作为Kubernetes网关,是访问和管理资源对象的唯一入口,其各种集群组件访问资源都需要经过网关才能进行正常访问和管理.每一次的访问请求都需要进

kubernetes认证、授权、准入控制

1 总述 1 概述 kubernetes 中的资源访问类型有两种,一种是由POD提供的服务资源,其可通过service或 ingress提供接口以供外部访问,这种访问不需要经过API server的认证,而另一种对集群内部资源的操作则需要经过一定的认证授权操作才能完成. 2 认证,授权,准入控制概述 1 概述 任何客户端在操作相关资源对象时必须经过三个步骤:认证: 身份鉴别,正确的账号,能够通过认证,其只能证明其是合法的账户.授权: 权限检查,对资源进行相应的操作.其可操作某些资源,其某些资源需

教你如何使用硬件检测功能

1.硬件检测有什么作用? 新增硬件检测功能,电脑硬件信息一目了然. 打开电脑扣扣管家主程序,点击扣扣电脑管家的"工具栏"中的"硬件检测",将自动为您检测硬件信息. 硬件检测包含了CPU.主板.内存.显卡.显示器.硬盘.网卡.声卡,以及所有接入的USB设备等信息,几乎包含了您电脑上的全部设备信息,可以点击左侧的各标签页查看各类设备的信息. 同时,硬件检测还会实时监控当前的各硬件状态,包括温度.风扇转速和电压等等.您可以在电脑概览的右边栏看到各种表盘. 您可以点击右上角

BOS项目 第7天(shiro权限框架进行认证和授权)

BOS项目笔记 第7天 今天内容安排: 1.权限概述(认证.授权) 2.常见的权限控制的方式(URL拦截权限控制.方法注解权限控制) 3.权限数据模型(权限表.角色表.用户表.角色权限关系表.用户角色关系表) 4.shiro框架入门 5.将shiro应用到bos项目中进行认证和授权 1. 权限概述 系统提供了很多功能,并不是所有的用户登录系统都可以操作这些功能.我们需要对用户的访问进行控制. 认证:系统提供的用于识别用户身份的功能(通常是登录功能)-----让系统知道你是谁?? 授权:系统提供的