文件系统的结构

超级块的数据结构是:
struct super_block {
unsigned short s_ninodes;
unsigned short s_nzones;
unsigned short s_imap_blocks;
unsigned short s_zmap_blocks;
unsigned short s_firstdatazone;
unsigned short s_log_zone_size;
unsigned long s_max_size;
unsigned short s_magic;
/* These are only in memory */
struct buffer_head * s_imap[8];
struct buffer_head * s_zmap[8];
unsigned short s_dev;
struct m_inode * s_isup;
struct m_inode * s_imount;
unsigned long s_time;
struct task_struct * s_wait;
unsigned char s_lock;
unsigned char s_rd_only;
unsigned char s_dirt;
};

本文详细介绍了文件系统的组成部分,包括超级块、i节点、目录项数据结构,并通过实例解析了如何从根节点查找/bin/sh的路径。通过根节点找到对应数据块,对比目录项名称,逐步获取bin和sh的i节点,最终定位到sh的代码块。
最低0.47元/天 解锁文章
6503

被折叠的 条评论
为什么被折叠?



