防禦笨手笨腳的管理員遠端 *nix 安裝的建議方法是什麼?

防禦笨手笨腳的管理員遠端 *nix 安裝的建議方法是什麼?

偶爾(通常很長一段時間),我會遇到一個困難,那就是我執行的命令會徹底搞砸 Linux 機器。

最近,我不小心再次掛載了根分區(以為這是我剛剛格式化的新 USB 驅動器),然後繼續遞歸地 chown 該分區給自己(再次嘗試授予自己對 USB 驅動器的用戶訪問權限) )。當我意識到自己做了什麼(在進行中)時,我就中止了它,但損害已經造成了。許多核心程式不再由 root 擁有,因此機器基本上處於殭屍狀態。有些使用者功能(ssh、rsync)仍然有效,但管理層級的功能完全被鎖定。無法安裝、解除安裝、重新連線至螢幕工作階段、重新啟動等。

如果這台機器和我一起在客廳裡,「修理」它(重新安裝)就會變得非常容易。但事實並非如此。這是在我哥哥的房子裡。他不喜歡我帶他修理/重新安裝,我理解這一點。因此,我將在幾天內修復我造成的損壞(並希望安裝一些更能防止管理混亂的東西)。

我說這一切是為了問一個問題:針對 admin-hamfistedness 強化安裝的建議方法是什麼?

未考慮或考慮後很快就放棄的事:

  1. 強化管理員不執行愚蠢的命令:一個好主意,但行不通,因為作為一個人,我偶爾會做一些我事後意識到是個壞主意的事情。我想做的是提前超越自己的想法,所以當我做一些愚蠢的事情時,機器會拒絕,我會意識到“哦糟糕!那可能會非常糟糕(TM)!我們不要再次這樣做。”

我考慮過的事情:

  1. 將根分割區掛載為唯讀:將保護根分割區免受更改,如果預期部分可寫入但實際上不可寫,則可能會產生負面影響。也不一定能保護分區不會再以讀寫方式掛載到其他地方。
  2. 使用某種壓縮只讀根映像,其上方有一個類似聯合的可寫層,這樣就不會真正對根進行任何更改,並且重新啟動會清除任何錯誤:如果不需要任何更改,這將是好的/好的被設定為 root,也許 /etc 可以從其他地方的持久文件重新載入/填充。
  3. 將 btrfs 與常規(可能是每日)快照一起使用,這樣如果發生錯誤,恢復會更容易:可能仍然不是最佳的,因為它需要直接用戶幹預,而且我不知道我可以引導其他人完成回滾oops 的更改。
  4. 使用更「即時」/「嵌入式」的 Linux/BSD 發行版,其設計更考慮穩定性/可預測性/安全性,而不是更通用的發行版

就目前情況而言,我可能會使用選項 4 來安裝比我一直使用的完整 Debian 安裝更有限的系統。但作為一個檔案伺服器和 torrent 用戶端,它應該可以正常工作,並且作為一台遠端機器,保護機器免受我自己的侵害是一項相當大的資產。

答案1

殘酷的事實是,沒有什麼可以保護你免受自己的愚蠢。沒有 DWIM(照我的意思做)介面。計算機無法區分什麼是有意的,什麼是偶然的。無論你在錯誤的雜散命令上堆砌了多少抽象,都會毀掉一切。

簡單的答案是放慢速度並注意你正在做的事情

答案2

在虛擬機器中執行安裝。拍攝已知良好狀態的快照。在做任何有風險的事情之前先拍快照。在主機環境中幾乎不執行任何操作。如果搞砸了,請連接到主機環境並恢復快照。

答案3

沒有什麼可以阻止你搬石頭砸自己的腳。您「認為」根分割區是 USB 記憶棒。您也可能很容易將一台重要的機器誤認為是一次性虛擬機。

重要的是使電腦提供的服務變得多餘。

在這種情況下,您可以在兩個單獨的分割區上安裝兩個 Linux 版本。你可以告訴你的兄弟啟動另一個。

最重要的是進行備份並制定恢復策略。

在這種情況下,由於您已經承擔了兄弟電腦的責任,因此您應該持續備份盡可能多的數據,並隨身攜帶多個副本。

您也可以為您的兄弟提供一個用於啟動的 USB Linux 驅動器,並設定 SSH 伺服器和密碼。並將他的電腦設定為從 USB 啟動。然後在緊急情況下,只需讓他插入 USB 隨身碟並重新啟動電腦即可。

答案4

不要以 root 使用者身分執行操作。設定 sudo 以允許您的常規帳戶執行 root 操作,但需要密碼。這給了你最後一次機會來看看你到底在做什麼。

但是,當您以 root 身分執行時,請為強製互動式使用的常用命令設定別名。例如,在刪除之前alias rm="rm -i"會進行提示。如果你真的想要的話,rm你可以明確地涵蓋(一個有意識的決定) 。 -frm *rm -f *

你沒有說USB上的FS是什麼。通常它們是 VFAT。您可以使用選項來安裝這些文件,以使每個文件看起來都已由特定使用者擁有。那麼你實際上就不必跑步chown -r ...,從而消除了出錯的可能性。

將您的 root shell 提示字元設定為紅色,以提醒您正在以提升的權限執行。

一般來說,這會讓你以 root 身分做一些事情變得困難,例如密碼提示等障礙。

現在,在修復它之後,您可以存取另一台類似的機器,並用於find向您顯示 SUID/SGID 程式。然後用命令使損壞的磁碟與該磁碟匹配chmod

相關內容