最近、RaspbianをRaspberryPiにインストールしました。インストールプロセスの一環として、pi
とuser
を使用して、ユーザー名とグループをデフォルト(usermod
)から自分のもの(groupmod
と呼びましょう)に変更しました。また、usermod
を使用して、ホームディレクトリ(/home/pi
)を新しいユーザー名(/home/user
)に移動しました。新しいユーザーディレクトリ(/home/user
)にアクセスする代わりにSSHを使用してログインすると、ホームディレクトリ(/home
)に到達することを除いて、すべて正常に機能します。なぜこれが起こっているのか考えていますか?解決策はありますか?それは大したことではありませんが、それは私を混乱させます。
ディレクトリ/home/user
は、アクセス許可755で存在します。それに加えて、/etc/passwd
ファイルには、次のようなエントリが含まれています。
user:x:1000:1000:User:/home/user:/bin/bash
私にはすべてが正常に見えますが、それでもsshからログインすると、user@raspberrypi /home $
のようなプロンプトが表示されます。
-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
Raspbianを使用しても同じ問題が発生します。 「bill」という名前のユーザーを追加した後、raspbianはユーザーのホームディレクトリの作成に失敗しました。 「useraddbill && passwd bill」を使用してユーザーアカウントを作成し、/ etc/passwdファイルにホームディレクトリとして/ home/billへの予想パスが含まれていましたが、実際のパス「/ home/bill」は作成されませんでした。 。 rootとして/ home/billを手動で作成してから、chmodとchownを使用して、アクセス許可と所有権を適切な値に変更する必要がありました。 sshを使用して「bill」としてログオンすると、/ home/billではなく「/」ディレクトリに移動します。 /home/bill/.bashrcファイルは、ディレクトリをデフォルト値の/ home/billから変更するためのトリックを実行しません。
Raspbianは、他のすべてのLinuxディストリビューションと同じようには機能しないようです。これは明らかにバグです。