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