2
我試圖實現與sudo chmod 755 myfile
相同的效果。如何設置來自Haskell的所有用戶的文件權限
我發現getPermissions
和setPermissions
在System.Directory,但只允許我爲當前用戶(以我的情況爲根)設置權限。
是否存在適用於所有用戶的等效功能,或者是使用rawSystem
呼叫的唯一可行選項,我認爲該呼叫有點不潔?
我試圖實現與sudo chmod 755 myfile
相同的效果。如何設置來自Haskell的所有用戶的文件權限
我發現getPermissions
和setPermissions
在System.Directory,但只允許我爲當前用戶(以我的情況爲根)設置權限。
是否存在適用於所有用戶的等效功能,或者是使用rawSystem
呼叫的唯一可行選項,我認爲該呼叫有點不潔?
System.Posix.Files
在標準的unix包中有POSIX文件的權限支持。 System.Directory
不提供這種功能的原因是爲了便攜。
'rawSystem'肯定是不乾淨的。這裏的一部分問題是你將一個你從shell('chmod')執行的程序與一個原始函數混淆在一起,你希望對某些底層系統調用(或者可能導致多次系統調用的libc操作)進行腐蝕。如果你想執行一些原始的系統操作,那麼看看做一個FFI調用。在這種情況下(如果它沒有被其他人實現,就像ehird指出的那樣),你會希望將FFI綁定到[chmod或fchmod](http://linux.die.net/man/2/chmod)。 – 2012-04-07 05:56:33