Linux

根密碼包含無法輸入的字元

  • October 4, 2010

不知道到底發生了什麼。我將 root 密碼更改為包含奇怪字元的長密碼,並三次檢查我是否可以使用它登錄,並且一直如此。直到現在

我認為壞字元是’。如何在 Putty 中輸入?當我將密碼粘貼到 Putty 中時,該字元和其他字元將被刪除/移動。我在 Window>Translation 下設置了 UTF-8。

更新: locale返回以下內容。

LANG=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=

我(錯誤地)假設它使用的是 UTF-8。

有沒有辦法讓 su 從文件中讀取密碼?

**更新 2:**我使用 Notepad++ 創建了兩個文件;ansi.txtutf8.txt。都包含字元串abc’def

cat ansi.txt印刷品abcdef

cat utf8.txt_abcâdef

如果“特殊”字元實際上是一個重音字元(如 ’ 或 ```),我可以想像您目前的輸入法將這個字元轉換為一個重音字元,例如,元音字元。例如,在德語鍵盤上輸入 ’ 和 e 在許多情況下會產生 é,類似於 ```` 和 u 會產生 ù。您可以嘗試在“特殊”字元後直接輸入一個空格來防止這種轉換。沒有保證,只是猜測。(我希望這個答案會像我現在在預覽中看到的那樣出現。;-))

嘗試

#!/bin/sh
su - << _EOF_
password goes here
_EOF_

將其放入文件 tmpPassFix 然後執行

chmod +x tmpPassFix
./tmpPassFix

未經測試可能有效,也可能無效。這是假設您可以在上面的“tmpPassFix”文件中獲取密碼。我對編碼知之甚少,但是如果您可以在 Windows 中獲取它,您可以執行上述操作,然後再將其 wincp 完成,前提是腳本可以正常工作。

引用自:https://serverfault.com/questions/187156