• 嵌入式设备文件系统构建——增加用户登录功能


    1、修改inittab文件

    #first:run the system script file
    ::sysinit:/etc/init.d/rcS
    
    # 进入命令行
    #::askfirst:-/bin/sh
    
    #添加执行登录验证
    ::sysinit:/bin/login
    
    ::ctrlaltdel:-/sbin/reboot
    #umount all filesystem
    ::shutdown:/bin/umount -a -r
    #restart init process
    ::restart:/sbin/init
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    (1)在inittab文件中,将进入命令行的"bin/sh"注释掉,不要自动进入命令行;
    (2)添加执行"/bin/login"程序,login是busybox支持的登录的命令,添加后会先要求输入用户名和密码才能进入命令行;

    2、添加/etc/passwd文件

    root:x:0:0:root:/root:/bin/sh
    
    • 1

    (1)passwd文件是存放登录用户信息的文件;
    (2)上面的passwd文件设置了名为root的用户,用户的主目录是/root,当用户登录时会自动切换到/root目录,执行的终端是/bin/sh;

    3、添加/etc/shadow文件

    root::19309:0:99999:7:::
    
    • 1

    (1)shadow文件是保存用户的登录密码;
    (2)上面设置root用户的密码是空,也就是不需要密码就可以登录;

    4、给用户设置密码

    在这里插入图片描述在这里插入图片描述

    (1)当按照上面的passwd和shadow文件配置时,第一次用root账户登录时不需要密码的;
    (2)在终端可以用passwd命令给root设置/修改密码;
    (3)设置好密码后,再次登录就需要输入账户和密码;

    5、使用getty做用户登录

    #::sysinit:/bin/login
    s3c2410_serial2::respawn:/sbin/getty -L s3c2410_serial2 115200 vt100 # GENERIC_SERIAL
    
    • 1
    • 2

    (1)使用getty做登录程序和使用login并没有明显区别,passwd和shadow文件的设置是一模一样,两个程序都是集成到busybox里的;
    (2)s3c2410_serial2:指定打印输出串口;
    (3)vt100:终端的输出格式;
    (4)115200 :串口的波特率;

    推荐

    再难的项目都是基础知识的复杂运用,基础是最重要的。给大家推荐一个学校嵌入式知识的网站,博主在大学时候学习嵌入式知识、找工作的时候都在用这个网站,网站里有C语言、Linux等等的笔试题、面试常问问题等等知识,无论是学习基础知识、面试刷题、交流工作经验都是不错的选择。大家一起进步,欢迎留言交流。
    链接:学习神器跳转
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    【矩阵论】4. 矩阵运算——张量积
    C语言每日一题
    汇编语言(王爽)基本指令,寄存器,内存访问部分(chap2,3)小结
    android开源投屏工具scrcpy简介
    debugger调试监听webpack配置文件的代码
    2.5 注释
    多线程学习-线程池
    16.SpringBoot前后端分离项目之简要配置一
    【测试面试】测试开发面试算法高频题,这些题你会多少?
    奶制品数据可视化,去年全国奶制品产量高达3778万吨,同比增长7.1%
  • 原文地址:https://blog.csdn.net/weixin_42031299/article/details/127955473