最近、Raspberry PiにRaspbianをインストールしました。インストールプロセスの一環として、ユーザー名とグループをデフォルト値(pi
)から自分の一意(私たちはmy ownと呼びますuser
)に変更しました。また、ホームディレクトリの移動()を新しいユーザー名()として使用します。新しいユーザーディレクトリ()にログインするのではなく、SSHを使用してログインするとホームディレクトリ()に接続することを除いて、すべてがうまく機能します。なぜこれが起こるのかご存知ですか?解決策はありますか?大きな問題ではありませんが、混乱しています。usermod
groupmod
/home/pi
/home/user
usermod
/home/user
/home
そのディレクトリは/home/user
権限755として存在します。また、/etc/passwd
ファイルには次の項目が含まれています。
user:x:1000:1000:User:/home/user:/bin/bash
すべてが大丈夫に見えますが、sshからログインしても同様のメッセージが表示されますuser@raspberrypi /home $
。
答え1
-m
このオプションを使用するときに使用しましたかusermod -d
?
そうでない場合は、実際にホームディレクトリを移動して/etc/passwdのエントリを変更する必要があります。
/home/user がまだ存在しない場合、/home/pi の名前が /home/user に変更されます。
cd /home
[ ! -e user ] && sudo mv pi user
そうでない場合は、user
ホームディレクトリが実際に何であるかを確認してください。以下は、ユーザーのホームディレクトリを見つけるために使用できるいくつかの方法です。/home/user
/home
grep '^user:' /etc/passwd # works for system-local accounts only
finger user # requires finger to be installed
pinky -l user # part of GNU coreutils
getent passwd user # should work no matter where the account
data is stored
答え2
Raspbianを使っても同じ問題があります。 「bill」というユーザーを追加した後、Raspbianはユーザーのホームディレクトリを作成できません。 "useradd bill && passwd bill"を使用してユーザーアカウントを作成し、/etc/passwdファイルにホームディレクトリへの予想パスとして/home/billが含まれていますが、実際のパス"/home/bill"は作成されません。 /home/billをrootとして手動で作成し、chmodとchownを使用して権限と所有権を正しい値に変更する必要がありました。 sshを使用して "bill"としてログインすると、/home/billの代わりに "/"ディレクトリになります。 /home/bill/.bashrcファイルは、デフォルトの/home/billでディレクトリを変更するためのトリックを使用しません。
Raspbianは他のLinuxディストリビューションとは異なる動作をしているようです。これは明らかにバグです。
答え3
TrueNAS(FreeBSD)でも同じ動作が表示されます。
- homedirを持つように/etc/passwdでユーザーを編集します。
/path/newhome
- SSHを終了してもう一度ログインして受信してください。
Could not chdir to home directory /path/oldhome
chdir /path/newhome
問題ないかもしれない
これを適用するにはシステムを再起動する必要がありますが、ランダムに再起動できるシステムではありません。
回避策としてchdir /path/newhome
ログイン後に実行できます。シンプルだが効果的。