我正在尝试在 Linux 文件系统中创建一个新用户。文件系统是只读的。我不允许以读/写权限重新安装。
我通过使用以下命令将只读分区安装到读/写分区来尝试overlayfs
mount -t overlay overlay -o lowerdir=/etc,upperdir=/data/etc,workdir=/data/overlayfs_workdir /etc
但当我尝试创建新用户时出现以下错误
root@a1:~# luseradd testuser
Error creating group `testuser': error creating `/etc/group-': Text file busy
关于如何修复此错误有什么想法吗?
答案1
如果您无权写入,我认为您无法创建用户。
但是,如果您想临时访问系统,您可以像这样使用分区 /dev/shmmount -o 重新挂载,大小=8G /dev/shm
它将允许您在内存上写入并将其用作普通分区
更多信息请访问: :https://www.cyberciti.biz/tips/what-is-devshm-and-its-practical-usage.html
答案2
问题是覆盖文件系统不支持重命名文件。
有一个 CONFIG_OVERLAY_FS_REDIRECT_DIR 内核配置可以启用此功能,并且适用于 4.10 以上的内核版本,但我们的 Linux 内核版本是 3.9;所以这对我们来说不是一个选择。
另一种方法是将 /etc/libuser.conf 中影子和用户文件的默认路径更改为读/写目录而不是 /etc 并将文件复制到那里。
因此,所有更改和重命名都在读/写目录中完成,并且该路径作为挂载覆盖命令的上层目录给出。
mount -t overlay overlay -o lowerdir=/etc,upperdir=/data/etc,workdir=/data/overlayfs_workdir /etc