注:返信やコメントができないため、質問を再投稿しています。
(rootアクセスなしで)オブジェクトファイルのみを実行する非rootユーザーを作成しています。私の意図は、ユーザーに/atlas/Bin
にあるファイルを実行させることです。だから私は/etc/passwd
をuser:x:0:0:test:/:/atlas/Bin/object
として設定しました。しかし、SSH経由で(teratermを介して)新しいシェルを開いてユーザーにログインすると、オブジェクトが見つからないためエラーが発生します。
/etc/profile
に変更を加えて、オブジェクトの検索に役立つ/atlas/Bin
を含むようにPATHを設定しました。ここで何が欠けているのかわかりません。代わりにSSH経由でrootユーザーでログインすると、このオブジェクトを問題なく実行できます。
以下のビルドファイルに使用する/etc
値を提供しています。
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
root:x:0:root
...
sshd:x:6:user
PATH=/atlas/Bin:/usr/bin:/bin:/usr/sbin:/sbin
LD_LIBRARY_PATH=/lib:/usr/lib:/lib/dll/
alias ll="ls -l"
Host *
SendEnv LANG LC_*
Protocol 2
LoginGraceTime 600
LogLevel DEBUG3
PermitRootLogin yes
PasswordAuthentication yes
PermitEmptyPasswords no
ユーザーのシェルとして実行可能ファイルを使用する場合は、プログラムを/etc/shells
に追加する必要がある場合があります。
スクリプトを実行して終了するプロファイルを持つユーザーには、制限付きシェルを使用することをお勧めします。
/bin/false
をシェルとして使用し、サーバーへのアクセスに使用されているキーのauthorized_keysファイルで指定されたコマンドを使用できる場合があります。 /bin/false
が機能しない場合は、/usr/bin/rbash
などの制限付きシェルを試してください。