[英]Why do I need setuid(0) within a setuid-root C program that calls an administrative program with system()?
[英]Can I run a C program containing setuid() without sudo?
我試圖從多個用戶執行一個C程序,並嘗試以程序中的其他用戶身份登錄以訪問文件。 但我收到了錯誤
setuid:不允許操作
我可以做一些我不需要每次都使用sudo的東西嗎? 比如,在沒有每次調用sudo的情況下完全訪問程序以使用setuid
根據系統及其中的權限,您可以將程序的所有者或組更改為具有setuid權限的程序,然后通過chmod
在可執行文件上設置setuid或setgid模式:
chgrp wheel my-awesome-program
chmod g+s my-awesome-program
要么
chown superduperuser my-awesome-program
chmod u+s my-awesome-program
請注意,通過這樣做,您可以創建一個潛在的安全漏洞。 如果有人可以覆蓋您的程序,他們可以使用它來獲取權限。 謹慎行事。
你只需要使用chmod
在程序的可執行文件上使用setuid
:
sudo chmod u+s executable
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.