Я не могу получить доступ к корневой папке

16

У меня нет доступа к моей корневой папке: Ubuntu говорит, что у меня нет необходимых разрешений для доступа к ней. Я также не могу получить доступ lost + found, который выдает мне то же сообщение об ошибке

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

zanxt
источник
5
@DevynCollierJohnson Вероятно, нет. Вероятно, это касается /(корневого каталога), а не /root(домашнего каталога root). Кроме того, здесь также задается вопрос lost+found(который всегда есть, /но никогда не включается /root, поскольку на практике /rootэто один из немногих каталогов верхнего уровня, который никто не помещает в отдельную файловую систему.
Элия ​​Каган,

Ответы:

17

Есть две разные папки под названием папка «корень»: /( корень файловой системы , которая на самом деле единственная папка , которая когда - либо должен называться «корневой каталог»), и /root( Привилегированный пользователь «s домашний каталог ). В ходе обычной работы (т. Е. Кроме выполнения административных задач) пользователи не могут создавать новые файлы в /или /root.

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

Если у вас установлен gksuпакет, вы можете запустить его, gksudo nautilusчтобы открыть окно браузера, принадлежащее корневому файлу. Если вы сделаете это, будьте особенно осторожны, чтобы использовать его только для задач, где вы должны быть пользователем root, и закрыть его, когда вы закончите (чтобы потом не перепутать его с обычным окном Nautilus).

Если вы не gksuустановили и не хотите устанавливать его, sudo -i nautilusили sudo -H nautilusдостаточно безопасны. (Напротив, если бы вы использовали простой sudo nautilus, вам, возможно, придется исправить некоторые вещи в вашем домашнем каталоге, чтобы заставить Nautilus снова работать должным образом, когда вы не запускаете его как root.)

Тем не менее, как правило, вам не нужно это делать. Вам редко приходится вручную редактировать содержимое верхнего уровня /или содержимое /root. Я рекомендую предоставить больше информации - или задать новый вопрос - чтобы точно объяснить, чего вы пытаетесь достичь. Конкретное задание, которое вам нужно сделать, определит, как вам следует действовать.

Наконец, записка о lost+found. Это хранит файлы, восстановленные в операциях восстановления файловой системы . Поскольку такие файлы могут находиться в любом месте файловой системы, для доступа к ним требуются права суперпользователя (или любая информация в системе может быть потенциально доступна для пользователя, не являющегося администратором). Если вы считаете, что там могут быть файлы, которые вы хотите восстановить, вы можете проверить, запустив

sudo ls /lost+found

в окне терминала ( Ctrl+ Alt+ T).

Если там есть файлы, которые вы хотите, то вы можете скопировать их (и если их владельцы и права не дают вам необходимого доступа, измените их). Вы можете сделать это как пользователь root из терминала с помощью cp, chmodи chown(запустить как пользователь root sudo) или с помощью окна Nautilus, принадлежащего пользователю root, как описано выше.

Если вам нужно изменить владельца и права доступа к файлам, то:

  1. не делайте этого для большего количества файлов, чем необходимо - например, некоторые люди случайно меняют владельца или разрешения для больших частей системы, а затем приходится переустанавливать, и
  2. Я рекомендую это руководство для понимания системы владения / прав доступа в Ubuntu (которая также применима к большинству других Unix-подобных ОС). Википедия тоже может помочь.
Элия ​​Каган
источник
12

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

Но вы можете получить доступ к этой папке, если вы действительно хотите, используя sudo -iкоманду в терминале. Имейте в виду, что если вы что-то напутаете, это ваша ответственность .

Также используя наутилус, нажав клавишу Super+F2 и набравgksu nautilus

Изменение прав доступа к корневой папке.

Предполагая, что вы хотите изменить разрешение домашней папки пользователя root, которая является /rootпапкой, я бы сказал, это очень плохая идея. Потому что, если вы измените разрешение для пользователя root и удалите или измените какой-то важный файл, это может привести к невозможности использования системы. Возможно, вам придется установить Ubuntu с нуля.

Но, если вы действительно этого хотите, команда chmod:

sudo chmod -R 777 /root

позволит вам получить доступ к /rootпапке. Смотрите страницу руководства для команды chmod здесь .

Чтобы узнать больше о правах доступа к файлам, прочитайте это

Анвар
источник
Хорошо, спасибо, но как я могу изменить разрешения, чтобы иметь доступ к этим папкам, какие команды мне нужны, или вы можете предоставить ссылку для перечисленных команд, я новичок в Ubuntu. Спасибо
zanxt
@zanxt см. мой обновленный ответ
Анвар
3
Имейте в виду, что безопасность Linux и Ubuntu зависит от того, что вы не вошли в систему как root, и сохраняете права доступа к системным и корневым файлам в том виде, в котором они были установлены. Там действительно очень мало причин, почему вам нужно было бы получить доступ к корневой папке при обычном использовании. Это только для обеспечения совместимости с теми процессами, которые действительно должны быть root.
fabricator4
Даже если кто-то решил изменить разрешения /root(плохая идея), это не обязательно 777. Изменение их 770и добавление выбранных пользователей в rootгруппу позволит этим пользователям создавать, просматривать и изменять файлы /root. Кроме того, изменение владельца группы /rootна sudoпозволит администраторам получать к нему доступ. Все эти параметры действительно плохие и не должны выполняться, но установка разрешений для 777for /root, вероятно, является худшей из них. Я понимаю, что вы намерены представить этот метод , конечно, не защищать его. Я не согласен с тобой.
Элия ​​Каган