.deb 패키지를 사용하여 사용자의 홈 디렉터리에 콘텐츠를 배치합니다.

.deb 패키지를 사용하여 사용자의 홈 디렉터리에 콘텐츠를 배치합니다.

.deb 설치 프로그램을 만들고 있는데 사용자의 홈 디렉터리에 일부 파일을 저장하고 싶지만 사용자 이름을 하드코딩할 수 없습니다. 파일 및 폴더를 배치할 수 있는 파일 시스템의 다른 위치나 폴더를 거기에 배치하는 방법을 아는 사람이 있습니까? 이 작업을 수행하기 위해 postinst 스크립트를 사용하고 싶지 않습니다.

답변1

패키지와 함께 홈 디렉터리에 파일을 설치해서는 안 됩니다.

/etc/skel대신, 패키지 설치 후 생성된 새 사용자가 새로 생성된 홈 디렉터리에 이러한 파일을 복사하도록 기본 구성 파일을 설치할 수 있습니다 . 그러나 기존 사용자는 이러한 새 파일을 얻을 수 없습니다. 애플리케이션이 처음 실행될 때 사용자의 홈 디렉터리에 구성 파일을 생성할 수 있습니다.

모든 사람(또는 특정 사람)의 홈 디렉토리에 파일을 추가하려는 경우 실제로 원하는 것은구성 관리 시스템. 패키지를 설치하는 것은 잘못된 접근 방식입니다.

답변2

~는 사용자가 소유한 사용자 이름에 대한 사용자 폴더를 나타냅니다.

하지만 대신 사용하는 것이 좋습니다. /tmp사용할 이유가 없습니다 ~.

답변3

루트 사용자로 실행해야 하는 deb 패키지를 설치합니다. (에 설명되어 있음)을
사용하여SUDO_USER만수도)

따라서 올바른 사용자 홈 디렉토리를 얻으려면 다음을 사용하십시오.

USER_HOME_DIR=$(getent passwd $SUDO_USER | cut -d: -f6)
echo "User Home Dir: $USER_HOME_DIR"

터미널에서 테스트해 보세요.

sudo bash -c 'echo $(getent passwd $SUDO_USER | cut -d: -f6)'

관련 정보