Аутентификация в Ubuntu

У меня есть права администратора в Ubuntu 12.10, но когда я пытаюсь установить некоторые приложения Ubuntu, требующие аутентификации, я пишу свой пароль, но не работает

, кто-то может мне помочь?

2
задан 16 August 2013 в 02:35

1 ответ

Есть несколько вещей, которые нужно попробовать.

1. Убедитесь, что Caps Lock не включен.

Если вы вводите цифры с цифровой клавиатуры, убедитесь, что Number Lock включен и что MouseKeys не включен, если вы этого не хотите.

2. Убедитесь, что вы используете правильную раскладку клавиатуры.

Обычно это проблема только для людей, которые часто переключаются между различными языковыми настройками. Если вы не умышленно изменили раскладку клавиатуры после установки, это вряд ли к вам относится.

Но есть связанная проблема, которая может применяться:

3. Если вы используете раскладку клавиатуры, включающую символы, которые люди из англоязычных стран могут найти необычными ...

... тогда возможно, что какая-то ошибка может привести к тому, что пароль не будет получен и проверен правильно.

Если вы можете изменить раскладку клавиатуры и ввести пароль, попробуйте это. В противном случае см. Ниже.

4. Попробуйте сбросить пароль.

Есть несколько причин проблемы, которые иногда могут быть решены с помощью этого.

Этот вопрос объясняет, как.

Когда вы сбрасываете пароль, убедитесь, что он длиной не менее одного символа. (Конечно, в целях безопасности это должно быть намного дольше. Но пустые / пустые пароли иногда вызывают ошибки. Поэтому для устранения этой проблемы особенно важно, чтобы она не была полностью пустой. Конечно, все же лучше, если она хороший, надежный пароль.)

В случае ошибки, связанной с интерпретацией неанглийских символов, вы можете попробовать пароль, содержащий только латинские («английские») символы, цифры и / или общие на международном уровне используются знаки препинания.

Существует более простой способ изменить пароль, который обычно не применяется, но может работать в вашей конкретной ситуации. Центр программного обеспечения аутентифицируется графически с помощью PolicyKit . Вы можете попытаться изменить свой пароль не графически из командной строки. Если вы хотите попробовать это, нажмите Ctrl + Alt + T , чтобы открыть окно терминала. Затем запустите:

passwd

Это позволит вам попытаться изменить свой пароль. Вам придется ввести старый пароль, а затем новый пароль дважды. В Терминале вы не увидите никаких символов-заполнителей, таких как * при вводе пароля. Похоже, ничего не происходит. Это нормально; просто введите каждый пароль и нажмите ввод.

Если это не удается или, как кажется, успешно, но вы все еще не можете успешно пройти аутентификацию в Центре программного обеспечения, вы можете попробовать:

sudo passwd $USER

Обязательно укажите $USER. Не заменяйте это чем-либо, просто напечатайте это как есть. Он автоматически представляет ваше имя пользователя. (Это отличается от приведенной выше команды тем, что она пытается аутентифицировать вас как root , а затем изменить ваш пароль как root. Иногда это удается, когда другие методы не работают. Иногда.)

Если ни один из эти работы, вам придется попробовать сменить пароль одним из способов . Если хотите, можете просто перейти к этому.

Если вы не можете выполнить какой-либо из этих способов изменения пароля или получить сообщения об ошибках, попробуйте следующим образом . (Если вы можете изменить свой пароль успешно, но Центр программного обеспечения по-прежнему не будет аутентифицировать вас, тогда этот метод вряд ли приведет к каким-либо лучшим результатам.)

5. Я упоминал, что Центр программного обеспечения использует PolicyKit для аутентификации. Возможно, это то, что сломано.

Чтобы увидеть, попробуйте запустить эту команду в Терминале ( Ctrl + Alt + T ):

sudo echo success

Вам нужно будет ввести свой пароль (не беспокойтесь, что на экране ничего не появится при вводе) и нажмите Enter .

Если эта команда выводит success в Терминале, то вы можете выполнить команду от имени root с sudo . Затем вы должны добавить эту информацию к своему ответу, а также сообщить нам, какой вариант Ubuntu вы используете (обычный Ubuntu, Kubuntu, Xubuntu, Lubuntu и т. Д.). Вы также должны предоставить нам выходные данные этих команд:

ps aux | grep [p]olkit
pkcheck --action-id org.freedesktop.systemtoolsbackends.set --allow-user-interaction --process $(pidof -s bash)

И, пожалуйста, также опишите, что, если что-нибудь происходит, когда вы запускаете эту вторую команду, кроме текста, появляющегося на терминале. Это может быть ничто, но обычно вы получаете графический диалог аутентификации, за которым следует вывод текста.

Эта вторая команда проверяет, работает ли PolicyKit для аутентификации. ( Милан Буше-Валат заслуживает похвалы за общую форму этой команды; см. Комментарии в этой ошибке .)

Другие люди с похожей проблемой кто читает это, может создать новый вопрос и включить эти результаты (или добавить эти результаты в свой вопрос, если вы уже создали его для проблемы).

6. Вы можете использовать sudo и gksu / gksudo в качестве обходного пути.

Если sudo echo success работал (см. Выше), то независимо от вывода последующих команд это означает, что sudo работает.

sudo не может полностью заменить PolicyKit в контексте работы программного обеспечения Ubuntu. Но он может заменить его главным образом, потому что многие программы, которые используют PolicyKit для выполнения административных задач, также будут работать при запуске с sudo.

Для графических программ следует использовать gksudo, а не просто sudo . Попробуйте:

gksudo software-center

Если у вас нет gksudo, вы можете установить его. Он предоставляется пакетом gksu. Вы не можете установить его в Центре программного обеспечения, если Центр программного обеспечения не работает, но вы можете установить его в командной строке:

sudo apt-get update && sudo apt-get install gksu

Вы также можете установить другое программное обеспечение в качестве обходного пути. чтобы иметь возможность использовать Центр программного обеспечения.

Если вы не хотите устанавливать gksudo или он не работает, вы можете безопасно использовать sudo -H или sudo -i, чтобы попытаться запустить графические приложения от имени пользователя root:

sudo -H software-center
sudo -i software-center

Если sudo apt-get ... работает для установки программного обеспечения, но вы не можете заставить Центр программного обеспечения работать, запустив его с gksudo, sudo -H или sudo -i, то вы можете установить другой графический пакет для просмотра и установки / Программа деинсталляции: Synaptic.

sudo apt-get update       # you can omit this if you've run it very recently
sudo apt-get install synaptic

Некоторые из моих недавних проблем с устранением неполадок в Центре программного обеспечения позволяют мне предположить, что Synaptic может успешно работать от имени пользователя root даже в ситуациях, когда Центр программного обеспечения не может этого сделать. Это действительно просто предположение; Я могу ошибаться. Если вы не можете запустить Центр программного обеспечения, стоит попробовать.

gksudo synaptic
sudo -H synaptic
sudo -i synaptic

7. Если sudo не работает, возможно, вы не администратор.

Если вы смогли запустить sudo echo success и напечатать success в консоли ниже, где вы ввели команду, то вы являетесь администратором. (Либо это, либо у вас есть специальные привилегии для запуска команды echo от имени пользователя root, что маловероятно.)

Но если это не удалось, наиболее вероятная (хотя и не единственная) причина заключается в том, что вы не ' т действительно администратор. Иногда пользователи случайно удаляют свои собственные административные полномочия. И потенциально могут быть ошибки, которые могут вызвать это (возможно ...).

Чтобы проверить, являетесь ли вы администратором, выполните:

groups

Вы работаете в Ubuntu 12.10. В Ubuntu 12.04 и более поздних версиях (включая 12.10) администраторы являются членами группы sudo. Итак, посмотрите, указан ли sudo в выходных данных groups.

Если его нет в списке, используйте один из этих методов , чтобы снова добавить себя в качестве администратора .

  • Если они не работают, то вы можете использовать эту более сложную технику . Когда вы перейдете к шагу 9, используйте часть с надписью «В качестве альтернативы, если вы хотите сделать пользователя администратором».

Если sudo указан в списке , то может быть некоторая неправильная конфигурация, препятствующая тому, чтобы члены группы sudo были признаны администраторами. В таком случае, войдите в режим восстановления и проверьте содержимое файла /etc/sudoers.

  • Если вы не можете войти в режим восстановления, то вы можете выполнить первые 7 шагов этой процедуры (заканчивая sudo mount /dev/sda1 /mnt, заменив /dev/sda1 с корневым разделом вашей установленной системы Ubuntu, что и объясняет эта процедура, как найти).

    Затем исследовать файл /mnt/etc/sudoers. (Это можно сделать из графического браузера файлов в действующей системе или с помощью команды cat /mnt/etc/sudoers.)

Файл должен содержать:

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

В частности, в начале строки, начинающейся с %sudo, не должно быть , а не должно быть символа #. (Это сделало бы это комментарием, то есть проигнорировало Ubuntu.)

Если оно отсутствует или начинается с #, вы можете исправить это, отредактировав файл, выполнив:

visudo

Вы не должны редактировать файл без visudo , потому что visudo не позволяет вам испортить его серьезными способами и вызвать больше проблем. (Вы все еще можете создать плохую конфигурацию, но она не позволяет создать неоднозначную или бессмысленную конфигурацию, проверив хороший синтаксис.)

  • В режиме восстановления вы часто придется сначала запустить это, чтобы позволить вам внести изменения в систему:

    mount -o remount,rw /
    

    Так что либо запустите его до visudo, либо, если вы запустите visudo и невозможно сохранить изменения, затем запустите эту команду mount и повторите попытку visudo.

  • Если вы делаете это с живого CD / DVD / USB, не запускайте обычным образом visudo, потому что это не будет делать то, что вы хотите. Это отредактирует конфигурацию действующей системы . Также, в отличие от режима восстановления, на live CD вы должны использовать sudo для запуска команд от имени пользователя root. Поэтому вместо этого запустите:

    sudo visudo -f /mnt/etc/sudoers
    

    На live CD, если вы правильно выполнили шаг 7 там , вам не нужно запускать какие-либо дальнейшие команды mount (и если вы это сделали выполните эту команду mount -o remount, она не будет делать то, что вы хотели, потому что она будет пытаться перемонтировать файловую систему живого окружения, а не файловую систему установленной ОС).

8. Возможно, ваш файл sudoers настроен неправильно, менее распространенным способом.

Если вы находитесь в группе sudo, а строка %sudo ALL=(ALL:ALL) ALL присутствовала и не закомментирована в вашем файле sudoers (см. Выше), то все же возможно, что какая-то неправильная конфигурация в этом файле могла вызвать проблему.

Например, исключение (которое частично или полностью отменяет строку %sudo) может присутствовать впоследствии.

Так, если вы находитесь в группе sudo, но sudo echo success не работает при запуске, когда загружается нормально в установленную систему (т. Е. Не в режиме live CD / DVD / USB и не в режиме восстановления), пожалуйста, предоставьте нам с полным и точным содержимым файла /etc/sudoers.

Вы можете добавить это к своему вопросу.

Если вы столкнулись с подобными проблемами, вы можете добавить это к своему собственному вопросу.

0
ответ дан 16 August 2013 в 02:35

Другие вопросы по тегам:

Похожие вопросы: