Linux-关键目录

前言

此文章内容来自《渗透测试基础·可靠性安全审计实践指南》,并非原创

/root

是root用户的主目录,存储了管理员的文件,系统其他用户通常无法访问这个目录,除专门用于root用户,基本是一个标准的用户主目录

/bin

包含了二进制文件或已编译的文件,目录中可以发现很多程序

甚至很多shell命令也都存储在这里,shell命令仅仅是从shell终端调用的程序

/sbin

和/bin目录类似,但它包含不适用于普通用户的二进制文件。

这个目录通常不在普通用户的默认路径中,但是它在root用户的默认路径中,大多数登录用户无法访问/sbin目录和里面的任何命令

/etc

包含配置文件,大多数应用程序在启动时需要一些配置。

这个目录有若干子目录,每个子目录包含不同类型的配置文件

/etc/passwd

是一个用户和用户权限信息的文本型的数据库

每个用户记录都存储若干个字段

字段 介绍
用户名 表示了用户的名称
密码 第二个字段是密码字段,但是不包含实际的密码,字段中的x表示密码经过了哈希计算,并且保存到/etc/shadow文件中
UID 每当创建新用户账号时,会为它分配一个用户ID
GID 和UID字段类似,指定用户所属的组,组的详细信息保存在文件/etc/group中
注释/描述/用户信息 对用户的文字描述
用户主目录 用户用作主目录的目录
shell字段 用户的shell,通常是/bin/bash或简单的bash shell

/etc/shadow

存储了用户的密码信息,很多资源指向的密码都被加密,最有可能是哈希加密

目录中的其他信息还包括与密码响应的用户名、密码最后修改日期、密码修改剩余的天数和相关信息

/etc/group

和/etc/passwd保存用户信息一样,/etc/group保存组信息,所有与组相关的数据都保存在这,不是一个目录而是文件

/etc/inittab

修改此文件可用于init命令,inittab文件描述了在系统启动和正常运行时哪些进程会被启动。

在内核初始化的最后阶段会启动init程序,它的进程ID是1

init进程启动所有的其他进程,inittab文件是用于init程序的配置文件,可以使用任何标准文本编辑器对它进行编辑

字段 介绍
标签 唯一标识符,最多有四个字符
运行级别 执行本条目的init级别
操作 说明了init对本进程执行的操作
进程 进入指定运行级别时init执行的进程

系统首次引导时,会扫描inittab文件中的关键字,这些关键字告诉init如何处理inittab中给定的配置命令

参数 介绍
boot 启动进程后无须等待进程完成,继续下一个条目,进程终止时,init不会重新启动该进程
bootwait 只启动进程一次,等待它终止后继续下一个条目
initdefault 用运行级别字段中的最大值来确定本条目的运行级别,如果inittab中没有initdefault条目,在启动时init请求用户的初始运行级别
sysinit init第一次读取这个表就启动进程,等待它终止后继续下一个条目

inittab文件的例子

# inittab for linux
id:1:initdefault:
rc::bootwait:/etc/rc
1:1:respawn:/etc/getty 9600 tty1
2:1:respawn:/etc/getty 9600 tty2
3:1:respawn:/etc/getty 9600 tty3

/etc/motd

motd是message of the day的首字母缩写,这正是这个文件所包含的内容

登录系统后收到的简短信息,可以在这个文件中被找到

系统管理员经常用它给终端用户发送信息,这是发布公告和安全提示的绝佳场所。

作为渗透测试的一部分,这也是一个留言的好地方。

/dev

这个目录包含设备文件,设备文件实际上是设备的接口,所有设备都在这个目录中有一个对应的设备文件

一些命名约定有助于浏览这个目录

这个目录有许多文件,每个文件代表一个设备,一个系统上可能没有所有的这些设备

最重要的一些设备如下

设备 介绍
/dev/dsp 数字信号处理器,声卡软件和声卡之间的接口
/dev/fd0 第一个软盘驱动器
/dev/fb0 第一个帧缓冲设备,帧缓冲区是软件和显卡硬件之间的抽象层
/dev/hda 主IDE控制器上的主IDE驱动器
/dev/hdb 主控制器上的从驱动器
/dev/hdc 辅助IDE控制器上的主IDE驱动器
/dev/hdd 辅助IDE控制器上的从驱动器
/dev/pda 并行端口的IDE磁盘

/boot

这个引导目录包含对引导至关重要的文件,引导加载程序都会在这个目录中查找,一种常见实践是将内核镜像存放在这个目录

/usr

这个目录和它里面的所有子目录和文件,都用于本系统的所有用户。

在一台具有多个用户的linux计算机上,它很快就会变成本机最大的目录,这个目录还包含手册页等文档。

linux内置了所有各种shell命令的手册、目录等,这些都称为手册

子目录 介绍
/usr/X11R6 包含X Window系统
/usr/bin 这个目录包含绝大多数的用户命令,然而,有些命令还位于/bin或/usr/local/bin中
/usr/sbin 这个目录存储根文件系统不需要的系统管理民工,手册页/usr/share/man常用于查找linux命令
/usr/share/info 包含GNU信息文档
/usr/share/doc 包含大量常规文档
/usr/include 包含C语言编程所使用的头文件,创建Unix的人们也创建了C语言
/usr/lib lib是library的缩写,这个目录包含程序和子系统的数据文件,配置文件包含在内
/usr/local 这个目录包含本地安装的软件和其他文件,linux发行版可能不会在这里安装任何东西

/var

包含了系统正常运行时会发生变化的数据,var的名字源自variable,因为内容会变化

子目录 介绍
/var/vache/man 按需格式化的手册页的缓存
/var/games /usr中游戏的变量数据存放在这里
/var/lib 在系统正常运行时更改的一些杂项文件都存储在这里
/var/local /usr/local中程序的可变数据
/var/lock 对运行在linux上的程序,这是对它们内部操作很重要的一个目录
这个目录存储锁文件,许多程序在/var/lock中创建一个锁文件,表明正在使用某个特定设备或文件这可以让其他程序看到这个设备正在使用,从而不再尝试使用它
/var/log 是一个非常重要的目录,它包含了各种程序的日志文件
/var/mail 当服务器用作电子邮件服务器时,这个目录包含了邮件文件
/var/run 它包含了系统的当前信息,这些信息的有效性只持续到下次系统启动时
/var/spool 这个目录包含打印队列,因此在定位打印机问题时非常重要

/proc

它并不存储在磁盘上,它在内存中创建,记录当前运行进程的信息。

例子

/proc/1 当前正在运行的进程1的信息
/proc/cpuinfo 和CPU有关的信息
/proc/dma 当前在用的DMA(直接内存访问)通道的信息
/proc/interrupts 正在使用的中断数据
/proc/ioports 当前正在使用的I/O端口信息
/proc/kcore 在这个目录中可以找到系统物理内存的镜像,这样可以精准地看到物理内存在任何给定时刻的情况
/proc/meminfo 包含内存的当前使用信息,包括物理内存和SWAP文件
/proc/kmsg 在这里可以看到内核输出的消息
/proc/modules 它包含内核当时所加载的模块清单
/proc/stat 包含系统很多有趣的统计信息
/proc/uptime 系统启动时间
/proc/version 内核版本

猜你喜欢

转载自blog.csdn.net/smallfox233/article/details/120840618