setuid

    1熱度

    2回答

    我想通過golang製作一個自定義的網絡服務器。 它需要根綁定到端口80. 但是我想盡快刪除根目錄。 syscall.SetUid()根據ticket #1435返回「不支持」。 我隨時可以重新路由端口80通過iptables的別的東西,但是這開闢了任何非根進程僞裝成我的網絡服務器 - 我不想成爲可能。 如何放棄特權我的應用程序(或可替換地解決這個乾淨)。

    4熱度

    2回答

    我試圖從多個用戶執行一個C程序,並試圖以程序中的其他用戶身份登錄以訪問文件。但我得到錯誤 的setuid:操作不允許 我可以做這樣的事情我不需要每次使用sudo?就像,每次使用setuid都可以完全訪問程序而不需要調用sudo?

    0熱度

    1回答

    我有一個程序write.c,它創建一個新文件。我通過root用戶編譯並使用chmod u+s write來設置setuid的粘性位。 現在,如果一個user2執行這個程序。爲什麼創建一個新的文件,其根目錄是所有者?該文件的所有者應該是user2。 爲此,我使用setuid()和seteuid()將用戶ID更改爲user2。然後創建該文件。但是這也創建了root作爲所有者的文件。我想創建該文件作爲u

    0熱度

    1回答

    我想了解緩衝區溢出和setuid。我用這個來源: #include <stdio.h> #include <stdlib.h> #include <string.h> int main(void){ char prog[]="/bin/ls -hal"; char in[8]={0}; printf("Name of a dir to list : ");

    3熱度

    1回答

    我有一個setuid程序,然後代表用戶以root身份調用cpan。這適用於像yum這樣的命令,但cpan失敗。我的問題是,用戶的主目錄是NFS裝入共享,並使用root-squash選項,因此root無權訪問用戶的主目錄。 Cpan嘗試在用戶家中創建一個.local目錄,該目錄由於根部壁球而失敗。 有沒有一種方法來配置cpan,以便它將使用另一個路徑作爲其基礎來構建包?或者,有沒有辦法將root設置

    1熱度

    1回答

    如果我讓根特權進程模擬一些較小的用戶並分支一個子進程,那麼假設子進程擁有用戶權限並且與根無關,那麼安全嗎?我使用默認的自定義方法作爲用戶,並恢復到所有者的信譽(root)。他們被抽象化。但通常,這些方法會將整個過程的上下文更改爲用戶的上下文(可能包括uid,gid等)。

    2熱度

    1回答

    我編寫調用fork()來創建子進程的C應用程序。該應用程序以root身份運行。在父進程中,我使用wait()來等待終止子進程。在子進程中,我使用prctl()和PR_SET_PDEATHSIG選項來檢測父進程的死亡。它工作正常。爲了降低安全問題的風險,子進程調用setuid()來更改UID。問題是:子進程無法檢測到父進程的死亡。 我已搜查四處尋找答案,發現一些有用的鏈接,但它並不能幫助: Dete

    3熱度

    2回答

    迄今爲止我所讀到的所有文獻都在setuid中,以暗示它是系統調用的方式談論seteuid。第2節man頁面從不會說功能是否是系統調用,所以seteuid(2)沒有幫助。如果它不是系統調用,意味着內核不提供該功能,那麼如何實現「設置有效的UID」?

    5熱度

    1回答

    我瞭解以root用戶身份運行腳本的含義,特別是通過Web應用程序。然而,作爲我的Web應用程序的一部分,我需要使用捲曲與tor,這需要偶爾重置tor ip。當服務重新啓動時,tor可以獲得一個新的IP地址爲service tor restart。因爲只有root可以做到這一點,所以我寫了一個C wrapper腳本來完成我所需要的工作,然後編譯它並設置setuid root並將其更改爲root用戶所

    1熱度

    1回答

    我想在我的(debian stretch)服務器上設置一個容器,並儘可能地將其鎖定。 容器my-container只需要啓動時,它則做了一些處理,返回(整個事情大約需要一秒鐘)。 我可以很容易地以docker start -a my-container作爲根。 我的問題是這個處理需要用php腳本觸發。我沒有給www-data啓動docker容器的權利,而是用一個執行docker命令的小型setui