linux-namespaces

    3熱度

    2回答

    我正在嘗試使用Linux命名空間創建沙盒環境。我在https://github.com/swetland/mkbox上發現了一個簡潔的示例,它大致按我的意思做,但我想要一個可信的/ proc出現在沙箱內。我怎樣才能做到這一點? 我試着綁定安裝在proc上的proc FS,但是失敗了EINVAL。當我試圖正常安裝「proc」時,它會產生EPERM。 想法?

    5熱度

    3回答

    您可以在Internet上找到的大多數Dockerfile都以root身份構建和運行軟件! 這必須嚇唬大家,對吧? ...但似乎並非如此... 因此,pb是運行一個服務器作爲根,即使在一個容器中,是危險的,因爲容器內的根與根相當在容器外面。 其中一個解決方案是通過使用「USER」指令(如this example for a tor relay)正確構建Dockerfile。 另一種解決方案是使用「

    0熱度

    3回答

    我有多個network namespaces Linux服務器定義: # ip netns list qdhcp-7dedbd4e-2265-4aa2-baac-add4e341dd18 qdhcp-851379ba-1d51-4e45-8e50-b756e81c0949 qdhcp-a19927c5-83b4-4bb4-a8b8-f21fdb5e004b qdhcp-b94605ff-b

    5熱度

    1回答

    我正在玩linux命名空間,我注意到如果用戶想要在新的網絡命名空間中執行進程(不使用用戶命名空間),他需要是root用戶或具有CAP_SYS_ADMIN功能。 的unshare(2)手冊頁說: CLONE_NEWNET(因爲Linux 2.6.24) 這個標誌的克隆(2)CLONE_NEWNET標誌相同的效果。 取消共享網絡名稱空間,以便將調用進程移入不與任何先前存在的進程共享的新網絡名稱空間。使

    2熱度

    1回答

    據我所知,我可以使用「克隆」來創建一個進程和一個名稱空間,但以這種方式創建的名稱空間沒有名稱。例如,我使用參數CLONE_NEWNS創建一個網絡名稱空間,但在命令「ip netns list」中,沒有名稱空間列表,因爲所創建的名稱空間沒有名稱。但是我可以使用命令「ip netns add xxx」來創建名稱爲「xxx」的名稱空間。 我想知道如何使用系統調用「clone」來創建名稱空間。

    0熱度

    1回答

    我需要打開多個TCP套接字,對應於linux中編程的每個名稱空間。 我想知道分配給這些套接字的fd可能是相同的,還是始終系統範圍唯一?

    1熱度

    1回答

    嗨,大家好,我偶爾是linux用戶,但我有一個項目要做,我需要一些橋接幫助:) 我已經嘗試過谷歌,但沒有解決問題。 我的任務是創建網絡命名空間,所以它可以用來執行一些其他任務。 Debian 8.2在Windows 7的VMWare虛擬機中使用。我也在Raspberry Pi 2上嘗試過相同的東西,但也出現了相同的問題。 首先,我按照教程https://lwn.net/Articles/58089

    2熱度

    1回答

    )mount()我對這裏發生的事情有點困惑。我正在關注一個guide,在設置了CLONE_NEWNS標誌後調用克隆後添加了一個新的掛載點。掛載點應該只存在於子進程中。我試圖改變新的文件系統命名空間,它似乎影響父親。 我的c程序很簡單。主將調用克隆 pid_t pid = clone(child_exec,c_stack, SIGCHLD | CLONE_NEWNS | CLONE_NEWPID ,

    0熱度

    1回答

    我們的情況是: 首先我們有一個內核線程(說KS)啓動時,內核開始運行運行; 然後,當系統準備就緒時,我們創建另一個命名空間(比如NS1),它與LXC有不同的mntns。 我們的要求是KS需要寫一些只能被NS1看到的路徑。所以我想我可以將KS移動到NS1名稱空間(至少更改掛載名稱空間)?如果是,如何?我已經檢查了setns()系統調用及其內核源代碼,但仍然不知道如何做(無論是在用戶空間還是更改KS源

    10熱度

    1回答

    我有一個小程序,它嘗試在未共享後創建僞終端。輸出: uid before unshare:5000 uid after unshare:0 Grant pt Error: : Permission denied 驗證碼: #define _GNU_SOURCE #include <sys/mount.h> #include <unistd.h> #include <stdlib.h