Изменение разрешений для /var/www/html

Я изучал эту тему https://help.ubuntu.com/community/FilePermissions на некоторое время и по какой-то причине не могу заставить его работать.

В частности, эти строки интересуют меня больше всего:

Чтобы изменить все разрешения для каждого файла и папки в указанном каталоге сразу, используйте sudo chmod с -R

$ sudo chmod 777 -R /path/to/someDirectory$ ls -ltotal 3-rwxrwxrwx  1 user user 0 Nov 19 20:13 file1drwxrwxrwx  2 user user 4096 Nov 19 20:13 folder-rwxrwxrwx  1 user user 0 Nov 19 20:13 file2

Вот что я напечатал:

mark@ubuntuserver:~$ sudo chmod 755 /var/www/htmlmark@ubuntuserver:~$ ls -ltotal 0

Затем я проверил все изменения в sftp:

sftp> cd /sftp> cd var/www/htmlsftp> pwdRemote working directory: /var/www/htmlsftp> ls -l-rw-r--r--    1 root     root        11321 Apr 10 20:07 index.html

Из выходных данных ясно, что каталог html по-прежнему может быть изменен только root.

Как я могу изменить это таким образом, чтобы я (не root) мог загружать файлы в каталог html?

Я также проверил:

Владельца файла можно изменить с помощью команды chown. Например, чтобы изменить владельца файла foobar на tux:

$ sudo chown tux foobar

Я набрал текст с сервера:

sudo chown mark owner

никакого эффекта.

Вы можете сделать себя владельцем этого каталога

sudo chown pi /var/www/html

Но вы определенно хотите установить разрешения

chmod 755 -R /var/www/html

Использование параметра -R (рекурсивный) гарантирует, что все ваши файлы скриптов и ваш файл .htaccess установлены одинаково.


Всякий раз, когда вы добавляете новый сценарий, обязательно устанавливайте его таким же образом.

chmod 755 /var/www/html/cgi-bin/newscript.cgi

Обратите внимание, что некоторые программы CGI имеют свои собственные требования, такие как

Регистратор посетителей веб-сайта Bestdam + Счетчик посещений

Выписка:

Откройте bdlogger.pl файл в текстовом редакторе и, при необходимости, измените строку shebang.

На сервере создайте подкаталог bdlogger в вашем каталоге cgi-bin и отправьте в него по FTP скрипт и файлы данных, используя режим ASCII

Если вы используете сервер UNIX/Linux, chmod файлы:

bdlogger.pl to 755all other files to 666

Добавьте следующий тег директивы SSI на свою веб-страницу (страницы):

<!--#exec cgi="/cgi-bin/bdlogger/bdlogger.pl" -->

В этом случае я бы оставил право собственности на каталог в покое. Чтобы изменить разрешения для этого конкретного каталога, чтобы вы могли выполнять в него запись, установите разрешения на чтение/запись, команда sudo chmod 766 -R /var/www/html. Это позволит назначить полные разрешения 7 для владельца, чтение/запись 6 для группы и чтения / записи для всех 6, рекурсивно.

Вам нужно установить владельца папки www с 'root' на 'Me'.

С вашего терминала выполните команду :

sudo chown -R your_system_username /var/www

Надеюсь, это сработает!!

Хотя приведенные выше ответы в значительной степени помогут, это более полезный подход. Скорее всего, вы хотите изменить файлы внутри /var / www / html, потому что хотите добавить веб-приложение для обслуживания в Apache2. Для достижения этой цели вам необходимо выполнить следующие действия

  1. Добавьте пользователя в группу пользователей www-data который имеет право собственности на папку по умолчанию. Почему? Потому что, если вы собираетесь вносить какие-либо изменения в веб-приложение динамически, даже если оно находится в wordpress, вам нужно, чтобы пользователи в этой группе имели права на запись. Для этого просто напишите: sudo adduser username grouptoadd В нашем случае это будет sudo adduser username www-data.
  2. Далее вам нужно изменить read/write permissions используя chmod команда. Помните, что теперь вы являетесь частью группы пользователей, и вам не нужно менять владельца с помощью chown. Для этого просто запустите: sudo chmod -R 766 directory, в этом случае это будет sudo chmod -R 766 html. Если вы чувствуете себя спортивно, вы можете получить полные права на запись (777), в зависимости от того, насколько безопасно ваше приложение.

То -R подразумевается рекурсивная функция, позволяющая команде применяться ко всем подкаталогам. Я надеюсь, что это поможет кому-то нуждающемуся.

В вашем случае я вижу, что файл принадлежит root, поэтому сначала мы ;

  1. sudo chown -R www-data:www-data /var/www/html чтобы разрешить группе www-data стать владельцем папки.

2.Затем sudo adduser username www-dataэто делается для добавления вашего пользователя в группу www-data, которая теперь владеет папкой /var /www/hmtl/ (ПРИМЕЧАНИЕ: замените имя пользователя на имя пользователя вашего компьютера, если вы не знаете тип имени пользователя вашего компьютера whoami в свой терминал вы получаете имя пользователя текущего пользователя, вошедшего в систему)

  1. sudo chmod -R 775 /var/www/html/Чтобы теперь изменить права доступа к файлам на 775, чтобы (U) пользователь / владелец мог читать, записывать и выполнять. (G) roup может читать, может записывать и может выполнять. (O) они могут читать, не могут писать и могут выполнять.

  2. Если шаг 3 завершится неудачей, то sudo chmod -R 777 /var/www/html/ чтобы освободить всех пользователей для чтения, записи и выполнения в этой папке. Но я настоятельно не рекомендую делать это на живом сервере, если он локальный или у вас нет другого выбора, сделайте это и не забудьте изменить разрешения обратно на гораздо более безопасные настройки или рискуйте быть взломанным, если это онлайн.

Я надеюсь, что это полезно

В этом случае я бы оставил право собственности на каталог в покое, чтобы изменить разрешения для этого конкретного каталога, чтобы вы могли записывать в него, установите разрешения на чтение / запись, команда sudo chmod 766 -r / var / www/html

Как уже отмечали ребята, “chmod” меняет разрешения, “chown” меняет владельца. 755 первая цифра (7) означает, что “владелец” имеет все разрешения, в то время как вторая и последняя цифры (5) означают, что “группа” и “другие” имеют права на чтение и выполнение. Вы можете добавить своего пользователя в группу и предоставить полные права доступа к группе, чтобы вам не приходилось вносить так много изменений.

Вам не хватает параметра -r для рекурсивного. И 777 никогда не является правильным изменением для внесения (если только вы также не установите параметр t (sticky bit). Вопрос: почему каталог пуст во 2-й команде и заполнен index.html в 3-й команде? Эти команды НЕ выдаются в одинаковых ситуациях. “владелец метки sudo chown”, что это должно делать? Как получилось, что вы ввели там файл или каталог с именем “владелец”?

Чтобы стать владельцем файла или каталога, вы должны указать, кто является новым владельцем, группу (необязательно) и файл или каталог. Например, “sudo chown user:user mydocs”, где новым владельцем и группой является “пользователь”, а каталог, которым вы становитесь владельцем, - mydocs

@Rinzwind выглядит так, как будто он выдал команду ls -l из их домашнего каталога.
@Mark Если вы не находитесь в каталоге, который пытаетесь просмотреть / обработать, вам необходимо указать путь, в этом случае вы должны были выдать команду как ls -l /var/www/html

sudo chown mark /var/www/html/ это правильно? Потому что я проверил, и он по-прежнему принадлежит root. Да, я использовал команду ls -l в каталоге html, чтобы избежать каких-либо глупых ошибок.

sudo chmod 766 -r /var/www/html кажется неправильным синтаксисом. В нем говорится >chmod: не удается получить доступ к ‘766’: Нет такого файла или каталога>
он рассматривает 766 не как правило разрешений, а как целевой каталог.

100% моя вина, синтаксис команды был неправильным. Рекурсивный флаг должен быть написан с заглавной буквы sudo chmod 766 -R /var/www/html извините за это

хамихайм, не могли бы вы, пожалуйста, опубликовать свое решение “sudo chmod 766 -r / var / www / html” в качестве ответа, чтобы я мог его использовать? Мне просто нужно было поставить верхний регистр в R, и это сработало! Я попытался загрузить тестовый файл, и он там! Опубликуйте это!

Я действительно не понимаю, почему нежелательно, чтобы люди благодарили других за помощь в решении проблемы. Вы все внесли очень полезный вклад, и я благодарен вам за помощь!