web-dev-qa-db-ja.com

SCP用のシェルが必要ですか?

私は自分のマシン上で、SCP専用のローカルアカウントを友人に許可しています。 SCPを許可しながら、彼のアカウントのシェルを/bin/trueとして指定できますか、それとも他の方法でアカウントを制限できますか?

34
user4518

そのユーザーのシェルを rssh または scponly に設定できます。これらはその目的のために正確に設計されています。

rsshはOpenSSHで使用するための制限付きシェルであり、scpやsftpのみを許可します。また、rdist、rsync、およびcvsのサポートも含まれています。

scponlyは、リモート実行権限を提供せずにリモートユーザーにローカルファイルの読み取りと書き込みの両方へのアクセスを提供するシステム管理者向けの(一種の)代替シェルです。

Scpを実行すると、OpenSSHデーモンはscpプロセスを-fオプション。 sftpを実行すると、OpenSSHデーモンがsftp-server 処理する。どちらの場合でも、サブプロセスはユーザーのシェルを介して実行されるため、シェルは少なくともこれらのコマンドをBourneに似た構文でサポートする必要があります。 Cshの場合と同様に、あらゆるBourneスタイルのシェルが実行します(その引用規則は、sshdが使用するものと十分に互換性があると思います)。 Rsshおよびscponlyはこれらのコマンドのみを許可します。 /bin/trueはこれらのコマンドも実行しません。

いいえ、必要ありません。 Gillesが指摘したように、rsshは scponly と同様に、この目的のために非常にうまく機能します。 この関連質問の説明 も参照してください。

3
Shadur