読み取り専用ファイルシステムで新しいユーザーを作成するには?

読み取り専用ファイルシステムで新しいユーザーを作成するには?

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/shmパーティションを使用できます。mount -o 再マウント、サイズ=8G /dev/shm

メモリに書き込み、通常のパーティションとして使用できます。

詳細については、次のサイトにアクセスしてください::https://www.cyberciti.biz/tips/what-is-devshm-and-its-practical-usage.html

答え2

問題は、ファイルシステムの上書きがファイルの名前変更をサポートしていないことです。

この機能を有効にして 4.10 以降のカーネルバージョンで動作する CONFIG_OVERLAY_FS_REDIRECT_DIR カーネル構成がありますが、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 overrideコマンドの親ディレクトリとして提供されます。

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

関連情報