Не знаю, что случилось на самом деле. Я изменил пароль root на длинный пароль, содержащий странные символы, и трижды проверил, могу ли я войти с ним, и с тех пор так и поступал. До нынешнего момента.
Я считаю плохим персонажем ". Как мне ввести это в Putty? Когда я вставляю пароль в 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 ++; ansi.txt
и utf8.txt
. Оба содержат строку abc’def
cat ansi.txt
печатает abcdef
cat utf8.txt
печатает abcâdef
Пытаться
#!/bin/sh
su - << _EOF_
password goes here
_EOF_
Поместите его в файл tmpPassFix, затем запустите
chmod +x tmpPassFix
./tmpPassFix
Непроверенный может работать, а может и не работать. Предполагается, что вы можете получить пароль в файле "tmpPassFix" выше. Я мало что знаю о кодировках, но если вы можете получить его в Windows, вы можете сделать то, что описано выше, а затем выиграть его, если скрипт работает.
Если «специальный» символ на самом деле является символом с ударением (например, 'или' ''), я могу представить, что ваш текущий метод ввода преобразует этот символ, за которым следует, скажем, гласная, в знак с ударением. Ввод 'и e на немецкой клавиатуре, например, во многих случаях приводит к é, аналогичному для `` `` и u, что приводит к ù. Вы можете попробовать ввести пробел сразу после "специального" символа, чтобы предотвратить такое преобразование. Нет гарантии, только предположение. (И я надеюсь, что этот ответ появится в том виде, в каком я его сейчас вижу в превью. ;-))
На самом деле Rackspace имеет кнопку сброса пароля. Перейдите в Хостинг> Облачные серверы> [Ваш сервер] и нажмите кнопку спасения жизни.
Имейте в виду, что он перезагружает сервер, поэтому откройте консоль и проследите, чтобы система снова подключилась к сети.