Linux
Linux權限被拒絕
我執行的每個命令都以 root 身份拒絕了我的權限,這發生在我更改 /etc/fstab 並重新安裝 ext4 後不久。
我似乎能夠執行的唯一命令是 echo 和 cd,並不是說它有很大幫助,我嘗試過的所有其他命令都顯示以下內容:
bash: /bin/ls: Permission denied bash: /bin/bash: Permission denied bash: /bin/mount: Permission denied bash: /bin/chmod: Permission denied
所有正在執行的程序都在繼續執行,我也無法通過 SSH 登錄,因為這也給了我被拒絕的權限,所以只有我現有的連接在工作。我相信這可能是由 noexec 引起的,但我無法執行 mount 來修復它,它位於根文件系統上。此外,如果可能的話,我寧願不重新啟動,因為它在 fstab 中被更改,它可能會再次發生。
我已經用盡了我所有的想法,並且搜尋 mount 或 chmod 都沒有幫助,因為它們被拒絕,就像我想到的幾乎所有其他命令一樣。
echo
並且cd
是 shell 內置命令,這就是它們仍然“執行”的原因。要修復 fstab,請執行命令
while read x; do echo "$x"; done < /etc/fstab
這將顯示 /etc/fstab 的內容,然後執行
while read x; do echo "$x"; done > /etc/fstab
這會破壞
/etc/fstab
(一件非常糟糕的事情),但可以讓你用你在終端輸入的內容替換它。然後繼續輸入(或者如果你很幸運,複製並粘貼) 的原始內容
/etc/fstab
,修改,以便你可以再次在根文件系統上執行東西。使用 Control-D(或任何您的 tty eof 字元)終止輸入,然後重新啟動(或重置/重啟)電腦。
乾淨地重新啟動可能會很困難,因為它會想要執行一些東西來做到這一點,所以你可能會被迫重置/重啟 - 但如果緩衝區記憶體沒有被刷新到磁碟,那可能會有風險……你可以做的最好在做之前給它一點時間。