Linux 上的 rbash – 了解有限的 Bash


本文解釋了 Linux 的 rbash 是什麼,如何根據您的需要使用它,以及它如何影響您的系統。

同時,我們還將討論它的安全性。

什麼是rbash?

受限外殼或 rbash顧名思義,它類似於 bash,但不同之處在於它有許多限制,阻止用戶執行某些操作。我出於安全目的使用 bash,但它有一個額外的安全層來執行這些限制。

為什麼在 Linux 上使用 rbash?

我在 Linux 上使用 rbash,並希望為我的用戶提供有限的權限,例如使用某些程序。防止用戶更改目錄。

Internet 上的許多網站都安裝了 rbash,以防止系統過度使用。

許多在線學習網站在其學習內容中使用受限 shell (rbash) 用於教育目的,並允許以有限的方式訪問 bash 以防止不必要的使用。

在 rbash 中實現的限制

Restricted shell (rbash) 強制執行限制 –

  • 限制使用更改目錄 cd
  • 使用包含正斜杠 ( / ) 的命令名稱
  • 更改各種路徑和環境變量
  • 從導入的函數啟動 bash 時的環境
  • bash啟動時解析環境值
  • 使用 > 、 >| 重定向輸出並使用 、 >& 、 &> 和 >> 重定向運算符
  • 請指定包含“/”或“-”的文件名 history, hash -p . 內置命令
  • 在內置命令中指定“-p”選項
  • 要關閉受限模式,請使用“set +o limited”或“set +r”。
  • 使用“啟用”內置啟用禁用的內置
  • 使用 exec 將 shell 替換為另一個命令

檢查命令是否在使用中 type 使用關鍵字為命令添加前綴以查看它是否是內置命令。

type <command-name>
按鍵輸入

有關更多信息,請參閱 Rbash GNU 文檔,或者您可以使用 man 命令訪問系統的聯機幫助頁,方法是運行 –

man rbash

rbash 聯機幫助頁將打開,如下所示。

Rbash 文檔

在 Linux 上啟動 rbash

您可以通過運行以下命令在 Linux 受限 Bash 中啟動 rbash:

rbash

bash -r

它看起來像這樣。 要檢查 rbash 是否已啟用,您可以運行如下受限命令: cd .

啟用 rbash啟用 rbash

在 Linux 上測試 rbash

現在我們在 Linux 上啟用了 rbash,讓我們對其進行測試。

當我嘗試使用 cd 我得到錯誤 rbash: cd : restricted ,它應該是這樣的。 由於 cd 受 rbash 限制。

Rbash 中 Cd 命令的限制Rbash 中 Cd 命令的限制

然後,當我嘗試將輸出重定向到文件時,我收到了類似的錯誤,因為 rbash 限制了輸出重定向。

Rbash 限制輸出重定向Rbash 限制輸出重定向

rbash 的局限性

像許多其他東西一樣,rbash 有一些限制 –

  • 當遇到一個實際上是 shell 腳本的命令時,rbash 將允許阻止腳本運行的任何限制。
  • Rbash 不是很安全,可以通過多種方式破解
  • 從 rbash 運行 bash 使用戶可以不受限制地訪問。
  • 不足以嘗試不受信任的軟件

獎金

  • 您可以使用 rbash 作為默認值在您的系統上創建來賓用戶 bash 環境並使其可供其他用戶使用。因此它不會破壞您的系統或乾擾您的個人數據。
  • 最佳實踐建議使用 Restricted Bash 和 chroot jails 來限制對整個系統的訪問。

結論是

在本文中,我們解釋了 Linux 中的受限 Bash 或 rbash 是什麼,以及為什麼它在各種地方(例如電子學習網站)中使用。它還介紹瞭如何使用 rbash,它如何與基本 bash 一起工作,以及如何在您的系統上使用 rbash。