1
C中有setgroups(size_t size, const gid_t *list)
方法,它允許我設置調用進程的補充組標識符。使用C在linux中設置用戶的補充組標識符使用C
問題1:
但爲了運行此我們需要有適當的權限所以唯一的辦法我到沒有得到不允許操作錯誤是用root運行它運行此程序。但是這是否意味着使用這種方法我們只能設置根組?
問題2:
在另一方面我打算做的是給特定的用戶和GID的我想設置指定的GID的作爲補充組給定用戶的列表。在C/C++中是否有爲此定義的方法?
在此先感謝
我記得'setgroups'只能由特權用戶調用。這並不一定意味着root,而是一個擁有CAP_SETGID權限的進程。 root可以明顯地設置任何gid,而不僅僅是它自己的組。我不是100%確定你的第二個問題。 setgroups可能是你想要的,但我不記得涉及的權限問題。你應該看看「能力」文獻。 – Duck