不知道真的发生了什么。 我将root密码更改为包含奇怪字符的长密码,并且三重检查了我可以使用它login,并且一直保持此状态。 到现在为止 。
我认为糟糕的性格是一个'。 我如何在腻子中input? 当我在Putty中粘贴密码时,该字符和其他一些被移除/移动。 我已经在窗口>翻译下设置了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 ++创build了两个文件; ansi.txt和utf8.txt 。 都包含stringabc'def
cat ansi.txt打印abcdef
cat utf8.txt打印abcâdef
如果“特殊”字符实际上是一个重音字符(比如'或“`),我可以想象你当前的input方法将这个字符转换成一个重音字符。 在德语键盘上input'和e,在很多情况下会导致é,类似于“`和u导致ù。 您可以尝试在“特殊”字符后面直接input空格,以防止这种转换。 没有保证,只是一个猜测。 (我希望这个答案会出现,因为我现在在预览中看到它;-))
尝试
#!/bin/sh su - << _EOF_ password goes here _EOF_
把它放在一个文件tmpPassFix然后运行
chmod +x tmpPassFix ./tmpPassFix
未经testing可能会或可能不会工作。 假设你可以在上面的“tmpPassFix”文件中获得密码。 我对编码知之甚less,但是如果你能在windows中得到它,你可以做上面的事情,然后winscp,提供脚本。
Rackspace实际上有一个重置密码button。 转到主持>云服务器> [您的服务器],然后单击救生button。
要知道,它重新启动服务器,所以打开控制台,并监视系统再次联机罚款。