Каким-то образом мне удалось chmod и забить мой ~ в забвение.
Когда я пытаюсь войти через оболочку, я получаю
bash: ~/.bashrc : Permission denied
Даже после ( как root ) я запускаю
chown -hR nroach44 /home/nroach44
и [ 119]
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
Любая помощь?
chmod -R 666 /home/nroach44
или
chmod -R 644 /home/nroach44
Это сделает все файлы в вашем домашнем каталоге не исполнимыми. Это была плохая идея;)
Я не знаю, как убрать этот беспорядок, так как быстрый обходной путь, который вы можете попробовать сделать как root:
chmod -R 755 /home/nroach44
выполнить разрешения для всех файлов в вашей домашней папке. Это должно решить ваши насущные проблемы, но это может стать кошмаром безопасности.
Лучшее решение - открыть другую учетную запись пользователя и передать ей файлы и настройки один за другим.
Поскольку у вас достаточно прав доступа к ~, вам нужно /home
иметь разрешение x для других (sudo chmod +rx /home
) и проверить, в порядке ли разрешения в файле /home/nroach44/.bashrc
.
Еще один момент, каталоги должны иметь x разрешений, чтобы разрешить вход в них, поэтому для их исправления необходимо запустить sudo chmod -R +X /home/nroach44
.
Это потому, что вы испортили права доступа ко всем файлам в вашей папке 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
, если приведенные выше команды дают разрешение, запрещенное. затем
сначала запустите chown под именем sudo
sudo chown user1:usergrp ~/.bashrc
замените user1 на ваше имя пользователя и usergrp на вашу группу пользователей по умолчанию.
Теперь снова выполните
chmod 644 ~/.bashrc
, теперь у вас будут права для сценария basrc, теперь попробуйте войти в систему и проверить, нет ли других ошибок:)
Для открытия каталогов необходимо установить бит x (для каталога, который рассматривается как бит поиска). Поэтому я использую дерево, чтобы я мог получить только набор папок и избежать кошмара, когда все файлы установлены как исполняемые файлы (опция для дерева - -d List directories only.
):
sudo tree -faid /home/nroach44 | xargs -L1 -I{} sudo chmod 755 "{}"
Предупреждение !! ! вы должны иметь это в виду:
использование chmod или chown recursive в корневом каталоге /
или системных каталогах разрушит вашу ОС (на самом деле все, что рекурсивно в каталоге /
или системные каталоги опасны)
это не очень хорошая практика безопасности, чтобы устанавливать такие объемы разрешений
В каталогах должен быть установлен бит выполнения, чтобы вы могли спуститься в каталог. Обычное 666
просто неправильно, даже если вы работаете от имени пользователя root. Это дает всем права на запись.
Чтобы сделать файлы более безопасными, запустите:
chmod -R 640 /home/nroach44
Чтобы снова сделать папки доступными для запуска, выполните:
find /home/nroach44 -type d -exec chmod 750 \;
Примечание: я выбрал xx0, потому что некоторые файлы могут быть чувствительны и не читаются другими. Просто чтобы сохранить, удалите разрешения на чтение / запись / выполнение для всего мира.