Я не можу отримати доступ до кореневої папки


16

У мене немає доступу до моєї кореневої папки: Ubuntu каже, що я не маю необхідних дозволів для доступу до неї. Я також не можу отримати доступ lost + found, що дає мені те саме повідомлення про помилку

Чи є тут хтось, хто може дати відповіді на ці запитання?


5
@DevynCollierJohnson Мабуть, ні. Мабуть, ймовірно, що це питання про /(кореневий каталог), а не /root(домашній каталог root). Крім того, це також запитує про lost+found(що завжди є, /але ніколи не існує /root, оскільки на практиці /rootце один з небагатьох каталогів найвищого рівня, який ніхто не ставить на окрему файлову систему.
Eliah Kagan

Відповіді:


17

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

Не слід змінювати право власності або дозволи на будь-який каталог ( /зокрема, їх зміна може порушити речі дуже погано, можливо навіть поза створенням проблем із безпекою залежно від того, які припущення ваших програм та служб мають щодо власності та дозволів /).

Якщо у вас встановлений gksuпакет, ви можете запустити, gksudo nautilusщоб відкрити вікно браузера файлового файлу, що належить корінню. Якщо ви це зробите, будь ласка, будьте дуже обережні, щоб використовувати його лише для завдань, де ви маєте викорінити корінь, і закрити його, коли ви закінчите (щоб потім не сплутати його зі звичайним вікном Nautilus).

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

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

Нарешті, примітка о lost+found. Тут зберігаються файли, відновлені в операціях по ремонту файлової системи . Оскільки такі файли можуть бути з будь-якої точки файлової системи, потрібно вимагати кореневих дозволів для доступу до них (або будь-яка інформація в системі потенційно може отримати доступ хтось, хто не є адміністратором). Якщо ви думаєте, що там можуть бути файли, які ви хочете повернути, ви можете перевірити, запустивши

sudo ls /lost+found

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

Якщо там є потрібні файли, ви можете скопіювати їх (і якщо їх права власності та дозволи не надають необхідного доступу, змініть їх). Ви можете зробити це як корінь із Терміналу з cp, chmodі chown(запустити як root sudo), або з кореневим вікном Nautilus, як описано вище.

Якщо вам потрібно змінити право власності та дозволи на файли, то:

  1. переконайтеся, що не робити це для більшої кількості файлів, ніж потрібно - наприклад, деякі люди випадково змінюють право власності або дозволи для великих частин системи, а потім доведеться перевстановити, і
  2. Я рекомендую цей посібник для розуміння системи власності / дозволів в Ubuntu (що також стосується більшості інших Unix-подібних ОС). Також може допомогти Вікіпедія .

12

Так, це нормально для Ubuntu та кожного дистрибутива Linux. Ви не можете отримати доступ до кореневої папки, оскільки ця папка належить корінь та це папка користувача.

Але ви можете отримати доступ до цієї папки, якщо дуже хочете, використовуючи sudo -iкоманду в терміналі. Попереджуйте, що якщо ви щось зіпсуєте, це ваша відповідальність .

Також використовуйте nautilus, натиснувши клавішу Super+F2 та ввівшиgksu nautilus

Зміна дозволів кореневої папки.

Припускаючи, що ви хочете змінити дозвіл домашньої папки root користувача, яка є /rootпапкою, я б сказав, це дуже погано ідея. Тому що, якщо ви зміните дозвіл будинку на root і видалите або змінили якийсь важливий файл там, це може призвести до абсолютно непридатної системи. Можливо, вам доведеться встановити Ubuntu з нуля.

Але, якщо ви цього дуже хочете, команда є chmod:

sudo chmod -R 777 /root

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

Щоб дізнатися більше про дозволи на файл, прочитайте це


Добре Дякую, але як я можу змінити дозволи, щоб я міг отримати доступ до цих папок, які команди мені потрібні, чи можете ви, будь ласка, надати посилання на перелічені команди, я новачок у ubuntu. Спасибі
zanxt

@zanxt дивіться мою оновлену відповідь
Anwar

3
Майте на увазі, що безпека Linux та Ubuntu покладається на такі речі, як не вхід у систему як root та підтримка дозволів на системні та кореневі файли під час їх налаштування. Насправді дуже мало причин, чому вам потрібно було б отримати доступ до кореневої папки при звичайному використанні. Тільки там можна забезпечити сумісність із тими процесами, які справді потребують корінства.
fabricator4

Навіть коли хтось вирішив змінити дозволи на /root(погана ідея), вони не повинні бути 777. Якщо їх змінити 770та додати до rootгрупи вибраних користувачів, вони дозволять створювати, отримувати доступ та змінювати файли в них /root. Крім того, зміна власника групи на /rootна sudoдозволить адміністраторам отримати доступ до неї. Всі ці варіанти дуже погано і не повинно бути зроблено, але установка дозволів 777для /rootймовірно , найгірший з них. Я розумію ваш намір представити цей метод - це, звичайно, не відстоювати його. Я з вами не згоден.
Елія Каган
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.