설치 중 /home의 디렉터리에 따라 사용자를 설정합니다.

설치 중 /home의 디렉터리에 따라 사용자를 설정합니다.

/home이전 파티션을 보고 해당 파티션의 루트에 있는 디렉터리를 기반으로 사용자를 설정하는 Gnu/Linux 설치 프로그램이 있습니까 ?

따라서 새로운 Gnu/Linux를 설치하고 이전 버전을 유지한다면 /home파티션 /home은 다양한 사용자와 그룹이 소유한 파일로 채워질 것입니다. 또한 파일이 /home올바른 소유권을 갖도록 이전 시스템의 사용자와 일치해야 하는 사용자 수를 설정해야 합니다 . 파티션의 루트 디렉터리는 /home각 사용자에게 해당 사용자와 해당 기본 그룹이 소유한 디렉터리를 제공합니다.

따라서 디렉토리를 스캔하고 발견된 각 디렉토리에 대해 사용자/기본 그룹을 생성하는 것이 가능해야 합니다.

  • 이미 이 작업을 수행할 수 있는 도구가 있나요?
  • 설치된 Gnu/Linux에서 사용됩니까?
  • 데비안이 이런 일을 합니까?

(새 데비안을 설치하려고 합니다.)

답변1

이를 수행할 수 있는 스크립트는 없지만 UNIX/Linux 셸 자체는 원하는 것 중 적어도 일부를 관리하기 위해 여러 도구를 함께 묶을 가능성이 높습니다.

#!/bin/bash
for homedir in /home/*
do
    user="${homedir##*/}"
    uid="$(stat -c %u "$homedir")"
    gid="$(stat -c %g "$homedir")"

    groupadd --gid "$gid" "$user"
    useradd --gid "$gid" --uid "$uid" --shell /bin/bash --home-dir "$homedir" --no-create-home "$user"
done

오류 검사는 없지만 대부분의 경우 안전하게 groupadd실패 합니다 useradd. echo실제 환경에서 실행하기 전에 어떤 일이 발생하는지 확인하려면 두 명령 앞에 (예를 들어)를 붙입니다 . 또한 모든 것이 잘못되었을 경우 사용자 데이터베이스를 안전하게 원래 값으로 복원하고 다시 시도할 수 있도록 , /etc/passwd, /etc/shadow, 파일의 복사본을 미리 저장해 두는 것이 좋습니다 /etc/group./etc/gshadow

답변2

이전 /home 파티션을 보고 해당 파티션의 루트에 있는 디렉터리를 기반으로 사용자를 설정하는 Gnu/Linux 설치 프로그램이 있습니까?

예, 아니오. 별도의 파티션에 있는 경우 /home모든 배포판에서 사용할 수 있어야 합니다. 그러나 각 사용자의 UID 및 GID가 /etc/passwd, 및 에서 일치하는지 확인해야 합니다 /etc/group.

따라서 새 Gnu/Linux를 설치하고 이전 /home을 유지하면 /home 파티션은 다양한 사용자 및 그룹이 소유한 파일로 채워질 것입니다. 또한 /home의 파일이 올바른 소유권을 갖도록 이전 시스템의 사용자와 일치해야 하는 사용자 수를 설정해야 합니다. /home 파티션의 루트에는 각 사용자와 해당 기본 그룹에 대한 디렉터리가 있습니다.

기본적으로 그렇습니다. 모든 사용자 및 그룹 에서 관련 구성 파일을 편집 /etc하거나 다시 생성한 다음 chown해당 권한을 사용하여 이전 디렉터리의 파일을 복구할 수 있습니다 /home.

따라서 디렉토리를 스캔하고 발견된 각 디렉토리에 대해 사용자/기본 그룹을 생성하는 것이 가능해야 합니다.

이 작업을 자동으로 수행할 수 있는 도구가 있는지 확실하지 않지만 다음은 도움이 될 수 있는 몇 가지 명령입니다.

ls -n /old_home
total 8
drwxr-xr-x 32 1000 1000 4096 Jul  5 18:26 old_user

chown -R new_user:new_group /home/old_user

이미 이 작업을 수행할 수 있는 도구가 있나요?

들어본 적도 없습니다.

설치된 Gnu/Linux에서 사용됩니까?

아니요.

데비안이 이런 일을 합니까?

아니요.

(새 데비안을 설치하려고 합니다.)

좋아요!

답변3

업데이트하는 경우 기존 사용자 및 그룹을 존중해야 합니다. 의심스러운 경우 /etc안전한 위치에 복사하고 설치한 후 사용자가 백업을 종료하도록 하십시오.

배포마다 다른 UID 규칙을 사용할 수 있으며 GID 할당도 다를 수 있습니다.

만들다틀림없이로컬 구성을 저장할 수 있습니다. 한번 덮으면 사라집니다. 특히, 나중에 필요한 경우 복사할 수 있도록 설치된 패키지 목록을 저장하십시오.

관련 정보