SSH経由でホームディレクトリにログインできません。

SSH経由でホームディレクトリにログインできません。

最近、Raspberry PiにRaspbianをインストールしました。インストールプロセスの一環として、ユーザー名とグループをデフォルト値(pi)から自分の一意(私たちはmy ownと呼びますuser)に変更しました。また、ホームディレクトリの移動()を新しいユーザー名()として使用します。新しいユーザーディレクトリ()にログインするのではなく、SSHを使用してログインするとホームディレクトリ()に接続することを除いて、すべてがうまく機能します。なぜこれが起こるのかご存知ですか?解決策はありますか?大きな問題ではありませんが、混乱しています。usermodgroupmod/home/pi/home/userusermod/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ログイン後に実行できます。シンプルだが効果的。

関連情報