Linux
根密碼包含無法輸入的字元
不知道到底發生了什麼。我將 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.txt
和utf8.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 完成,前提是腳本可以正常工作。