ホームページ > Java > &#&チュートリアル > Java は Linux/UNIX システム上のファイル権限をプログラムで変更するにはどうすればよいですか?

Java は Linux/UNIX システム上のファイル権限をプログラムで変更するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-20 11:33:10
オリジナル
451 人が閲覧しました

How Can Java Programmatically Modify File Permissions on Linux/UNIX Systems?

Java を使用したファイル アクセス許可のプログラムによる変更

ファイル処理の領域では、ファイル アクセス許可の制御は、セキュリティとアクセス制御を維持するために非常に重要です。さまざまなオペレーティング システム。 Linux/UNIX システム上のファイル権限をプログラムで変更しようとする Java 開発者にとって、Java 5 にはそのような操作のためのネイティブ メソッドがありませんでした。

しかし、Java 7 の出現により、「新しい」New IO 機能 (NIO.2) が登場しました。 ) 包括的なファイル属性管理機能が導入されました。主な利点の 1 つは、setPosixFilePermissions() メソッドを使用して既存のファイルに POSIX アクセス許可を設定できることです。さらに、createFile() や newByteChannel() などのメソッドを使用して、特定のアクセス許可を使用してファイルをアトミックに作成できます。

NIO.2 でファイル アクセス許可を設定する

ファイル アクセス許可を設定するにはNIO.2 を使用して、一連の権限を作成する必要があります。 Java は、この目的のために 2 つのメソッドを提供します。EnumSet.of() と、人間が判読できる文字列を解析する、より便利なヘルパー メソッド PosixFilePermissions.fromString() です。さまざまな API で受け入れられる FileAttribute と統合するには、PosixFilePermissions.asFileAttribute() を使用してアクセス許可のセットをラップできます。

たとえば、所有者が書き込み可能なアクセス許可を設定するには、次のコードを使用できます。

Set<PosixFilePermission> ownerWritable = PosixFilePermissions.fromString("rw-r--r--");
FileAttribute<?> permissions = PosixFilePermissions.asFileAttribute(ownerWritable);
Files.createFile(path, permissions);
ログイン後にコピー

以前の Java での代替アプローチバージョン

Java 7 より前では、開発者はネイティブ コードを利用したり、Java 内からコマンドライン ユーティリティを実行したりするなど、代替アプローチに頼る必要がありました。これらの方法は統合性が低く、プラットフォーム固有の考慮事項が必要です。

以上がJava は Linux/UNIX システム上のファイル権限をプログラムで変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート