好忙啊~~~啥都不说了~~~~ PC从开机到进入系统的步骤 1. BIOS BIOS是固化在ROM中的代码(firmware)拥有一些系统设备信息,如磁盘,键盘,串口等可由用户配置,并保存在CMOS中映射到特殊地址,启动时自动开始执行根据配置信息对硬件进行初始化,并选择引导设备,如硬盘,光盘,软盘等确定启动设备后,以磁盘为例,将执行磁盘上的MBR 2. MBR(Master Boot Record) 默认的MBR是个很简单的程序,根据分区表的内容判断哪个分区是启动分区,并从该分区加载引导程序执行。 Linux的OS Loader,如GRUB,会在MBR安装自己的代码,用于加载Loader。 MBR空间有限,其中代码仅用于从磁盘加载 OS Loader的其余部分。 OS Loader可以处理多系统、多内核的情况。 3. OS Loader GRUB每次执行时从磁盘读入配置文件,在用户修改配置文件后不需要重新安装,支持多种文件系统。 /boot/grub/grub.conf 4. 内核初始化 扫描系统,确定处理器、内存、设备等 初始化设备,如磁盘、网卡、显卡 初始化用于进行内存管理、中断响应、设备驱动等的数据结构 派生内核线程 内核线程是用于完成内核任务的可调度实体,但没有自己的进程空间。如用于进行内存交换、处理软中断等 派生init进程,进行用户级初始化 5. 用户级启动脚本 init进程是系统中首个真正的用户级进程,也是所有用户进程的始祖。 根据不同的运行级别,选择执行不同的程序,派生相应的进程。运行级别可以在GRUB中指定。在/etc/inittab中设置默认的运行级。 一般根据运行级,通过rc程序执行相应目录中的启动脚本,进行系统初始化和服务的启动。 6.init调用getty提示用户登录 init定义了7个运行级(runlevel) 运行级0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动 运行级1:单用户工作状态,root权限,用于系统维护,禁止远程登录 运行级2:多用户状态(不挂载网络文件系统) 运行级3:完全的多用户状态(挂载网络文件系统),登录后进入虚拟文本终端模式 运行级4:系统未使用,保留 运行级5:X11控制台,登录后进入图形界面模式 运行级6:系统正常关闭并重启(默认运行级别不能设为6,否则不能正常启动 ) *1. 在目录/etc/rc.d/init.d下有许多服务器脚本程序,一般称为服务(service) 2 .在/etc/rc.d下有7个名为rcN.d的目录,对应系统的7个运行级别 3 . rcN.d目录下都是一些符号链接文件,这些链接文件都指向init.d目录下的service脚本文件,命名规则为K+nn+服务名或S+nn+服务名,其中nn为两位数字。 4 .系统会根据指定的运行级别进入对应的rcN.d目录,并按照文件名顺序检索目录下的链接文件 对于以K开头的文件,系统将终止对应的服务 对于以S开头的文件,系统将启动对应的服务 5 .查看运行级别用:runlevel 6 .进入其它运行级别用:init N 7 .另外init 0为关机,init 6为重启系统 */etc/rc.d目录说明 init.d目录,存放服务启动的脚本 rc 文件,调用相应级别中运行目录的程序 rc n (1—6),存放每个运行级别中要运行的程序(k*:关闭程序,s*:启动服务),符号链接到init.d下文件。 rc.sysinit ,完成系统初始化 rc.local,存放系统启动时的程序 7.运行SHELL程序
*用户管理——用户数据文件 传统上,名字与ID的对应等用户信息保存在系统数据文件中 /etc/passwd:用户信息 /etc/shadow:口令信息 /etc/group:组信息 帐号和口令信息分开保存以提高安全性 1./etc/passwd 字段1:用户名。 字段2:密码(实际保存在shadow中) 字段3:UID(用户标识) 字段4:GID(组标识) 字段5:用户全名或本地帐号 字段6:用户目录 字段7:登录使用的Shell 2./etc/shadow 字段1:用户名 字段2:加密后的密码 (带!表示用户不能登录) 字段3:上次修改密码的日期 (从1970年1月1日算起) 字段4:密码不可被变更的天数 字段5:密码需要被重新变更的天数(99999表示不需要变更) 字段6:密码变更前提前几天警告 字段7:帐号失效日期 字段8:帐号取消日期 字段9:保留条目,目前没用 3./etc/group 字段1:组名; 字段2:组口令占位符; 类似的,有一个gshadow文件 很少使用组口令 字段3:组ID(GID)号; 字段4:成员列表,用逗号分开(不能加空格)。 *用户管理——相关命令 1.添加用户——useradd useradd [options] LOGIN LOGIN为要添加的用户的登录名字 -c COMMENT:注释 -d HOME_DIR:用户的HOME目录 -e EXPIRE_DATE:帐号过期日期 -g GROUP:用户的主组 -G GROUPS:用户的附加组 -s SHELL:用户的缺省Shell -u UID:用户的UID;一般自动生成 2.修改用户信息——usermod usermod [options] LOGIN LOGIN为要修改的用户的登录名字 -c COMMENT:注释 -d HOME_DIR:用户的HOME目录 -e EXPIRE_DATE:帐号过期日期 -g GROUP:用户的主组 -G GROUPS:用户的附加组 -L:锁定用户的口令。在加密口令前添加一个“!”,从而使得没有口令能够匹配 -U:解锁用户的口令 3.删除用户——userdel userdel [options] LOGIN LOGIN为要删除的用户的登录名字 -f:强制删除,即使用户仍有登录 -r:删除用户的HOME目录和邮件目录 注意,如果不加参数-r,userdel将保留用户的主目录,只删除其他的几项内容 4.修改用户口令 passwd [options] [username] 默认修改本用户的口令,root可修改其它用户的口令 -l:锁定用户口令 -u:解锁用户口令 -d:删除用户口令 -n:口令最短有效天数 -x:口令最多有效天数 -w:口令过期提前警告天数 -i:口令过期后禁止用户的间隔天数 5.显示用户信息 id [username] 显示username的用户和组信息 默认显示当前用户信息 whoami 显示当前用户的用户名 groups 显示用户所处的组列表 su 获得其他用户的权限(需要授权)
|