為了克服拖延症,我/etc/hosts
透過添加浪費時間的網站並將它們指向 來編輯我的文件localhost
。然而,肉體是脆弱的,我經常發現自己在恢復我的改變。
我正在考慮以下解決方案,但我不知道這在技術上是否可行。
我會請一位值得信賴的朋友過來,使用我不知道的強密碼創建一個新帳戶,更改文件的所有者和權限,/etc/hosts
以便只有該新用戶才能更改該文件,並且我也不根無法再訪問它。
用例是,我在考試前請我的朋友過來,他更改了文件並採取了阻止拖延的措施,而在我需要學習的時間裡我無法自己編輯文件。考試結束後,我要求他「解鎖」文件,我就可以再次自由瀏覽。
答案1
您可以鎖定文件,這樣即使 root 使用者也無法編輯它。
sudo chattr +i /etc/hosts
在考試結束前停止閱讀這個答案:)
然後您再次使用解鎖該文件
sudo chattr -i /etc/hosts
答案2
最終,如果根訪問權限可用,就沒有萬無一失的方法可以阻止聰明的用戶做他們想做的事情。我認為除了放棄 root 存取權之外,沒有其他方法可以做到這一點。
答案3
您可以設定另一個用戶帳戶,該帳戶是常規桌面用戶,但不能使用 sudo。然後讓你的伙伴過來,用你現有的帳戶登錄,編輯 /etc/hosts 文件,然後重置你的密碼,而不告訴你密碼是什麼,然後註銷。
然後你必須使用新帳戶,該帳戶沒有編輯/etc/hosts的權限。
不過,您仍然需要鍛鍊意志力才能阻止從 Live CD/USB 啟動。
答案4
作為替代方案,在建立文件的同時/etc/hosts
,您也可以編輯該/etc/sudoers
文件或只是從群組中刪除您的使用者admin
。更改組可能更容易。
您可能應該建立一個安全保障,以便您可以將自己添加回該群組。我建議在喚醒腳本中添加一些內容/etc/rc.local
(比完全重新啟動更快)。
如果發生最壞的情況並且您被鎖定,您可以啟動到恢復模式(在 grub 中)並使用 root 控制台手動將您的使用者新增回群組admin
。