usermod가 홈 디렉토리를 변경하려면 루트 권한이 필요한 이유는 무엇입니까?

usermod가 홈 디렉토리를 변경하려면 루트 권한이 필요한 이유는 무엇입니까?

홈디렉토리를 이동하고 싶습니다. 이전 홈과 새 홈 모두에 대한 읽기, 쓰기 및 실행 권한이 있습니다.내 집이 어디에 있기를 원하는지 Linux에 말할 수 없습니까?

usermod -m -d /newhome/username username가능하다고 생각 하지만 루트 액세스가 필요합니다. 다른 설정의 경우 이를 수행하는 기능이 있습니다. 예를 들어, chshsetuid 플래그를 사용하면 가 수정됩니다 /etc/passwd. chhome사용자가 홈 디렉토리 설정을 변경할 수 있도록 하는 것이 타당하지 않습니까?

제공하지 않는 데에는 타당한 이유가 있을 것 같은데, 아쉽네요. 어떤 아이디어가 있나요?

답변1

첫째, 변경하려는 홈 디렉토리의 사용자로 현재 로그인되어 있는 동안에는 이 변경을 수행할 수 없습니다. 동일한 사용자 이름으로 실행 중인 다른 프로세스가 있으면 usermod가 실패하기 때문입니다. 루트 권한이 있는 컴퓨터의 다른 계정을 통해 홈 디렉토리를 변경하는 방법에는 여러 가지가 있습니다. 이러한 변경 사항을 즉시 수행하면 Linux에 새 디렉터리가 어디에 있는지 알려주는 데 필요한 모든 파일을 편집하지 않고 bash와 같은 작업을 망칠 수도 있습니다.

이는 또한 사용자가 홈 디렉터리를 원하는 대로 임의로 변경하고 그 과정에서 파일이나 계정에 대한 액세스 권한이 영구적으로 손실되는 것을 방지하는 기능일 수도 있습니다.

관련 정보