
パーミッション変更で「4750」??何それ?
OHSとWebLogicServerでやりとりするために、ポート80(http通信)を使用したい場面がありますが、root権限でないと1024以下のポートを使用することができません。
そこで、OHS(Oracle HTTP Server)の設定の中で、1024以下のポートを使用するためにはパーミッション(権限)を変更しなければならないのです。
cd 【Oracleホーム】/ohs/bin
chown root launch
chmod 4750 launch
みたいな感じで。
ここで、4750というものが見たことないので調べてみました。
4750の意味:
4: SetUID(Set User ID)ビットを設定します。これにより、このファイルが実行されるとき、一時的にファイルの所有者(この場合はroot)の権限で実行されます。
7: 所有者(root)に対して読み取り(4)、書き込み(2)、実行(1)の全権限を与えます。
5: グループに対して読み取り(4)と実行(1)の権限を与えます。
0: その他のユーザーに対して権限を与えません。
これらのコマンドの目的は、launchファイルをセキュアに設定し、特定の条件下でroot権限で実行できるようにすることです。これは、OHSが特定のシステムリソースにアクセスする必要がある場合に重要です。
ん?通常の「750」とは何が違うの???

750の場合:
所有者:読み取り、書き込み、実行権限(7)
グループ:読み取り、実行権限(5)
その他:権限なし(0)
4750の場合:
所有者:読み取り、書き込み、実行権限(7)
グループ:読み取り、実行権限(5)
その他:権限なし(0)
SetUIDビットが設定される(4)
主な違いは、先頭の「4」です。これがSetUIDビットを表します。
SetUIDの効果:
ファイル実行時の権限変更:SetUIDが設定されたファイルが実行されると、そのプロセスは一時的にファイルの所有者の権限で動作します。
権限昇格:通常のユーザーが、rootが所有するSetUIDが設定されたファイルを実行すると、そのプロセスは一時的にroot権限を得ます。
特権操作の実行:これにより、通常は特権が必要な操作(例:特定のポートでのリッスン、システムファイルへのアクセスなど)を、一般ユーザーでも実行できるようになります。
SetUIDの使用例:
passwdコマンド:一般ユーザーがパスワードを変更できるようにするため。
特定のネットワークコマンド:低いポート番号(1024未満)を使用するため。
注意点:
セキュリティリスク:不適切に使用すると、権限昇格の脆弱性につながる可能性があります。
最小権限の原則:SetUIDの使用は必要最小限に抑えるべきです。
慎重な管理:SetUID付きのファイルは特に注意深く管理し、定期的に監査する必要があります。
OHSの場合、launchファイルにSetUIDを設定することで、特定の重要な操作を実行できるようにしていると考えられます。