읽기 전용 파일 시스템에서 새 사용자를 생성하는 방법은 무엇입니까?

읽기 전용 파일 시스템에서 새 사용자를 생성하는 방법은 무엇입니까?

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

관련 정보