usermod로 chroot를 설정할 때 존재하는 사용자가 존재하지 않습니다.

usermod로 chroot를 설정할 때 존재하는 사용자가 존재하지 않습니다.

이것은 Ubuntu Server 20.04에서 발생합니다. 내 터미널 세션은 다음과 같습니다.

joek@comp1:/home/user4$ sudo usermod -R /home/user4 user4
usermod: user 'user4' does not exist
joek@comp1:/home/user4$ sudo useradd user4
useradd: user 'user4' already exists
joek@comp1:/home/user4$ grep user4 /etc/passwd
user4:1010:1011::/home/user4:/bin/sh
joek@comp1:/home/user4$ grep user4 etc/passwd
user4:1010:1011::/home/user4:/bin/sh

어디에서도 답을 찾을 수 없었습니다. 사용자를 어떻게 루트로 전환할 수 있나요 /home/user4?

편집하다:

나는 chroot를 만들지 않았습니다. , 등이 포함된 디렉토리만 있습니다 /bin./home

사용자는 rsync다른 사람의 컴퓨터에서 내 컴퓨터로 백업을 보내는 데 사용됩니다. 나는 그들이 내 컴퓨터의 모든 것에 접근하는 것을 원하지 않습니다.

답변1

chroot의 -R 플래그는 chroot 환경 내의 모든 것을 실행합니다. 아마도 존재하지 않는 /home/user4/etc/ 내부에서 passwd 파일을 찾고 있기 때문에 사용자가 존재하지 않는다고 말합니다.

원하는 명령은 아마도 sudo usermod -d /home/user4 user4홈 디렉토리를 변경하는 것입니다.

사용자가 자신의 루트 경로로 /home/user4를 보는 샌드박스 환경을 적용하려면 passwd 파일이나 usermod 명령으로 관리되지 않습니다.

여기에 더 많은 정보가 있습니다.

https://help.ubuntu.com/community/BasicChroot

관련 정보