2015-07-05 34 views
1

我有時需要付錢去執行一些超出我的專業知識的編程。有時候,某人是我可能不認識的人。如何「安全地」允許他人在我的服務器上工作?

我目前的需求是配置正好在Centos上運行的Apache。

在我的主物理服務器上通過SSH進行root訪問不是一個選項。

我有什麼選擇?

一個想法是使用virtualbox(或等同)在我的主物理服務器(操作系統爲Linux)上創建VPS(客戶端爲Linux),讓他們完成工作,弄清楚他們做了什麼,然後手動實現改變我的自我。

看起來安全嗎?也許更好的選擇?謝謝

+0

請告知這個問題是否不屬於這裏,而是另一個'堆棧站點。 – user1032531

回答

1

我建議看看chroot命令。 chroot() changes the root directory of the calling process to that specified in path. This directory will be used for pathnames beginning with /. The root directory is inherited by all children of the calling process.

這一點的含義是,一旦進入chroot「jail」,用戶就看不到監獄的「外面」。你已經改變了他們的根文件。你可以包括自定義的二進制文件,或者根本沒有(我不明白你爲什麼要這樣做,但指出你決定開發者可以看不到的東西)。

我們可以使用chroot ,或者你可以使用我個人的最愛:安裝的文件,所以你的「監獄」很容易移植。

不幸的是,我是Debian用戶,我會使用 debootstrap構建一個小文件(比如5GB)的最小系統,但似乎沒有官方的RPM等價物。但是這個過程相當簡單。創建一個文件,我會這樣做dd if=/dev/zero of=jailFile bs=1M count=5120。那我們可以mkfs.ext4 jailFile。最後,我們必須安裝幷包含任何我們希望被監禁的用戶使用的文件(這是debootstrap的作用,它可以手動或使用工具下載/ bin等所有默認軟件)。

完成這些步驟後,您可以複製此文件,進行備份或移動服務器。所有這些在用戶方面幾乎沒有任何努力。

從一個簡短的谷歌搜索似乎有一個第三方工具,幾乎相同的事情debootstrap, here。如果您對編譯該工具感到滿意,可以手動構建最小系統,或者可以找到替代方案;而便攜式ext4監獄的想法對你很有吸引力,所以我建議採用這種方法。

如果這個想法沒有吸引力,您可以隨時chroot一個非常簡單的目錄。

這裏是chroot一些偉大的鏈接:

https://wiki.archlinux.org/index.php/Change_root

https://wiki.debian.org/chroot

http://www.unixwiz.net/techtips/chroot-practices.html

此外,herehere是關於使用chroot環境與OpenSSHServer很大的聯繫。

附註:我認爲這個問題並不是主題,但如果您覺得這裏的答案不夠充分,您也可以在https://serverfault.com/上詢問!

0

控制權限是Linux世界核心的一些魔力。

你... 可能添加個人作爲非root用戶,然後努力提供特定的訪問您希望他工作的文件。

這樣做需要相當數量的'nixing才能正確。

當然,這是一條路線......如果用戶正在編輯類似Apache配置文件的東西,爲什麼不在專用bitbucket或github存儲庫中設置文件?

通過這種方式,您可以看到所做的更改,確認它們是否合適,然後在閒暇時將其拉入生產環境。

+0

爲什麼你必須爲編程任務提供訪問服務器的權限?我不確定你在做什麼。您可以使用SVN或更好的GIT,並且可以讓多個人將代碼委託給您的回購站,而無需讓他們訪問您的服務器。我仍然不明白你爲什麼必須訪問你的服務器。 –

相關問題