0

Linuxで実行されるJavaSEアプリケーションを開発しています。アプリケーションは、いくつかのファイルとディレクトリをディスクに保存します。

アプリケーション自体がこれらのファイル/ディレクトリを読み取り/書き込みできる必要があります(つまり、現在ログインしているユーザーがOSファイルマネージャーを使用してこれらのファイルを読み取り/書き込み/コピーできないようにする必要があります)。
ユーザーとユーザーグループを作成し、ファイルのアクセス許可を600に、ディレクトリのアクセス許可を700に変更しようとしました
。問題は、アプリケーションが現在ログインしているユーザーとして実行されるため、現在のユーザーを所有者としてファイルを保存することです。
ファイルをchown処理すると、アプリケーションはファイルを読み取ることができなくなります。

アプリケーションへのファイル/ディレクトリアクセスを制限するにはどうすればよいですか?

4

2 に答える 2

1

setuidあなたの選択だと思います。詳細については、man ページを参照してください。これも良いリファレンスです

各プログラムにはuid/gidとがあり、ファイル アクセス許可と一致euid/egidする必要があります。euid/egid


java mainclass詳しくは、IIRC さん、またはのように Java SE プログラムを実行する必要がありますjava -jar main.jar。起動コマンドをスクリプトに記述しrun.shます。

ファイル開始 run.sh

java mainclass # or java -jar main.jar choose one appropriate to you

ファイルエンド

そして、sudo chown root run.shそしてsudo chmod ug+s run.sh

これは、あなたが sudoer リストにいることを前提としています。そうでない場合は、SA に助けを求める必要があります。

于 2012-08-08T06:27:50.637 に答える
0

それは不可能です。ユーザーとユーザーが実行するプログラムの間で権限に違いはありません。

于 2012-08-08T06:23:56.363 に答える