SSHを介して自分のサーバーにアクセスできる新しいユーザーを作成しようとしています。ファイル共有の目的WinSCP経由。私の目標は、デフォルトのシェルをrbashに設定してホームディレクトリに制限することですが、これはサーバーに接続できず、「ホストに接続しています...」というメッセージで停止します。シェルがデフォルトシェルに設定されている場合は、そのユーザーと関連付けることができます。この問題を解決するには、権限を変更する必要がありますか?
/etc/shells
に項目がありますrbash
。
編集する
答え1
シェルアクセスには通常、共有システムのバイナリとライブラリが必要です。ユーザーを自分のホームディレクトリに制限することは使用できないようです(つまり、そのユーザーは多くの操作を実行できません)。
ユーザーに特定のプログラムを実行させるには、ログインシェルをそのプログラムに設定できます。 Gitは次のことを行います。子シェル例えば。
通常、マルチユーザーシステムでは、ホームディレクトリを読み取れないようにするのが最善です(たとえば、適切に設定するか、umask
ホームディレクトリの権限を調整するなど)。
答え2
.sshd_configを調整してユーザーを制限できます。図からわかるように。このステップでは、そのファイルがシステムファイルに戻るのを防ぎます。また、 を使用して他の /home/user/ フォルダに対する権限を変更しました。chmod -R 700 /home/user/
これにより、そのフォルダが自分のディレクトリへのフルドロップアクセス権を維持しながら他のホームディレクトリに入ることができなくなりました。
答え3
ルートが所有し、必要に応じてルートのみを書くことができます/sshchroot/user/user
。/sshchroot/user
ChrootDirectory
/home/user
/sshchroot/user/user
mount --bind /home/user /sshchroot/user/user # can be done in /etc/fstab