ディレクトリにファイルがあります。いくつかは、所有者とグループとしてルートを持ち、所有者とグループとして(何が起こったのか)いくつかのユーザー(私)を持っています。私はsudo chmod 755 -R /usr/casloader
を実行し、私のすべてのディレクトリは/usr/casloader
になっています。すべてのファイルは-rwxr-xr-x
です。ファイルのアクセス許可の問題javac
私はJavaクラス(ユーザーとして)をコンパイルしようとしています。オーナー/グループがroot
のファイルでjavacを実行すると、コンパイルがうまくいきます。コンパイルされたクラスの所有者/グループが私になります。 (コンパイルされたクラスを同じフォルダに書き込みます)。
しかし私が所有者グループが私であるクラスをコンパイルしようとすると、それはfile write error: Permission Denied
となります。
どうすれば解決できますか?すべてが根本的でなければならないのか?
あなたがグループのオーナーであるからではありません。おそらく、クラスファイルがすでにrootとして所有者として存在しているからでしょう。しかし、あなたは決定するのに十分な情報を提供していません。いずれにせよ、ルートとして 'chown'を使用してすべての* .javaファイルを作成し、すべての* .classファイルを削除してから、もう一度やり直してください。 –
メッセージには書き込みの問題があることが明示されているため、読み込まれるファイルの所有権は関係ありません。明らかにターゲットディレクトリへの書き込み権限があるので、所有者に関係なく既存のクラスファイルをすべて削除してから、再度コンパイルできます。 – Holger
@Erwin @Holger作成しようとしているクラスファイルが存在しないため、今すぐ上書きすることはできません(将来、再コンパイルすると発生する可能性があります)。 .javaファイルをルートにしてコンパイルすることができました(グループはまだ私です)。再コンパイルしようとするとエラーが発生し、.classファイルが削除されました。今すぐ再コンパイルしようとしましたが、今は同じ古い書き込み許可エラーが発生します。ファイルの所有者はroot group meです。 –