ユーザーがシステムにログインするときにカスタムバイナリを実行する必要があるため、ユーザーのシェルを/ bin / binaryから/ etc / passwdに変更しましたが、変更されたユーザーを使用してログインしたときに/ etc /を読み取ることができないことを観察しました。シェルプロファイルファイル
したがって、/ etc / profileは、ユーザーのシェルが/ etc / passwdの/ bin / shの場合にのみ読み取られます。
ベストアンサー1
完全なものではなく。/etc/profile
ユーザーのシェルがそれを読み、/etc/passwd(またはLDAPまたは他のツール)に基づいて実行する方法を知っている場合は、それを読みます。
/bin/sh を /etc/profile の読み方を知らないバイナリに置き換えると、読み取れません。
この問題を解決する1つの方法は、/etc/profileで何をすべきかを知るためにバイナリを変更することです。
別のアプローチは、ユーザーのシェルをに設定し、他のすべての項目が設定された後に/bin/sh
バイナリを実行するようにユーザーシェルを編集することです。$HOME/.profile
3番目の方法は、ユーザーがSSHキーでログインし、キーを編集して起動し、/bin/binary
他のコマンドを無視することです。$HOME/.ssh/authorized_keys
これは、ユーザーの読み取り内容を編集することで行うことができます。
command="/bin/binary" ssh-dss AA.....restofkeyhere....