如何在只读文件系统中创建新用户?

如何在只读文件系统中创建新用户?

我正在尝试在 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;所以这对我们来说不是一个选择。

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/filesystems/overlayfs.txt

另一种方法是将 /etc/libuser.conf 中影子和用户文件的默认路径更改为读/写目录而不是 /etc 并将文件复制到那里。

因此,所有更改和重命名都在读/写目录中完成,并且该路径作为挂载覆盖命令的上层目录给出。

mount -t overlay overlay -o lowerdir=/etc,upperdir=/data/etc,workdir=/data/overlayfs_workdir  /etc

相关内容