为了账号安全,请及时绑定邮箱和手机立即绑定

如何设置不可变文件属性

如何设置不可变文件属性

Go
慕桂英4014372 2023-07-17 13:52:31
如何使用 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
查看完整描述

1 回答

?
哔哔one

TA贡献1854条经验 获得超8个赞

我不确定你在这里使用了正确的 ioctl...至少 chattr 和在 C 中使用ioctl() 设置不可变标志FS_IOC_SETFLAGS的解决方案(你可以看到 chattr 使用 做什么strace)。您可以查看/usr/include/linux/fs.h,特别是有关“Inode flags”.



查看完整回答
反对 回复 2023-07-17
  • 1 回答
  • 0 关注
  • 53 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信