2012-04-07 3 views
2

sudo chmod 755 myfileと同じを達成しようとしています。どのように私はHaskellからすべてのユーザーのファイルのアクセス許可を設定することができます

getPermissionssetPermissionsSystem.Directoryにありますが、現在のユーザー(私の場合はルート)のアクセス許可のみを設定できます。

rawSystemコールを使用する同等の機能がすべてのユーザーに適用されるのか、それとも唯一の実行可能なオプションですか(これは少し汚れていると思われます)。

+0

'rawSystem'は確かに汚れています。ここで問題となるのは、シェル( 'chmod')から実行されるプログラムを、基本的なシステムコール(またはいくつかのシステムコールを引き起こすおそらくlibcオペレーション)で腐食することを望むプリミティブ関数と混同することです。いくつかの基本的なシステム操作を実行したい場合は、FFI呼び出しを見てください。この場合(他の人がまだ実装していない場合は、あなたが指摘するように)、FFIバインディングを[chmodまたはfchmod](http://linux.die.net/man/2/chmod)にします。 –

答えて

7

System.Posix.Files標準UNIXパッケージには、POSIXファイルのアクセス許可のサポートがあります。 System.Directoryがこのような機能を提供しない理由は、移植性のためです。

関連する問題