Я пытался перенести некоторые файлы из домашнего каталога в папку /var /www /html. Это было невозможно из-за настроек разрешений, так как система говорила, что я не являюсь владельцем папки. Поэтому после поиска в Интернете решения я попытался выполнить следующие команды:

sudo chmod 766 -R /var/www/html
sudo chmod 766 -R /var/www/
sudo chmod 766 -R /var
sudo chmod 766 -R /var/
sudo chown pi /var/www/html

Вывод ls -l /var /www /html и файла /var /www /html запрещен.

Позже я вижу, что все папки в /var / были преобразованы в двоичные файлы. Я перезапустил систему. Тогда я смог восстановить их, но только до /var / www. Папка /var / www / html была еще двоичным файлом. Как мне преобразовать его обратно в папку? Я использую Ubuntu 16.04

1 ответ1

1

Как вы получили для ls -ld /var/www/html вывод

drwxrw-rw- 2 root root 4096 Sep 25 11:49 /var/www/html

это означает, что у вас есть каталог (d), который доступен для чтения и записи всем (rw), но доступен только для поиска (x) от пользователя root. Так что это не бинарный файл. Я не знаю, какую программу вы использовали, которая показывает значки и свойства папок, но что бы это ни было, это неправильно.

Это произошло потому, что вы установили разрешения для этого каталога и всех его родительских каталогов на 766 (что является восьмеричным для rwxrw-rw-). По крайней мере, в случае с /var это совершенно неверно, потому что это лишит права на поиск всех некорневых частей системы, и это может привести к поломке.

Урок, который вы должны извлечь из этого, состоит в том, чтобы не слепо следовать некоторым рецептам, которые вы нашли в Интернете, не понимая, что вы делаете.

Итак, ваша первая задача - прочитать man chmod (все это) и понять, какие права доступа к файлам, и как они различаются для файлов и каталогов. Если этого недостаточно, обратитесь к Google за объяснениями, пока не поймете это.

Ваша следующая задача - исправить права доступа к /var , /var/www и /var/www/html к чему-то, что имеет смысл (в зависимости от ваших потребностей). Для этого вам нужно ответить на вопрос «кто должен иметь возможность читать / писать / искать в этих каталогах». В случае /var вы должны получить что-то вроде 755 . Если нет, подумайте еще раз.

И, наконец, вы должны снова выполнить chown pi /var/www/html чтобы изменить владельца этого каталога с пользователя root на пользователя pi , потому что он не работал. Вы можете использовать ls -d чтобы проверить, работает ли он. И пока вы занимаетесь этим, подумайте, к какой группе он должен принадлежать (к каким группам принадлежит пользователь pi ?). Читайте man chown и man chgrp .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .