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 なので、これはオプションではありません。
別の方法は、/etc/libuser.confにあるシャドウとユーザーファイルのデフォルトパスを/ etcの代わりに読み取り/書き込みディレクトリに変更し、そこにファイルをコピーすることです。
したがって、すべての変更と名前の変更は読み取り/書き込みディレクトリで行われ、そのパスはmount overrideコマンドの親ディレクトリとして提供されます。
mount -t overlay overlay -o lowerdir=/etc,upperdir=/data/etc,workdir=/data/overlayfs_workdir /etc