~ Дозвіл відмовлено ~, навіть якщо власник вказав мене


13

Якось мені вдалося chmod і придушило ~ у небуття.

Коли я намагаюся увійти через оболонку, я отримую

bash: ~/.bashrc : Permission denied

Навіть після того, як ( як root ) я забіг

chown -hR nroach44 /home/nroach44

і

chmod -R 666 /home/nroach44

або ( як nroach44 )

chmod -R 644 /home/nroach44

Жодна з цих команд не повертає помилок.

Також:

ls -la /home/nroach44

Повертає багато

drw-rw-rw-  1 nroach44 nroach44 4096 --date-- ti:me foldername

Будь-яка допомога?


Дякую всім! Будь-яке керівництво щодо того, які файли потребують дозволів у домашній папці зараз? :)
NRoach44

/homeповинна бути drwxrwxr-xі root:rootта в /home/user rw rw -- or r-залежності , якщо ви хочете , щоб інші користувачі читати ваші файли користувачів. Каталоги та виконувані файли з x. Цей самий внутрішній userкаталог не буде проблемою, якщо у вас є група = користувач (nroach44: nroach44), як у вас, здається, (я б дав лише 0 (---) дозволів для інших).
Лоран

Відповіді:


14
chmod -R 666 /home/nroach44

або

chmod -R 644 /home/nroach44

Це зробить усі файли вашого домашнього редактора не виконаними. Це була не дуже гарна ідея;)

Я не знаю, як почистити цей безлад, як швидке вирішення, яке ви можете спробувати зробити як root:

chmod -R 755 /home/nroach44

Ця команда надасть дозволи на виконання всіх файлів у вашій домашній папці. Це повинно вирішити ваші негайні проблеми, але це може бути кошмар безпеки.

Найкраще рішення - відкрити інший обліковий запис користувача та передати в нього файли та налаштування по черзі.


6
Я не знав, що для відкриття каталогів потрібні x дозволи. Дякую!
NRoach44

5

Для каталогів потрібно встановити біт виконання, який дозволяє вам спускатися в каталог. Звичайна 666помилка, навіть якщо ви працюєте як root. Це дає всім права на написання.

Щоб зробити файли більш безпечними, запустіть:

chmod -R 640 /home/nroach44

Щоб зробити папки знову доступними, запустіть:

find /home/nroach44 -type d -exec chmod 750 \;

Примітка. Я вибрав для xx0, оскільки деякі файли можуть бути чутливими і не можуть читати інші. Щоб зберегти, видаліть дозволи на читання / запис / виконання для всього світу.


Мені було лише 666 'тестувати, чи спрацює це чи ні :)
NRoach44

4

Оскільки, здається, у вас є достатньо дозволів на ~, ви повинні /homeмати дозвіл x для інших ( sudo chmod +rx /home) і перевірити, чи дозволені /home/nroach44/.bashrcфайли в порядку.

Ще один момент: каталоги повинні мати x дозволи, щоб дозволити вводити їх, щоб виправити їх усі, потрібно запустити sudo chmod -R +X /home/nroach44.


Знаючи дозволи на виконання файлів, потрібні для введення папок, було б приємно знати раніше, тому дякую!
NRoach44

Я не знав капіталу X+1
Лекенштейн

Капітал Xдуже корисний, і я дуже радий виявити його теж ... після довгого часу використовуючи пошук !!
Лоран

1

Це тому, що ви переплутали дозволи всіх файлів у папці HOME. Будьте дуже обережні, граючи з дозволами на файли, використовуйте chmod та chown дуже обережно, інакше ви можете зіпсувати.

bash: ~/.bashrc : Permission denied

Я думаю, ви змінили дозволи всіх файлів у вашому домашньому каталозі, тому дозвіл bashrc також змінився.

Дозвіл сценарію ~ / .bashrc є типовим

-rw-r--r-- 1 user1 user1  3353 2012-01-09 12:05 .bashrc

Щоб пояснити це, ви повинні мати як права на читання, так і на запис у файл, інші користувачі групи користувачів повинні мати змогу його читати, а всі інші також можуть його читати.

Тож тепер змініть дозволи bashrc скрипту за допомогою chmod на 644

chmod 644 ~/.bashrc

якщо вищезазначені команди дають дозвіл відмовлено. потім

першим керуйте як судо

sudo chown user1:usergrp ~/.bashrc

замініть user1 на ваше ім'я користувача та usergrp на вашу групу користувачів за замовчуванням.

Тепер знову зробіть

chmod 644 ~/.bashrc

тепер у вас будуть дозволи на скрипт basrc, тепер спробуйте увійти та перевірити, чи є у вас інші помилки :)


0

Для відкриття каталогів потрібно встановити х біт (для каталогу, який розглядається як біт пошуку). Тому я використовую дерево, щоб я міг отримати лише набір папок і уникнути кошмару, коли всі файли встановлені як виконувані файли (опція для дерева є -d List directories only.):

sudo tree -faid /home/nroach44 | xargs -L1 -I{} sudo chmod 755  "{}"

Увага!!! Ви повинні це враховувати:

  • використання chmod або chown рекурсивних у кореневому /каталозі чи системних каталогах знищить вашу ОС (фактично все рекурсивне в /каталогах або системних каталогах небезпечно)

  • це не є хорошою практикою безпеки для встановлення такої маси дозволів

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.