Вопрос или проблема
Я полагаю, мне нужна помощь от опытного пользователя Unix…
На системе Ubuntu я сделал что-то глупое. Я ввел sudo chmod 774 .*
или что-то подобное в подпапке своей домашней папки, и вдруг я больше не смог перейти в свою домашнюю директорию. Я не совсем уверен в точных цифрах в команде, но я уверен в .*
.
Теперь, после перезагрузки, я даже не могу войти в графический интерфейс, и когда я Ctrl + Alt + F1
открываю консоль и вхожу, я получаю сообщение No directory, logging in with HOME=/
.
Когда я пытаюсь cd
в /home/myusername
, я получаю ошибку: -bash: cd: /home/myusername: Permission denied
. Также ls
не может получить доступ к папке.
Я проверил права доступа к /home/myusername
с помощью sudo, и они все правильно установлены:
drwxr-xr-x 25 myusername myusername 4096 Aug 26 17:30 myusername
Тестовый пользователь, которого я создал, имеет те же проблемы. Он также не может войти в графический интерфейс. Только гостевая сессия может это сделать (я полагаю, это потому, что домашняя папка гостя создается внутри /tmp
).
Что мне нужно сделать, чтобы восстановить мои права доступа/получить доступ к моей домашней папке снова??? Есть какие-нибудь предложения?
С уважением, Себастьян
Итак, вы владеете своей домашней директорией /home/myusername
и имеете права rwx
на нее.
Но
cd /home/myusername
вызывает Permission denied
?
Это похоже на то, что вам не разрешено смотреть на /home
с самого начала, прежде чем доходит до поиска myusername
в этой директории.
С помощью
sudo chmod 774 .*
в /home/myusername
вы включили файл ..
.
А /home/myusername/..
– это то же самое, что и /home
.
Права доступа были применены как root, поэтому 4
– это то, что применяется к вам как к обычному пользователю. это r--
, он не содержит права на выполнение. В директории права на выполнение позволяют вам заглянуть внутрь директории.
Проблема касается всех пользователей, чьи домашние директории находятся под /home
, как вы уже выяснили.
Вы можете использовать эту команду Linux :
sudo chown -v -R user:user /home/user/
а затем используйте эту
sudo chown -v -R user:user /home/user/..
Ответ или решение
К сожалению, столкнувшись с описанной вами ситуацией, вы изменили права доступа к родительскому каталогу с использованием команды chmod
на каталоги, которые содержат ..
(родительский каталог). Давайте разберемся, в чем именно проблема, и как ее можно решить.
Проблема
Когда вы выполнили команду sudo chmod 774 .*
, вы изменили права доступа к текущему каталогу и всем его элементам, включая ..
, который ссылается на родительский каталог. Права 774
подразумевают, что для владельца (root) имеются права на чтение, запись и выполнение (rwx), для группы — чтение и запись (rw-), а для других пользователей — только чтение (r–). Это означает, что другие пользователи не получат доступа к исполняемым правам (x) в директориях, что является решающим для возможности перехода в эти каталоги.
Ваша описанная ошибка при попытке войти в домашний каталог означает, что у вашего пользователя отсутствуют необходимые права для доступа к директории /home
, что также подтверждает сообщение об ошибке -bash: cd: /home/myusername: Permission denied
.
Решение проблемы
Для того чтобы восстановить доступ к вашему домашнему каталогу, необходимо изменить права доступа к каталогу /home
и всем его подкаталогам.
1. Восстановление прав доступа к каталогу /home
Войдите в систему в режиме терминала (например, с помощью Ctrl + Alt + F1
), а затем выполните следующие команды:
sudo chmod 755 /home
sudo chmod 755 /home/myusername
Здесь:
755
— это права доступа, которые позволяют владельцу (root) читать, записывать и выполнять (rwx), а всем остальным пользователям — читать и выполнять (r-x). Это обеспечит возможность пользователям заходить в каталог/home
и доступ к каталогу вашего пользователя.
2. Устранение проблем с правами доступа к уровню выше
Поскольку вы также затронули каталог родителя (..
), убедитесь, что права доступа к каталогу /home
исправлены:
sudo chmod 755 /home
3. Проверка прав доступа
После выполнения вышеуказанных команд, вы можете проверить права доступа к вашему домашнему каталогу с помощью:
ls -ld /home/myusername
ls -ld /home
Убедитесь, что они установлены правильно как drwxr-xr-x
.
Заключение
С помощью предоставленных шагов вам удастся восстановить доступ к вашей домашней директории. После этого вы сможете войти в графическую среду и продолжить работу с системой. Не забывайте, что манипуляции с правами доступа могут негативно сказаться на безопасности и работе системы, поэтому всегда рекомендуется выполнять команды с sudo
с повышенной осторожностью.
Если у вас возникнут дополнительные вопросы или проблемы, не стесняйтесь обращаться за помощью.