嵌入式Linux Busybox创建用户后无法登录的解决方案

2023-05-16

先用addgroup命令添加一个mysql组:addgroup -S mysql
再用adduser命令添加一个mysql用户:adduser -S -G mysql -s /bin/sh mysql
(-S表示组号或用户号从100开始,不加-S那就从1000开始)
设置密码:passwd mysql
完了之后,su mysql登录,结果提示:
[root@exynos4412 /]# su mysql
su: can't execute '/bin/sh': Permission denied
在电脑上用telnet远程连接登录:telnet 192.168.0.4
结果窗口一闪就消失了:

exynos4412 login: mysql
Password:
login: can't change directory to '/home/mysql'
login: can't change directory to '/': Permission denied


Connection to host lost.

在串口里面一看,/home/mysql的所属用户和组都是mysql,/bin/sh也有读写执行权限,有权限啊,到底是怎么回事?

[root@exynos4412 /]# ls -l /home
total 8
drwxr-sr-x    2 daemon   daemon        4096 Sep 15  2021 daemon
drwxr-sr-x    2 mysql    mysql         4096 Jan  1 00:04 mysql
[root@exynos4412 /]# ls -l /bin/sh
lrwxrwxrwx    1 root     root             7 Aug 27  2021 /bin/sh -> busybox

再看看根目录的权限,可根目录的权限要怎么看呢?
“ls -l /”,看不了啊,看到的都是根目录里面的目录和文件的权限。
“ls -al /”,显示隐藏文件,再看看呢:

[root@exynos4412 /]# ls -al
total 60
drwx------   17 daemon   daemon        4096 Sep 15  2021 .
drwx------   17 daemon   daemon        4096 Sep 15  2021 ..
drwx------    4 daemon   daemon        4096 Aug 28  2021 .Trash-1000
-rw-------    1 root     root          1163 Jan  1 00:02 .ash_history
-rw-------    1 root     root          1140 Sep 15  2021 .bash_history
drwxr-xr-x    2 root     root          4096 Sep 15  2021 bin
drwxr-xr-x    7 root     root         14120 Jan  1 00:00 dev
drwxr-xr-x    4 root     root          4096 Jan  1 00:12 etc
drwxr-xr-x    4 root     root          4096 Jan  1 00:12 home
drwxr-xr-x    3 root     root          4096 Sep  5  2021 lib
lrwxrwxrwx    1 root     root            11 Aug 27  2021 linuxrc -> bin/busybox
drwxr-xr-x    3 root     root          4096 Jan  1  2000 mnt
drwxr-xr-x    2 root     root          4096 Sep 15  2021 opt
dr-xr-xr-x   93 root     root             0 Jan  1  1970 proc
drwxr-sr-x   32 root     root          4096 Sep 15  2021 root
drwxr-xr-x    2 root     root          4096 Aug 27  2021 sbin
dr-xr-xr-x   12 root     root             0 Jan  1 00:00 sys
drwxrwxrwt    2 root     root            40 Jan  1 00:00 tmp
drwxrwxr-x    8 root     root          4096 Sep 15  2021 usr
drwxrwxr-x    4 root     root          4096 Sep 13  2021 var

那个.和..怎么都是daemon用户,而且权限是700?
我们再用“stat /”命令看看:

[root@exynos4412 /]# stat /
  File: /
  Size: 4096            Blocks: 8          IO Block: 4096   directory
Device: b332h/45874d    Inode: 2           Links: 17
Access: (0700/drwx------)  Uid: ( 1000/  daemon)   Gid: ( 1000/  daemon)
Access: 2021-09-15 07:45:35.000000000
Modify: 2021-09-15 06:50:21.000000000
Change: 2000-01-01 00:17:36.000000000

果然问题出在这里,根目录的所属用户和组都是1000号daemon,而权限是0700,其他用户(除了root)根本无权限访问!
找到问题了,我们就好办了。
修改权限:chmod 755 /
修改所属用户和组:chown root:root /
好了,问题解决了,现在su mysql和telnet都能登录mysql账户了。

[root@exynos4412 /]# ls -al
total 60
drwxr-xr-x   17 root     root          4096 Sep 15  2021 .
drwxr-xr-x   17 root     root          4096 Sep 15  2021 ..
(以下省略)

为什么根目录的默认所属用户和组会是1000号,权限默认是700呢?
这是因为,我们在给SD卡分区的时候,是在电脑上的Linux虚拟机里面操作的,当时我们登录的不是root账户,而是自己的账户,账户号刚好是1000。分完区,SD卡插到板子上启动,挂载SD卡的ext4分区为根文件系统,根目录的权限用ls -l命令又看不到,所以就导致了这种错误。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

嵌入式Linux Busybox创建用户后无法登录的解决方案 的相关文章

  • Linux 文件锁

    在文已经共享的情况下如何操作 xff0c 也就是当多个进程同时操作同一个文件时 xff0c 我们怎么保证文件数据的正确性 linux通常采用的方法是文件上锁 xff0c 来避免共享资源的产生竞争状态 文件锁包括建议性锁和强制性的锁 建议性的
  • 基于qt的多线程视频采集与传输

    将服务端的设备虚拟化 xff0c 供客户端调用 使用TCP IP协议传输 xff0c 使用V4L2实现视频采集 只是实现了简单的功能 资源占用大 xff0c 线程的终结还有问题 xff0c 数据大 xff0c 不知道用什么技术压缩图片 这是
  • Qt元对象系统和模板机制的冲突

    Qt元对象系统是对为了Qt对象类型和信号与槽机制引进的 xff0c Qt的工具包中有一个元对象编译器 xff0c 它是为支持Qt元对象系统而产生一些额外C 43 43 代码 xff0c 这些编码会和源码一起被标准的C 43 43 编译器编译
  • qwt学习一

    学习这个东西方向对了 xff0c 就对了一半 今天我开始学习基于qt库的一个开源的绘制2维的统计图的库 qwt 我们画东西首先要有一个容器 xff0c 不然都是徒劳 xff0c 今天我们就介绍这个类 QwtPlot 它继承自QFrame和Q
  • vs自动对齐快捷键

    vs里的行间距和字间距不是c语言的格式解决办法 xff1a 自动对齐 xff1a 方法一 xff08 部分对齐 xff09 xff1a 用鼠标选中要对齐的区域 xff0c 按Crtl 43 K 43 F 方法二 xff08 全部对齐 xff
  • Ubuntu1804编译QWebEngine

    编译环境 Ubuntu1804 43 Qt5 13 2在终端命令框转到qtwebengine源码路径 cd opt Qt5 13 2 5 13 2 Src qtwebengine 执行qmake xff0c 并增加编译参数 opt Qt5
  • 【CSharp + JSON】序列化与反序列化基类集合中的子类对象

    1 测试数据结构 span class token keyword public span span class token keyword interface span span class token class name IPerso
  • iOS开发 富文本加载html代码 (swift版本)UITextView 设置不允许选中,允许链接跳转

    记录iOS 添加 支持html 富文本展示 xff0c 针对隐私政策更新弹框效果展示 xff1a ps 修改 link 属性的颜色 textView linkTextAttributes 61 NSAttributedString Key
  • Arrays用法总结

    数组转字符串 span class hljs keyword int span span class hljs built in array span 61 span class hljs keyword new span span cla
  • 在anaconda中为jupyter安装扩展Nbextensions插件

    1 在开始菜单中 xff0c 以管理员身份打开Anaconda Prompt xff0c 否则安装的时候会提示没有写权限 2 执行安装命令 xff0c 提示是否继续的时候 xff0c 输入y conda install c conda fo
  • ElasticSearch系列(四)--springboot使用ElasticsearchRestTemplate整合ElasticSearch,实现文本高亮检索

    前言 ElasticsearchRestTemplate是spring data elasticsearch项目中的一个类 xff0c 和其他spring项目中的template类似 网上的学习资料大都是基于ElasticsearchTem
  • Activemq 的topic总结

    一 activemq 使用队列 spring boot集成ActiveMQ 简单的队列和 JmsMessagingTemplate 可以参考这个 http blog csdn net zhangjq520 article details 5
  • systemctl服务部署错误:code=exited, status=217/USER

    卸载重装 xff0c 搞定了 xff0c 卸载要彻底 xff0c 参考链接https www cnblogs com nicknailo articles 8563456 html 问题描述 xff1a 在用Linux安装mysql时报错
  • 捕获并打印程序日志信息的方法(Qt)

    工作中为了方便调试 xff0c 常常需要加入一些打印 常用 Qt 中的 QDebug QWarning xff0c C 和 C 43 43 中的 printf cout 等等 xff0c 又或者是三方库提供的标准打印接口 大部分时候 xff
  • 关于华硕X205TA安装Linux操作系统的问题

    便携 廉价 续航长 键盘手感好成为很多人选择华硕这款上网本的最好理由 对于我而言 xff0c Atom Z3735F加上2G内存用来跑跑编辑器 浏览网页 整理文件是完全够用了 由于刚好需要学习学习Linux操作系统 xff0c 我设置好BI
  • 形参与实参

    形参变量 xff1a 形参变量是功能函数里的变量 xff0c 只有在被调用的时候才分配内存单元 xff0c 调用结束后立即释放 所以形参只在函数内部有效 实参变量 xff1a 实参可以是常量 xff0c 变量 xff0c 表达式 xff0c
  • 岁月划过生命线(我的2013-大二.上)

    岁月划过生命线 大二 上 又一次大清早被红马甲查赶出被窝 xff0c 让哥光着屁股就跑到隔壁宿舍去了 xff0c 真心恨死他们 这是一篇最早写于 2013 11 26 日的日志 xff0c 通过后来不断地增删改 xff0c 来总结 xff0
  • 前端与产品经理配合

    产品经理PM职业介绍 如何构建原型图 axure软件
  • 如何分析算法的运行时间(以插入排序为例)

    一个算法在特定输入上的运行时间是指执行的基本操作或步数量 简单来说就是执行每行 xff08 xff09 伪代码所需演的时间 xff08 xff09 接下来看下面这段伪代码 行代码代价次数1for j 61 2 to A lengthn2ke
  • org.mybatis.spring.MyBatisSystemException ResultMap、ResultType、ParameterMap、ParameterType

    报错信息 xff1a org mybatis spring MyBatisSystemException nested exception is org apache ibatis reflection ReflectionExceptio

随机推荐