Я установил apache2 на Ubuntu только сейчас и заметил, что папка / var / www защищена. Я могу просто sudo
все, но я бы предпочел просто дать ему доступ для записи.
Как я могу это сделать?
Я пытался, sudo chmod 7777 /var/www
но это не сработало.
Я установил apache2 на Ubuntu только сейчас и заметил, что папка / var / www защищена. Я могу просто sudo
все, но я бы предпочел просто дать ему доступ для записи.
Как я могу это сделать?
Я пытался, sudo chmod 7777 /var/www
но это не сработало.
Ответы:
Чтобы лучше обмениваться информацией с несколькими пользователями, у которых должна быть возможность записи /var/www
, необходимо назначить общую группу. Например, группой по умолчанию для веб-контента в Ubuntu и Debian является www-data
. Убедитесь, что все пользователи, которым нужен доступ для записи, /var/www
находятся в этой группе.
sudo usermod -a -G www-data <some_user>
Затем установите правильные разрешения на / var / www.
sudo chgrp -R www-data /var/www
sudo chmod -R g+w /var/www
Кроме того, вы должны сделать каталог и все каталоги под ним «GID», чтобы все новые файлы и каталоги, созданные в нем /var/www
, принадлежали www-data
группе.
sudo find /var/www -type d -exec chmod 2775 {} \;
Найдите все файлы /var/www
и добавьте права на чтение и запись для владельца и группы:
sudo find /var/www -type f -exec chmod ug+rw {} \;
Возможно, вам придется выйти и снова войти, чтобы иметь возможность вносить изменения, если вы редактируете разрешение для своей учетной записи.
sudo chmod -R g+w
а не g+rw
или g+rwX
?
Есть более простой способ сделать это, попробуйте выполнить эту команду.
sudo chmod -R 757 /var/www
По сути, chmod
команда изменяет права доступа, и -R
коммутатор влияет на всех пользователей. Тогда это просто дает правильные разрешения на использование.
chmod $permissions -R $file
не действует ...
sudo chmod -R 757 /var/www
Вы также можете повторить то, что предложил jtimberman, используя списки контроля доступа . Команда setfacl принимает -s для замены существующего ACL или -m для его изменения; -R сделать рекурсивные списки ACL; и -d сделать указанные настройки настройками по умолчанию, что полезно, если вы ожидаете появления новых учетных записей пользователей.
Они просто устанавливают права доступа, как и для пользователя, группы, других и маски, используя chmod:
setfacl -m u::rwx, g::r-x, o::---, m:rwx DIRECTORY
И это может быть, как вы бы сделали это для указанного пользователя или его / ее группы:
setfacl -m u:USERNAME:rwx, g:USERNAME:r-x DIRECTORY
И, конечно, сила в том, что вы можете назначить любого конкретного пользователя, нескольких пользователей и т. Д., И все это без необходимости изменять настройки вашей группы. И в отличие от chmod, если вы хотите, чтобы некоторые поклонники имели доступ к одному каталогу, а другие поклонники имели доступ только к другому, это фактически возможно с помощью setfacl. Наконец, чтобы просмотреть ACL каталога, запустите getfacl :
getfacl DIRECTORY
И вы можете указать -R, чтобы увидеть ACL для подкаталогов, или -d, чтобы увидеть значения по умолчанию.
Быстрый и простой ответ -
а. Добавьте ( -a ) вашего пользователя ( user_name ) в группу ( -G ) www-data .
sudo usermod -a -G www-data user_name
б. Дайте Группе ( g ) те же ( = ) разрешения, что и для Пользователя-пользователя ( u ) из / var / www Recursive ( -R ).
sudo chmod -R g=u /var/www
Объяснение: Apache 2 в Debian / Ubuntu устанавливает www-данные пользователя и группы как владельца / var / www . Разрешения по умолчанию для пользователя - «Просмотр и изменение содержимого», однако Группа может только «Просмотр содержимого». Поэтому добавление себя в группу www-data и предоставление ей тех же прав, что и для пользователя wwww-data, - это быстрый и простой способ начать разработку. Я делаю это для всех моих локальных (ПК / ноутбуков) сред веб-разработки.
Вы можете просто попробовать chmod 0777 /var/www
?
Предупреждение: если вы разрешите всем доступ к этой папке, это означает, что хакеры могут получить доступ к этой папке, если они получат доступ к вашей системе. Вот почему лучше создать группу допустимых пользователей и предоставить этой группе доступ на запись.
Сначала вы вводите конкретный путь к папке, затем с помощью этой команды ...
chmod -R 777 foldername
chown username:username foldername