問題があります。誰かにアクセスを許可する必要がありますが、データベースに接続する唯一の方法はSSH経由です。したがって、すべてを正しく理解したら、その人のためのLinuxアカウントを作成する必要があります(Debian 10システムで)。 create ユーザーはフォルダへの書き込み権限がないため、何も破ることができないようです。
しかし、問題は、彼がファイルシステム内のすべてのファイルを読み取ることができるということです。最善の方法が何であるかよくわかりません。 chmodがすべての問題を解決できることを知っていますが、削除するのが良い方法であるかどうかはわかりません。他人のフルアクセス権を付与し、各ファイルのグループを自分のデフォルトのLinuxアカウントに変更します。
/ binフォルダの下のコマンドに対するすべての実行権限を削除し、ファイルグループを変更する必要がありますか?
読んでくれてありがとう!私は明らかに言ったことを願っています。
答え1
要求された内容は...
あなたが探しているのはですchroot
。これにより、/
ファイルシステムのルートが目的の場所に設定されます。
ユーザーchroot
の場合、この場所は次のとおりです。彼はファイルシステムの残りの部分を見ることができません。したがって、このフォルダの下に彼が実行するために必要なすべてのプログラムを配置しようとしています。/home/bob
bob
/
bob
今私たちが知っているように、chroot
私たちは多くの答えと指示を見つけることができます。
- SSH接続をchrootする方法は?
- OpenSSHを使用するChrootユーザー:ユーザーをホームディレクトリに制限する簡単な方法
- Chrooted SSH/SFTP チュートリアル (Debian Lenny)
あなたは何が欲しいですか?
Debianマシンからデータベースにアクセスでき、それがすべてであれば、次のものを探しています。SSHトンネル。それでもユーザーアカウントが必要ですが、完全にロックできます。重要なSSH設定は次のとおりです。
AllowTcpForwarding yes
- 私たちはトンネルを持つことが許可されましたForceCommand /bin/false
- SSH経由でログインしようとすると、シェルは作成されません。ChrootDirectory /opt/dummy_location/%u
- どういうわけかシェルを取得したら、ファイルシステムビューを空の場所に限定できます。
これらの知識により、我々は多数の既存の技術を再発見することができます。
上記はSSH接続を処理します。ユーザーがサーバーに物理的にアクセスできる場合は、ユーザーのシェルを設定する必要があります。
usermod -s /bin/false userbob
上記の順序で検索してデータベースクライアントに接続する方法を見つけることができます。 SSHのすべての魔法はネットワーク層で起こるので、これはすべてのクライアントに適用されます!トンネルが起動すると、データベースがローカルマシンで実行されているように見えます。
一部のお客様は、生活をより簡単にするSSHトンネリングについて知っています。一般的なクライアントはHeidiSQLです。HeidiSQLを使用してSSHトンネルを介してMySQLデータベースに接続する方法。
トンネルルートを利用する場合お願いします お願いします お願いしますまず、通常のアカウントでテストして機能していることを確認してください。今後トンネルユーザーをロックし始めます!
最後に使用する必要がありますSSHキーパスワードの代わりに。しかし、これはchrootの複雑さと組み合わせて、最後の実装に任せるのが最善です。
答え2
ユーザーが自分のディレクトリで作業でき、ディレクトリを変更する必要がない場合、/home
これは役に立つ投稿(単純な答えではない)になる可能性があります。ユーザーを制限する方法
editを使ってもこれを行うことができますが、/etc/sudoers
あなたの場合はこれが適切ではないと思います。