這是 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
?
編輯:
我還沒有創建 chroot。我只有一個有/bin
、/home
等的目錄。
rsync
該用戶在別人的電腦上用於將備份發送到我的電腦。我不希望他們訪問我電腦上的所有內容。
答案1
chroot 上的 -R 標誌運行 chroot 環境中的所有內容,它表示使用者不存在,因為它正在 /home/user4/etc/ 中尋找可能不存在的 passwd 檔案。
您想要的命令可能是sudo usermod -d /home/user4 user4
更改主目錄。
強制實施沙盒環境,其中使用者將 /home/user4 視為自己的根路徑,不受 passwd 檔案或 usermod 命令管理。
這裡有更多資訊。