Невозможно создать ни одной папки в htdocs на Ubuntu

Невозможно создать ни одной папки в htdocs на Ubuntu

Как мне установить разрешение, чтобы я мог? Опция «Создать новую папку» неактивна.

Я попробовал это:

sudo chmod -rw /opt/lampp/htdocs

Но это все равно не работает. Когда я добавляю:

sudo chmod -rw 755 /opt/lampp/htdocs, 

Там говорится:"755" no such file or directory

решение1

Вы неправильно понимаете, как работают chmod и права доступа к файлам unix.

Вам нужно настроить каталог /opt/lampp/htdocs так, чтобы пользователь, под которым вы вошли, имел разрешение на запись. Вам также нужно убедиться, что то, что вы там пишете, может быть прочитано любым веб-сервером, который использует LAMPP (к сожалению, я не знаком с LAMP).

Сначала вам нужно посмотреть, кому принадлежит /opt/lampp/htdocs:

$ ls -ld /opt/lampp/htdocs

Должно вернуть что-то вроде:

drwxr-xr-x 4 lampp www 4096 2011-03-22 12:43 /opt/lampp/htdocs

Первый бит (dwrxr-xr-x) — это права доступа к файлу. «lampp» — владелец каталога, а «www» — группа-владелец каталога. Вам нужно это отметить.

Для начала давайте отсортируем группу. Если группа не "root", то все хорошо и вы можете пропустить этот раздел:

Если это "root", то его нужно будет изменить на что-то более разумное. Давайте создадим новую группу, к которой он будет принадлежать:

$ sudo groupadd www

Затем измените группу в каталоге:

$ sudo chgrp -R www /opt/lampp/htdocs

Теперь вам нужно заставить веб-сервер работать как группа www. Если веб-сервер — Apache, то вам следует проверить файл /etc/apache/httpd.conf и отредактировать настройку «Group» соответствующим образом. Я не знаю настройки для других веб-серверов.

Вот к этому пункту вы бы и перешли, если бы вам не нужно было переключать группу с root на какую-то другую.

Теперь нам нужно заняться разрешениями на каталог. Мы хотим использовать некоторые очень специальные разрешения, называемые битом "setgid".

$ sudo chmod 2775 /opt/lampp/htdocs
$ ls -ld /opt/lampp/htdocs
drwxrwsr-x 4 lampp www 4096 2011-03-22 12:43 /opt/lampp/htdocs

Видите ли, разрешения теперь несколько изменились. Давайте объясним это.

  • Первая буква — тип файла. В данном случае «d» означает «каталог».
  • Следующие три, «rwx», — это разрешения, которые владелец (lampp) имеет на директорию. r = чтение, w = запись и x = просмотр содержимого каталога.
  • Следующие три, «rws», обозначают владельца группы (www), но вы заметили, что в этом случае x на самом деле является s — мы вернемся к этому чуть позже.
  • Последние три, "rx", для всех остальных. То есть читать и просматривать содержимое каталога. Не писать.

"S" в разрешениях группы называется битом "setgid". Это особое разрешение, которое заставляет любые файлы, созданные в каталоге, наследовать владельца группы из самого каталога. Так что если пользователь "fred" в группе "users" создает там файл, его владельцем будет "fred" в группе "www". Это очень полезно для общей области, где несколько человек читают и пишут одни и те же файлы.

Но пока у вас нет возможности писать в эту область. Почему? Потому что вы не в группе "www". Давайте исправим это сейчас:

$ sudo usermod -aG www blub

Замените «www» на имя группы-владельца каталога /opt/lampp/htdocs, которое вы отметили в начале.

Чтобы изменения вступили в силу, вам придется выйти из системы и войти снова — сведения о вашем членстве в группах считываются при входе в систему.

Как только вы это сделаете, вы внезапно обнаружите, что теперь вы каким-то волшебным образом можете записывать файлы в /opt/lampp/htdocs.

Если в системе есть другие пользователи, которым вы хотите разрешить писать, просто добавьте их в группу www с помощью команды usermod -aD www <username>.

решение2

Эта простая команда терминала дала мне полные права, htdocsи я смог начать работу над PHP-проектами.

sudo chmod 777 -R /opt/lampp/htdocs

В ответ на комментарий Мухаммеда было бы лучше использоватьsudo chmod 755 -R /opt/lampp/htdocs

решение3

вы используете ЛИБО +rw, ЛИБО восьмеричные числа, не оба.

Вы пытаетесь удалить права на чтение и запись из каталога 755, а также из /opt/lampp/htdocs.

В любом случае вам не следует использовать xampp — вы можете получить более современную, нативную установку стека Lamp — вы можете установить ее с помощью tasksel.

решение4

Чтобы изменить владельца группы каталога /opt/lampp/htdocsи его содержимого на группу jade.

sudo chgrp -R jade /opt/lampp/htdocs

Затем, если вы хотите изменить разрешения (например, предоставить группе jadeправо записи), вы обычно используете команду chmod. Например:

sudo chmod -R g+w /opt/lampp/htdocs

Связанный контент