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

どこにも答えが見つかりませんでした。どうすればユーザーを に chroot できますか/home/user4?

編集:

/binchroot を作成していません。 、、/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

関連情報