root 無法登入【求助】



贊助商連結


b90220208
2004-06-30, 05:32 PM
請問前輩,我在win2000的電腦用ssh由internet登入linux主機後,利用vi /etc/ssh/sshd_config 將其中的 PermitRootLogin yes 改成no後並加入了中文註解然後存檔離開...

之後我為測試就馬上exit登出再重新以ssh登入,結果還是能夠以root身分登入,我猜想可能要先重新啟動sshd,於是下了如下命令(我以為可以這樣做):
/etc/rc.d/init.d/sshd restart

我忘了他顯示了什麼...,只記得我又下了指令:reboot
結果惡夢就來了---首先是無法重新啟動,接著是當我直接在linux本機的x-window介面選擇關機後,他告訴我密碼不正確.是了幾次都一樣,於是我便按電源鈕強制重新開機,當再度開機時,竟然顯示了:
1.Couldn't open /proc/partitions: no such file or directory
is /proc mounted?

2.***An error occurred during the file system check.
Give root password for maintenance:
然後我輸入root密碼竟都無法登入.....what happen ??

贊助商連結


linux_xp
2004-06-30, 06:50 PM
最初由 b90220208 發表
請問前輩,我在win2000的電腦用ssh由internet登入linux主機後,利用vi /etc/ssh/sshd_config 將其中的 PermitRootLogin yes 改成no後並加入了中文註解然後存檔離開...

之後我為測試就馬上exit登出再重新以ssh登入,結果還是能夠以root身分登入,我猜想可能要先重新啟動sshd,於是下了如下命令(我以為可以這樣做):
/etc/rc.d/init.d/sshd restart

我忘了他顯示了什麼...,只記得我又下了指令:reboot
結果惡夢就來了---首先是無法重新啟動,接著是當我直接在linux本機的x-window介面選擇關機後,他告訴我密碼不正確.是了幾次都一樣,於是我便按電源鈕強制重新開機,當再度開機時,竟然顯示了:
1.Couldn't open /proc/partitions: no such file or directory
is /proc mounted?

2.***An error occurred during the file system check.
Give root password for maintenance:
然後我輸入root密碼竟都無法登入.....what happen ??

帳號,實際儲存檔案位置於:/etc/passwd
root的判定,為系統編號0

密碼,有啟動shadow的話,會儲存於/etc/shadow
有MD5加密,無法直接更改
把root那一行的密碼,直接刪除即可,空白代表不用密碼

/etc/ssh/sshd_config 是ssh服務的設定檔
不管怎麼改,應該都不會損到系統帳號才對.....


訊息中文翻譯:
-------------------------------------------

1.Couldn't open /proc/partitions: no such file or directory
is /proc mounted?

無法開啟 /proc/partitions :沒有這個檔案或目錄

請問有把 /proc mounted(掛載)上去嗎?


2.***An error occurred during the file system check.
Give root password for maintenance:


在系統檢查file system(檔案系統,ex3)的期間,發生一個錯誤
請輸入root密碼給機器:
-----------------------------------------------

八成是硬碟磁區或分割表毀損了....

Linux重開機,只要按<Ctrl> + <Alt> + <Del> 就行了

Linux預設共有七個終端機
若目前終端機沒有回應,可切到其他終端機
例如:<Ctrl> + <Alt> + F1~F6,即可繼續使用
有時終端機會當掉,但七個全部當掉,機率比較低,F7是x-window

強制關閉電源的話,對硬碟很傷

b90220208
2004-06-30, 06:51 PM
最初由 Davis 發表
進Single User Mode看看. 希望透過這個事件, 你能學到二件事情:
用root身份做任何事前, 最好都要先確認一下可能造成的影響
顯示的訊息是很重要的, 不要像操作WINDOWS一樣看都不看一直按下一步 :D


抱歉,請問single user mode怎麼進去...@#$%?(請原諒,我很菜)

ellery
2004-07-02, 08:09 AM
single user mode 要去主機端的 console 去操作
不能用遠端登入.

不管有沒有使用 ssh,
不應該以 root 帳號就可以直接
遠端登入, 這樣會有安全問題.

b90220208
2004-07-02, 10:23 AM
感謝ellery的回應...

還有...不好意思~linux_xp,不知為何我上篇回應時並無看見你的文章...

我目前的狀況就是每次重開機都只會出現如下虛線後的訊息,因此實在不知怎麼繼續下一步動作...

還有我仔細回想,造成系統損壞的原因可能是我的幾個動作:

1. ~原先為了測試ssh以一般user登入後再執行su 輸入root密碼的功能~
我先將/etc/ssh/sshd_config 中的 PermitRootLogin yes 改成no後並加入了中文註解然後存檔離開...

2. 結果重新ssh登入時我因仍然可以以root登入,所以我判斷不是linux要重新啟動就是sshd服務要重新啟動

3. 於是我先是執行了/etc/rc.d/init.d/sshd restart (我以為可以這樣做):
結果當然得到錯誤回應,於是我就按了Ctrl+Alt+Del企圖重新開機,結果得到如下錯誤訊息:
shutdown: warning: cannot open /var/run/shutdown.pid
[zkmem](1.1)
idt=0xc037d000, sct[]=0xc0302c30, Can't find kmalloc()!

4. 正因如此,我才不得已按reset按鈕強迫重新開機,只是開機後就出現了如我開版的錯誤訊息(帳號密碼兜不起來)...之後我只好按電源鈕強迫關機.

5. 我曾經以root登入同時存在於兩個終端機...不知這樣會否有不良影響?
(例如第一個掛在那裡不動或執行指令失敗如reboot,時我又以root登入第二個)

6. 而目前,開機後的情況變成了如下情形:

-------------------------------------------------------------------
Mounting proc filesystem:[failed]
Loading default keymap (us):[failed]
Mounting USB filesystem:[failed]

Your system appears to have shut down uncleanly
Press Y with 1 seconds to force file system integrity check...
awk: cmd. line:2 fatal: cannot open file `/proc/mounts' for reading (No such file or directory)
Checking root filesystem
Is /proc mounted?
[failed]
*** An error occurred during the file system check.
*** Dropping you to a shell; the system will reboot
*** when you leave the shell.
Give root password for maintenance
(or type Control-D for normal startup):
按Control-D重開機後還是一樣的結果
輸入root 密碼後出現下方訊息:
bash: id: command not found
bash: id: command not found
bash: id: command not found
bash: [: too many arguments
(Repair filesystem) 1 #

JoyDai
2004-07-04, 05:18 PM
試試看進入單機維護吧!
在開機的倒數時...按下esc鍵.....
輸入:boot -s 或 linux -s (不一定是那個,您自己試試看)
再輸入 passwd root 更改 root 密碼
改完密碼後...記得按 ctrl+d 結束..讓系統繼續開機.....

試試看吧

b90220208
2004-07-04, 10:14 PM
以下4步驟是我在CLDP -- Linux 中文文件計劃中找到的回復系統方式,
可否請教前輩此4步驟的目的是什麼?
為何我照他的方式,到第4步驟時,系統不讓我進行fsck



1.
使用 tomsrtbt 開機磁片開機
-------------------------
2.
將/分割區(ex:/dev/hda4 /)掛載到 /rootpart
bash# mkdir /rootpart
bash# mount /dev/hda4 /rootpart
bash# cat /rootpart/etc/fstab
閱讀 fstab 的內容,並且按照 fstab 檔案掛上 (mount) 分割區。像下面這樣 -
bash# mount /dev/hda5 /rootpart/boot
bash# mount /dev/hda6 /rootpart/usr
bash# mount /dev/hda7 /rootpart/var
bash# mount /dev/hda8 /rootpart/opt
bash# mount /dev/hda9 /rootpart/root
bash# mount /dev/hda10 /rootpart/home
--------------------------------------------
3.
編輯 /etc/fstab (不是 /rootpart/etc/fstab) 並且加入(以下程式碼範例)
/dev/hda4 /rootpart ext2 defaults 1 1
/dev/hda5 /rootpart/boot ext2 defaults 1 1
/dev/hda6 /rootpart/usr ext2 defaults 1 1
/dev/hda7 /rootpart/var ext2 defaults 1 1
/dev/hda8 /rootpart/opt ext2 defaults 1 1
/dev/hda9 /rootpart/root ext2 defaults 1 1
/dev/hda10 /rootpart/home ext2 defaults 1 1
/dev/hda11 /rootpart/win95part vfat defaults 1 1
------------------------------------------------------

4.
使用 fsck 或 e2fsck 指令修復有問題的分割區。