簡単に言えば、Glassfishがポート80で受信されたら、URLを入力するときにポートを指定する必要がないことを願っていますが、Linuxはルートなしで低いポート番号を受け入れず、ルートとしてglassfishを実行することはセキュリティ上の危険です。
この問題を解決するための最良の方法は何ですか? glassfishが単独で聞いて、別のプログラムを使用してポート80から別のポートに要求を転送できるように、一種の例外を作成しますか?実際にroot権限を付与せずにglassfishにポート権限を付与する方法はありますか?
答え1
この問題を解決するための最良の方法は何ですか?
glassfish自体が提供するものです。
#「特殊」ポート< 1024でGlassFishを実行する方法を示すサンプルコマンド # # iptables -t nat -A プリセット -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080 # iptables -t nat -A プリセット -p udp -m udp --dport 80 -j REDIRECT --to-ports 8080
はい、glassfishがリスニングファイルディスクリプタを受け取り、次のような環境で実行できるようになったらいいでしょう。s6-tcpserver
または、systemdでソケットを有効にします。しかし、このように動作するように設計されていません。
追加読書
- バイロン・ネヴィンス(2010-03-04)。 「GlassFish V3で1024未満のポートを使用できるようにする方法」Linux Ubuntu / Debianで非ルートサービスでGlassFish V3を実行する。オラクル株式会社。
create-service
。 Oracle GlassFishサーバーリファレンスガイド。バージョン3.1.2。start-domain
。 Oracle GlassFishサーバーリファレンスガイド。バージョン3.1.2。
答え2
bashのコピーを使用できます...私
は、$PATH
ディレクトリの1つに別々のbashバージョンを作成し、それをbash1などとして呼び出すことができることを意味します。
その後、実行できるように他の権限を付与することです。ガラス魚bashの代わりにbash1を使用してください。
つまり、tyat bashは変更されず、別々の許可されたbashバージョンを持つことになります。ガラス魚。唯一の欠点は、特定のプログラムとユーザーに制限する必要があることです。そうしないと、システム全体が損傷する可能性があります。
答え3
「chroot」は、以前ほど広くは使用されていませんが、root権限で実行する必要があるプロセスのセキュリティを向上させるためのツールです。ライブラリ(静的にリンクされたプログラムのコンパイル)を含む、アプリケーションに必要なすべてのファイルを含む仮想/フォルダを作成するには、少し余分な作業が必要になるため、プロセスがセキュリティを侵害した場合は、限られたサンドボックスに配置されます。当然、エディタやネットワークツールなどの不要なサポートプログラムは削除されます。
バインディング/名前付けを実行するための好ましい方法の1つは、この方法を使用することであるため、この方法を設定する方法の良いガイドになることができます。
確認するhttps://help.ubuntu.com/community/BasicChroot詳細については。