2016-11-28 11 views
0

ディレクトリにファイルがあります。いくつかは、所有者とグループとしてルートを持ち、所有者とグループとして(何が起こったのか)いくつかのユーザー(私)を持っています。私はsudo chmod 755 -R /usr/casloaderを実行し、私のすべてのディレクトリは/usr/casloaderになっています。すべてのファイルは-rwxr-xr-xです。ファイルのアクセス許可の問題javac

私はJavaクラス(ユーザーとして)をコンパイルしようとしています。オーナー/グループがrootのファイルでjavacを実行すると、コンパイルがうまくいきます。コンパイルされたクラスの所有者/グループが私になります。 (コンパイルされたクラスを同じフォルダに書き込みます)。

しかし私が所有者グループが私であるクラスをコンパイルしようとすると、それはfile write error: Permission Deniedとなります。

どうすれば解決できますか?すべてが根本的でなければならないのか?

+0

あなたがグループのオーナーであるからではありません。おそらく、クラスファイルがすでにrootとして所有者として存在しているからでしょう。しかし、あなたは決定するのに十分な情報を提供していません。いずれにせよ、ルートとして 'chown'を使用してすべての* .javaファイルを作成し、すべての* .classファイルを削除してから、もう一度やり直してください。 –

+0

メッセージには書き込みの問題があることが明示されているため、読み込まれるファイルの所有権は関係ありません。明らかにターゲットディレクトリへの書き込み権限があるので、所有者に関係なく既存のクラスファイルをすべて削除してから、再度コンパイルできます。 – Holger

+0

@Erwin @Holger作成しようとしているクラスファイルが存在しないため、今すぐ上書きすることはできません(将来、再コンパイルすると発生する可能性があります)。 .javaファイルをルートにしてコンパイルすることができました(グループはまだ私です)。再コンパイルしようとするとエラーが発生し、.classファイルが削除されました。今すぐ再コンパイルしようとしましたが、今は同じ古い書き込み許可エラーが発生します。ファイルの所有者はroot group meです。 –

答えて

0

私はg + w、o + wを-Rで行っただけです。私はrwxrwxrwxを持っているので、問題は解決されます。 (これが最適な解決策であるかどうかは分かりません)

関連する問題