【发布时间】:2019-08-20 14:56:34
【问题描述】:
如何使用 Go 为文件设置不可变属性?
我需要一个在文件上设置/取消设置此属性的函数,类似于chattr +i file
我发现了这个:IoctlSetInt
怎么用?
file, err := os.Open("file")
if err != nil {
fmt.Printf("%s\n", err)
return
}
err = unix.IoctlSetInt(int(file.Fd()), unix.PERF_EVENT_IOC_MODIFY_ATTRIBUTES, unix.STATX_ATTR_IMMUTABLE)
if err != nil {
fmt.Printf("%s\n", err)
}
错误:inappropriate ioctl for device
解决方案
我在snapd's repo找到了一段代码。
【问题讨论】: