2009-08-06 23:30:27 +0000 2009-08-06 23:30:27 +0000
199
199

Как я могу предоставить доступ к папке всем пользователям linux?

Я только что установил apache2 на Ubuntu и заметил, что папка /var/www защищена. Я могу просто sudo все, но лучше просто дать ему доступ на запись.

Как я могу это сделать?

Я пробовал sudo chmod 7777 /var/www, но это не сработало.

Ответы (8)

328
328
328
2009-08-07 00:15:22 +0000

Для лучшего обмена с несколькими пользователями, которые должны иметь возможность писать в /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

Кроме того, вы должны сделать каталог и все каталоги под ним “set GID”, так, чтобы все файлы new и каталоги, созданные в /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 {} \;

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

34
34
34
2011-09-22 10:31:49 +0000

Есть более простой способ сделать это, попробуйте выполнить эту команду.

sudo chmod -R 757 /var/www

По сути, команда chmod изменяет разрешения, а переключатель -R влияет на всех пользователей. Затем она просто дает правильные разрешения на использование.

30
30
30
2013-08-09 19:22:50 +0000

Чтение+Запись:

sudo chmod -R a+rw /var/www

Чтение+Запись+Выполнить:

sudo chmod -R a+rwx /var/www
8
8
8
2009-08-08 12:29:16 +0000

Вы также можете скопировать то, что предложил 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 для просмотра настроек по умолчанию.

3
3
3
2018-02-20 02:20:19 +0000

Быстрый и простой ответ -

a. Добавьте (-a) пользователя (user_name) в группу (-G) www-data.

sudo usermod -a -G www-data user_name

b. Дайте группе (g) те же (=) разрешения, что и пользователю (u) /var/www Recursively (-R).

sudo chmod -R g=u /var/www

Пояснения: Apache 2 в Debian/Ubuntu устанавливает пользователя и группу www-data в качестве владельца /var/www. По умолчанию пользователю даны права на “Просмотр и изменение содержимого”, однако группа может только “Просмотр содержимого”. Поэтому добавление себя в группу www-data Group и предоставление ей тех же прав, что и Пользователю wwww-data, является быстрым и простым способом разработки. Я делаю это для всех своих локальных хостов (ПК/ноутбуков), работающих в среде веб-разработки.

2
2
2
2017-03-19 21:13:20 +0000

Я набираю

chmod g+w /folder/ -R

Это почти самопонятно.

Это добавляет всех в g группы /folder/ иметь write access (+w) , -R для рекурсии для вложенных папок.

-3
-3
-3
2009-08-07 02:01:12 +0000

Вы можете просто попробовать chmod 0777 /var/www ?

Предупреждение: если вы позволите всем получить доступ к этой папке, это означает, что хакеры могут получить доступ к этой папке, если они получат доступ к вашей системе. Поэтому лучше создать группу разрешенных пользователей и дать этой группе доступ на запись.

-3
-3
-3
2011-09-30 09:58:58 +0000

Сначала вы вводите путь к определенной папке, затем с помощью этой команды …

chmod -R 777 foldername
chown username:username foldername
```.

Похожие вопросы

6
10
8
5
10