如何在yocto中添加用户并重新设置root用户?

2023-12-08

我喜欢为 yocto 项目的内置用户做一些事情:

1.) 将 root 的密码设置为“abc”

2.) 将 ssh 登录形式 /bin/sh 的 root shell 设置为 /bin/bash

3.) 添加用户“customUser”,密码为“xyz”

认为一个简单的食谱就可以做到这一点。到目前为止我尝试过@myUser.bb:

SUMMARY = "admin + user"
SECTION = "USR"
LICENSE = "CLOSED"

inherit extrausers useradd

# how to
# pw: abc
# at bash: usermod -p $(openssl passwd abc) root
# get a salted hash: openssl passwd abc
# one possible result: 1Cw5PHLy76ps2
# the command now looks: usermod -p 1Cw5PHLy76ps2 root

# set image root password
EXTRA_USERS_PARAMS = "usermod -p 1Cw5PHLy76ps2 root;"

USERADD_PACKAGES = "${PN}"

# password
# "xyz"
# openssl passwd xyz
# result: y5UyLBO4GNAwc

USERADD_PARAM_${PN} = "-u 1200 -d /home/customUser -r -s /bin/bash -p y5UyLBO4GNAwc customUser"

do_install_append () {
    install -d -m 755 ${D}${datadir}/customUser

    # The new users and groups are created before the do_install
    # step, so you are now free to make use of them:
    chown -R customUser ${D}${datadir}/customUser

    # groups
    # chgrp -R group1 ${D}${datadir}/customUser
}

FILES_${PN} = "${datadir}/*"

#ALLOW_EMPTY_${PN} = "1"

知道如何完成这件事吗?


您可以使用EXTRA_USERS_PARAMS全局在你的主食谱中。

inherit extrausers
EXTRA_USERS_PARAMS = " useradd customUser1; \
                       useradd customUser2; \
                       usermod  -p 'Password_1' customUser1; \
                       usermod  -p 'Password_2' customUser2; \
                       usermod  -a -G sudo customUser1; \
                       usermod  -a -G sudo customUser2;"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在yocto中添加用户并重新设置root用户? 的相关文章

  • Raspberry 交叉编译 - 执行程序以“分段错误”结束

    我有一个自己编写的程序 我想从我的 x86 机器上为 Raspberry Pi 构建它 我正在使用 eclipse 生成的 makefile 并且无法更改此内容 我已经阅读了 CC for raspi 的教程 Hackaday 链接 htt
  • 无法在 64 位 Linux 上从汇编 (yasm) 代码调用 C 标准库函数

    我有一个函数foo以汇编语言编写 并在 Linux Ubuntu 64 位上使用 yasm 和 GCC 编译 它只是使用以下命令将消息打印到标准输出puts 如下所示 bits 64 extern puts global foo secti
  • linux下写入后崩溃

    如果我使用 write 将一些数据写入磁盘上的文件会发生什么 但我的应用程序在刷新之前崩溃了 如果没有系统故障 是否可以保证我的数据最终会刷新到磁盘 如果您正在使用write 并不是fwrite or std ostream write 那
  • pprof 和 ps 之间的内存使用差异

    我一直在尝试分析用 cobra 构建的 cli 工具的堆使用情况 这pprof工具显示如下 Flat Flat Sum Cum Cum Name Inlined 1 58GB 49 98 49 98 1 58GB 49 98 os Read
  • 用于编辑 /etc/sudoers 文件的正则表达式模式

    我想删除 etc sudoers 文件中的 uncommnet 轮组 那么我应该使用什么正则表达式模式 cat etc sudoers Allows members of the sys group to run networking so
  • 如何从 Linux 内核模块获取使用计数?

    我对正在开发的内核模块的使用计数有疑问 我想打印它以进行调试 如何从模块代码中获取它 有问题的内核版本 Linux 2 6 32 module refcount http lxr linux no linux v2 6 34 1 inclu
  • 如何设置Java线程的CPU核心亲和力?

    我搜索了以前关于类似主题的帖子 但找不到合适的答案 因此提出这个问题 非常感谢您帮助回答 我知道在 Linux 中通过任务集命令设置进程与特定 CPU 核心的关联性 但我想设置 Java 线程与特定 cpu 核心的亲和力 以便属于同一进程的
  • 无需 root 访问权限即可安装 zsh? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 有可能 以及如何 我确实需要在几台具有 ssh 访问权限 但没有 root 访问权限 的远程计算机上使用此功能 下载 zsh wget O zsh t
  • 计算 TCP 重传次数

    我想知道在LINUX中是否有一种方法可以计算一个流中发生的TCP重传的次数 无论是在客户端还是服务器端 好像netstat s解决了我的目的
  • Python将文件从Linux复制到WIndows

    我正在构建一个网站 该网站有一个表单 可以捕获用户数据并在用户数据上运行一些cgi cgi 的第一步是需要将文件从 Linux Web 服务器复制到 Windows 计算机 服务器将使用 Active Directory 角色帐户作为复制凭
  • 如何在perl中使用O_ASYNC和fcntl?

    我想使用 O ASYNC 选项 当管道可以读取时 SIGIO 的处理程序将运行 但以下代码不起作用 任何人都可以帮助我吗 bin env perl use Fcntl SIG IO sub print catch SIGIO n my fl
  • 如何在文件夹中的 xml 文件中 grep 一个单词

    我知道我可以使用 grep 在这样的文件夹中的所有文件中查找单词 grep rn core 但我当前的目录有很多子目录 我只想搜索当前目录及其所有子目录中存在的所有 xml 文件 我怎样才能做到这一点 我试过这个 grep rn core
  • 如何在特定的Java版本上运行应用程序?

    如何运行具有特定 Java 版本的应用程序 我安装了三个 Java 版本 myuser mysystem sudo update alternatives config java There are 3 choices for the al
  • 了解 Linux oom-killer 日志

    我的应用程序被 oom killer 杀死了 它是在实时 USB 上运行的 Ubuntu 11 10 无需交换 PC 具有 1 Gig 的 RAM 唯一运行的应用程序 除了所有内置的 Ubuntu 东西 是我的程序 flasherav 请注
  • 如何在linux中使用iptables将http和https流量转发到透明代理[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 这个问题似乎不是关于主要由程序员使用的特定编程问题 软件算法或软件工具 help on topic 如果您认为该问题与主题相关另一个 St
  • 套接字发送调用被阻塞很长时间

    我每 10 秒在套接字上发送 2 个字节的应用程序数据 阻塞 但发送调用在下面的最后一个实例中被阻塞超过 40 秒 2012 06 13 12 02 46 653417 信息 发送前 2012 06 13 12 02 46 653457 信
  • 为什么 call_usermodehelper 大多数时候都会失败?

    从内核模块中 我尝试使用 call usermodehelper 函数来执行可执行文件 sha1 该可执行文件将文件作为参数并将文件的 SHA1 哈希和写入另一个文件 名为输出 可执行文件完美运行 int result 1 name hom
  • aarch64 Linux 硬浮点或软浮点

    linux系统有arm64 有arm架构armv8 a 如何知道 Debian 运行的是硬浮动还是软浮动 符合 AAPCS64 GNU GCC for armv8仅提供硬浮动aarch64工具链 这与 armv7 a 的 GCC 不同 后者
  • 在用户程序中使用 或在驱动程序模块代码中使用 ...这有关系吗?

    我正在开发一个设备驱动程序模块和关联的用户库来处理ioctl 来电 该库获取相关信息并将其放入一个结构中 该结构被传递到驱动程序模块中并在那里解压 然后进行处理 我省略了很多步骤 但这就是总体思路 一些数据通过结构体传递ioctl is u
  • 如何回忆上一个 bash 命令的参数?

    Bash 有没有办法回忆上一个命令的参数 我通常这样做vi file c其次是gcc file c Bash 有没有办法回忆上一个命令的参数 您可以使用 or 调用上一个命令的最后一个参数 Also Alt can be used to r

随机推荐

  • 编译器错误 CS0019:比较两个整数

    在 C 中 为什么第一个 if 语句会给出编译错误 而第二个则不会 有人可以解释一下吗 1 if num 1 1 Console WriteLine Test 这给了我 错误CS0019运算符 不能应用于 int 和 bool 类型的操作数
  • 使用 Achartengine 可以实现多个堆叠条形图吗?

    我尝试将另一组值添加到演示示例中使用 achartengine 堆积条形图 但是我引入的新值没有出现在图表上 堆叠条是否仅限于两个条 public Intent getIntent Context context String titles
  • 用于在 Int、Double 和 Integer 类型实例之间进行选择的 Haskell 规则

    我想知道在 GHCi 中评估表达式时 Haskell 使用什么规则来始终决定 Integer 实例而不是其他实例1 2 import Debug Trace class MyFuns a where a a a instance MyFun
  • 静态函数调用之前的泛型尖括号[重复]

    这个问题在这里已经有答案了 我一直使用泛型并且总是看到像这样使用尖括号 Class
  • 从 App.OnStartup 调用异步 Web API 方法

    我将 App OnStartup 更改为异步 以便我可以在 Web api 上调用异步方法 但现在我的应用程序不显示其窗口 我在这里做错了什么 protected override async void OnStartup StartupE
  • ProcessBuilder 无法运行带参数的 python 脚本

    好的 我有一个通过 ProcessBuilder 运行的 python 脚本 一切正常 我遇到的问题是每当我将参数传递给 python 脚本时 python 脚本都会以unrecognized argumets 但如果我采取确切的命令并将其
  • 运行 Jar 应用程序时 Java Web Start NumberFormatException

    在尝试使用 JWS JNLP 启动来运行 Jar 应用程序时 它一直给我这个错误 甚至找不到错误在哪里 任何指示都会有所帮助 如果有人可以告诉我这个错误的潜在位置在哪里 我可以在这里找到该代码 java lang NumberFormatE
  • 更改窗口标题中的光标

    我有一个 WinForm 现在我需要在光标位于窗口标题部分时更改光标 我有一些代码正在运行 它有两个问题 当光标位于边缘时 它还会更改光标 应显示正常的调整大小光标 我发现我需要这样的东西WM NCHITTEST HTTOP 但是我该如何结
  • 在Java中,如何判断线程是否正在运行?

    如何判断一个线程是否正在运行 Thread isAlive
  • 将文件放在 HDFS 上,名称中包含空格

    我有一个名为file name 1 zip 里面有空格和括号 我想把这个文件放在HDFS上 但每次我尝试把它通过hadoop fs put 我得到一个例外 我什至尝试在文件周围添加引号 甚至尝试转义空格和括号 但它不起作用 hduser l
  • 如何将一个 ArrayList 的内容复制到另一个 ArrayList 中?

    我有一些数据结构 我想使用一个作为临时数据结构 另一个作为非临时数据结构 ArrayList myObject new ArrayList ArrayList myTempObject new ArrayList fill myTempOb
  • Firefox 中的 Firefox 5 调度事件

    我有一些使用的代码dispatchEvent模拟点击 同样的代码在 Chrome 中运行良好 但在 Firefox 中不起作用 这是代码 var evt document createEvent MouseEvents evt initEv
  • 在 Linux 上连接两个文件

    我有两个文件 我想加入他们 cat t1 1 1 2 2 2 2 cat t2 1 2 1 我想要下面的输出 cat joind txt 1 1 2 2 2 2 1 1 2 但是当我使用join命令 第三行不会出现在输出中 一个简单的awk
  • Netty 与 Apache MINA

    它们都提供大致相同的功能 我应该选择哪一款来开发我的高性能 TCP 服务器 有什么优点和缺点 参考链接 阿帕奇米娜 source Netty source 虽然 MINA 和 Netty 有着相似的目标 但它们在实践中却有很大不同 您应该仔
  • 更大的区域可悬停多个小圆圈

    我目前有一张地图 在这张地图上 我用以下命令创建了几个小圆圈 点border radius 将鼠标悬停在一个点上会对该点和其他内容进行动画处理 我的问题 现在我必须非常精确地悬停一个点 因为它太小了 我想知道是否有可能创建更大的隐形 hit
  • 从代码创建 Drupal 分类术语?

    在 Drupal 中从代码创建分类术语的函数是什么 为什么不检查 API 文档呢 答案就在那里 http api drupal org api function taxonomy save term 6
  • 是否有编译器忽略有关默认内联函数的 C++ 标准?

    C ISO 标准规定 A function defined within a class definition is an inline function 是否有编译器忽略此规则 请不要将内联误认为是 inlineD 我的问题是是否有一个编
  • LDR - 文字池 - ARM

    我知道如何使用 ARM 中的 LDR 指令加载立即值 例如 LDR R0 0x0804c088该指令加载值 0x0804c088 到寄存器r0 当我尝试访问它存储在使用的地址时x x r0 using gdb 我收到消息 Cannot ac
  • 再次关于 git 行结尾

    我们所有的开发人员都在 Windows 机器上工作 并在 Linux 上完成构建 为了符合true way我们决定规范行尾并遵循场景在 GitHub 上描述 后来发现 有时当从一个分支切换到另一个分支时 某些文件被标记为已更改 但没有检测到
  • 如何在yocto中添加用户并重新设置root用户?

    我喜欢为 yocto 项目的内置用户做一些事情 1 将 root 的密码设置为 abc 2 将 ssh 登录形式 bin sh 的 root shell 设置为 bin bash 3 添加用户 customUser 密码为 xyz 认为一个