web-dev-qa-db-ja.com

sshを介してroot以外のユーザーの実行可能ファイルが見つかりません

注:返信やコメントができないため、質問を再投稿しています。

(rootアクセスなしで)オブジェクトファイルのみを実行する非rootユーザーを作成しています。私の意図は、ユーザーに/atlas/Binにあるファイルを実行させることです。だから私は/etc/passwduser:x:0:0:test:/:/atlas/Bin/objectとして設定しました。しかし、SSH経由で(teratermを介して)新しいシェルを開いてユーザーにログインすると、オブジェクトが見つからないためエラーが発生します。

/etc/profileに変更を加えて、オブジェクトの検索に役立つ/atlas/Binを含むようにPATHを設定しました。ここで何が欠けているのかわかりません。代わりにSSH経由でrootユーザーでログインすると、このオブジェクトを問題なく実行できます。

以下のビルドファイルに使用する/etc値を提供しています。

/ etc/passwd

root:x:0:0:root:/:/bin/sh
....
user:x:0:0:test:/:/atlas/Bin/object
sshd:x:15:6:sshd:/var/chroot/sshd:/bin/sh

/ etc/group

root:x:0:root
...
sshd:x:6:user

/ etc/profile

PATH=/atlas/Bin:/usr/bin:/bin:/usr/sbin:/sbin
LD_LIBRARY_PATH=/lib:/usr/lib:/lib/dll/
alias ll="ls -l"

/ etc/ssh/ssh_config

Host *
SendEnv LANG LC_* 

/ etc/ssh/sshd_config

Protocol 2
LoginGraceTime 600
LogLevel    DEBUG3
PermitRootLogin yes
PasswordAuthentication yes
PermitEmptyPasswords no
1
user3512111

ユーザーのシェルとして実行可能ファイルを使用する場合は、プログラムを/etc/shellsに追加する必要がある場合があります。

スクリプトを実行して終了するプロファイルを持つユーザーには、制限付きシェルを使用することをお勧めします。

/bin/falseをシェルとして使用し、サーバーへのアクセスに使用されているキーのauthorized_keysファイルで指定されたコマンドを使用できる場合があります。 /bin/falseが機能しない場合は、/usr/bin/rbashなどの制限付きシェルを試してください。

1
BillThor