当前位置: 首页 > news >正文

笔记整理—内核!启动!—kernel部分(7)rcs文件和登录部分与密码解析

        该文件的位置在/etc/init.d/rcs,前文说过这个是一个配置文件,最开始的地方首先就是PATH相关的用export导出相关的PATH做环境变量,将可执行路径导为PATH执行时就不用写全路径了,该位置的PATH路径导出了/bin、/sbin、/usr/bin、/usr/sbin一类的路径,作为常见的执行指令的路径,在进入命令行后可以直接使用。

        busybox用硬编码的方式写入了一些PATH(bb_PATH_ROOT_PATH[]ALIGN1)。导出的PATH路径可以通过echo PATH进行查看。

        runlevel=S export runlevel。运行级别(0~6)也可说作是状态,在启动阶段,init runlevel例如:init 0意为关机、init 6意为restart、runlevel S为单用户模式。

        umask 022是一个shell指令,用于设置umask值,用于决定用户创建文件的默认权限。

        mount -a挂载文件系统,-a表示挂载所有能挂载的文件系统,根据fstab进行挂载,起挂载的几乎是虚拟文件系统。

        当一个文件输出为不存在,但实际上是有这个文件时:①去看看权限。②去看看内容(例如文件在windows转linux时的/r/n的换行符不同的问题)。③动态链接库不存在的问题。

        umask值+文件的真实权限=666.如umask=022,则文件的权限=644。 

        mount挂载将虚拟文件挂载到某个文夹,挂载点就是将目标文件系统挂载到某个目录,这个目录就是挂载点。

        /pros目录在服务器中为空,但是在板子上进行内容查看是有东西的,/sys目录也一样,这说明文件系统挂载成功了。

         mdev是udev的简化版本,是linux驱动工作的一个软件,只要用于生成驱动设备文件,生成在/dev下的设备文件。

echo /sbin/mdev >/proc/sys/kernel/hotplug
mdev -s

        hostname是linux下的一个命令,shell指令,可以用于设置系统主机名.

/bin/hostname -F /etc/sysconfig/HOSTNAME (rcs中可进行设置)

        -F是用于指定主机名的配置文件的,该文件放主机名字就行。在不设置hostname的情况下,打印hostname将会是IP地址。

        ifconfig ethx xxx.xxx.xxx.xxx设置网络,默认ip地址是在bootargs中进行的设置(nfsroot)。

        profile文件在/etc/profile是对hostname的完善,这样在命令行就能显示用户名了[@HOSTNAME]#。profile是被busybox(init进程)调用的。

        用户登录界面:用多个小程序实现的大功能,如:inittab。askfirst:-/bin/sh会出现命令行,回车直接进入,所有就先不能去执行/bin/sh程序。

        所有应该在之前添加/bin/login和/sbin/getty用这两去代替/bin/sh,可以将ubuntu的login/getty放进去,是能用的,但密码是加密文件,非明文。

        将/bin/login添加到sysinit,将askfirst代替为::sysinit:bin/login。现将会出现用户界面,但依然无法实现用户登录,因为没有配置passwd和shadow。linux中在pawsswd与shadow文件存放密码,位置在/etc/,password放的是密码设置,shadow放的是密文密码。

        password格式:用户名:口令:用户表示号:组表标识号:注释性描述:目录:登录shell。

        口令段用x或者*代替password和shadow加密文件,直接cp ubuntu的文件进行使用,只保留root用户修改主目录在“/”,与登录的shell(/bin/sh)。

        shadow只需保留root用户,busybox没有普通用户,若是root字段没有密码字段则会直接登录(ubuntu不行)。susybox在登录后可以用passwd root指令设置密码。所以可以想法去通过删除shadow的用户密码字段实现重置密码。

        通过在inittab中,在sysinit段添加tty(串口/dev/xxx)可以消除tty报错。

        getty与上文的十分相似,最常见的不是login而是getty,在busybox中用谁都一样。

        本章结束了,下一章将会对动态链接库移植进行介绍。


http://www.mrgr.cn/news/28076.html

相关文章:

  • 用指针遍历数组
  • Mybatis官方生成器使用示例
  • 路由器基本原理与配置
  • go反射深入学习
  • 《硬件架构的艺术》笔记(二):时钟与复位
  • react 中 useEffect Hook 作用
  • pip安装包、卸载包、更新包命令
  • 8.JMeter+Ant(基于工具的实现接口自动化,命令行方式)
  • CF 231 E Cactus 题解(仙人掌图上找环)
  • C Primer Plus 第5章习题
  • 数据清洗-缺失值填充-K-NN算法(K-Nearest Neighbors, K-NN算法)
  • 尚品汇-秒杀商品存入缓存、Redis发布订阅实现状态位(五十一)
  • 最少逆序对数量+dp
  • 鸿蒙 ArkUI组件二
  • Linux:进程状态和优先级
  • 基于51单片机的220V交流数字电流表proteus仿真
  • 差分进化算法(DE算法)求解实例---旅行商问题 (TSP)
  • 电脑硬盘被BitLocker,忘记秘钥
  • 仿先卜php阴盘奇门排盘的算法简述以及php的代码实现开源支持二开
  • Python进阶————迭代器与生成器
  • 《浔川社团官方联合会入驻 CSDN 公告》
  • java定时任务
  • 共享内存的理解
  • GDB调试
  • 【JAVA】
  • Linux驱动编程 - platform平台设备驱动总线