我想使用 Linux 命名空间和 Go 来执行命令来实现一个简单的沙箱。为了防止该命令写入磁盘,该命令以另一个用户身份使用 执行Credential: &syscall.Credential{Uid: uint32(1), Gid: uint32(1)}
。
但是,我收到此错误:“fork/exec /Main:不允许操作”。
即使我将代码更改为Credential: &syscall.Credential{Uid: uint32(0), Gid: uint32(0)}
,也会发生相同的错误。
当我运行时sudo ./container -command='/Main' -username='nobody'
,出现错误“fork/exec /Main:不允许操作”。
的用户命名空间中的用户justiceInit
应该是root,但不能使用 来设置uid和gid Credential
。
我是linux和命名空间的新手。也许我误解了什么。我应该如何修复这个错误?非常感谢!
aluckdog
相关分类