Я не могу ничего сделать в Ubuntu без прав root. Когда я запускаю emacs, он говорит, что не может получить доступ к файлам (и запускается в sudo и работает нормально). Firefox выдает проблемы безопасности, пока я не стану root и т. д. и не знаю, как это исправить.
Я перешел в su, очистил sudo и переустановил, думая, что это исправит ситуацию (потому что в какой-то момент я отредактировал файл sudoers с помощью emacs, а не visudo), но безрезультатно. Есть идеи? Это очень раздражающий опыт
редактировать:для получения дополнительной информации. до этого я пытался запустить Virtualbox как sudo (версия с графическим интерфейсом) и у меня возникли проблемы с ним, говорящие о том, что он не может получить доступ к данной машине. Поэтому я хотел убедиться, что ВСЕ мои команды выполняются как root, поэтому я добавил себя в файл sudoers (имя пользователя (ALL) = (All) и т. д. синтаксис), и все было в порядке некоторое время. затем эти проблемы возникли с firefox и emacs и т. д. поэтому я предполагаю, что каким-то образом я неосознанно удалил себя из групп, которые имели доступ к этим файлам в прошлом
правка №2:для конкретной ошибки при запуске emacs он говорит "не удается открыть файл загрузки :/home/path.../.emacs.d/elpa/asynch-20151104.2113/async-pkg ... теперь это происходит ТОЛЬКО когда я не запускаю как sudo из терминала. может быть, я напутал с разрешением pkg? Ошибка firefox была похожа на эту (код ошибки: sec_error_bad_signature), однако я не могу воспроизвести проблему после удаления моей папки ~/.modzilla. есть идеи?
решение1
Похоже, в вашем домашнем каталоге есть файлы, принадлежащие пользователю root.
Это могло быть вызвано запуском приложений с sudo в прошлом, и сохранением этими приложениями файлов в вашем домашнем каталоге.
Чтобы найти список файлов, принадлежащих пользователю root, в вашем домашнем каталоге, попробуйте
find /home/ -uid 0
Затем вы можете вернуть их обратно пользователю по мере необходимости.
chown myuser:myuser -R [files]
Где files — это конкретные файлы или подкаталог. Обычно не стоит запускать такую команду по всему домашнему каталогу, на тот случай, если некоторые владельцы файловпреднамеренныйили необходимый для чего-то.
Что касается причины проблемы, то некоторые приложения сохраняют файлы в вашем домашнем каталоге во время своей нормальной работы, например, файлы конфигурации или кэша. Это очень распространено в графических приложениях, но некоторые неграфические приложения все еще могут это делать. Теперь, если вы используете sudo
, и приложение делает это, оно создаст файлы, принадлежащие root, в вашем домашнем каталоге. Затем, будущие попытки запустить это приложениебезroot может потерпеть неудачу, поскольку теперь есть файлы, которые может открыть только root.
Решение — снова изменить владельца этих файлов на своего пользователя или удалить их, если вы не считаете, что они важны.
Чтобы избежать этой проблемы в будущем, при использовании sudo вы можете использовать
sudo -H [command]
Если это графическое приложение, вы можете использовать
gksudo [command]
Это указывает приложению использовать домашний каталог пользователя root вместо вашего собственного домашнего каталога.