ホームディレクトリ以外のディレクトリでSSHセッションを開始し、そこでロックする

ホームディレクトリ以外のディレクトリでSSHセッションを開始し、そこでロックする

私は SSH サーバーをセットアップし、何人かの友人が SSH と FileZilla の両方でログインできるようにしました。友人がファイルにアクセスできるように、彼らのホーム ディレクトリに 2 つのハード ドライブへのシンボリック リンクを配置しました。これは一部の FileZilla (Windows) ユーザーにとって難しすぎることが判明し、ファイル システムで迷子になり続けています。

私の質問は次のとおりです:

  • SSH ユーザーをホーム ディレクトリ以外のディレクトリから起動させることは可能ですか? .bashrc に「cd some_dir」を追加すると、FileZilla ではなく SSH でのみ機能します。

  • そのディレクトリとそのサブディレクトリ内のユーザーをロックすることは可能ですか? 一部のユーザーは、ターゲット フィールドに「/path/to/their/dir」と入力するだけでよいと説明しているにもかかわらず、/ まで移動して戻ることができません。

答え1

ユーザーのホームを宛先ディレクトリを指すように変更することをお勧めします。/etc/passwd直接編集するか、usermod --home NEW_HOME_DIR username(これにより、以前のものからファイルもコピーされます) でこれを行うことができます。

アップデート: ロックに関しては、jail以外に選択肢はあまりありませんchroot。ログインシェルを に設定すると/bin/rbash、制限されたシェルが起動します。特に、その手段はcd機能せず、絶対パスを使用するコマンドも機能しません。bash(1)以下のマニュアルページを読んでください。RESTRICTED SHELL詳細についてはこちらをご覧ください。

関連情報