Разрешения для файлов по умолчанию для пользователей РНР ВСП-данных

У меня есть php, установленный на моей машине ubuntu. Корень сети /var/www

Я установил разрешения для этой папки следующим образом:

sudo chown -R ftpuser: www-data / var / www

ftpuser - это пользователь, которого я настроил, чтобы я мог ftp to / var / www с другого компьютера в сети. www-data - это использование пользователем php. Я дважды проверял использование whoami с php.

Всякий раз, когда я загружаю файл на компьютер, у группы нет разрешений к файлу. Поэтому, когда я пытаюсь получить доступ к нему в моем браузере через machine-name/new-file.php, мне сказали, что разрешение отклонено, и мне нужно пойти и chmod новый файл.

Мне интересно, есть ли способ, который я могу использовать по умолчанию пользователь / группа www-data имеет права доступа к новым файлам, поэтому мне не нужно сохранять chmod каждый новый файл?

8
задан 17 January 2011 в 20:27

33 ответа

если ваш веб-сервер не может читать файлы, это очень вероятно, что разрешения new-file.php что-то вроде 600 (чтение и запись для владельца). Поиск установив значение umask в приложении FTP, и убедитесь, что это что-то вроде 007.

если ваше веб-приложение должно получить права доступа chmod на файлы (или другие операции, которые может выполнить только владелец файла), нужен другой подход. Если вы используете Apache, вы должны рассмотреть возможность использования маску. С помощью этого модуля, можно сделать Апач запустить/открыть файлы с помощью одного и того же пользователя как "ftpuser". Если вам нужно Больше информации об этой теме, добавить комментарий.

1
ответ дан 25 July 2018 в 22:36

Я уверен, что вы уже разобрали это, так что это для кого-то с аналогичным запросом

запустите команду «change ownership» в вашей папке webroot:

sudo chown manny -R www

Это позволит вам заменить владельца «manny» вашим именем пользователя, что позволит вам писать / читать в папке www

4
ответ дан 25 July 2018 в 22:36

можно с помощью ACL. Для настройки ACL для убунту 10.10, первый монтирования файловой системы с возможностью управления доступом в /etc/fstab для.

sudo vim /etc/fstab

идентификатор uuid=хххххххх-ХХХХ-ХХХХ-ХХХХ-хххххххххххх / системы ext4 по умолчанию,обк 0 1

sudo mount -o remount,acl /

тогда сделать группу, в которую пользователь может принадлежать к этой цели.

sudo groupadd developers sudo usermod -a -G developers $username

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

конечно, не делайте этого, если у вас есть Контент в каталоге /var/www, что вы хотите, но просто чтобы проиллюстрировать, настроив его на старт:

sudo rm -rf /var/www sudo mkdir -p /var/www/public sudo chown -R root.developers /var/www/public sudo chmod 0775 /var/www/public sudo chmod g+s /var/www/public sudo setfacl -d -m u::rwx,g::rwx,o::r-x /var/www/public

потом заменить ссылки на "файле/var/www" или С "В/var/www в/public" в файл config и reload.

sudo vim /etc/apache2/sites-enabled/000-default sudo /etc/init.d/apache2 reload

если бы мы хотели ограничить удаление и переименование от всех, кроме пользователя, создавшего файл:

sudo chmod +t /var/www/public

таким образом, если мы хотим создать каталоги для структур, которые существуют за пределами сервера Apache документ корень или может создать сервер-запись в каталог, легко.

Апачи-для записи логов каталог:

sudo mkdir /var/www/logs sudo chgrp www-data /var/www/logs sudo chmod 0770 /var/www/logs

Апачи-читаемый каталог библиотеки:

sudo mkdir /var/www/lib sudo chgrp www-data /var/www/lib sudo chmod 0750 /var/www/lib
6
ответ дан 25 July 2018 в 22:36
  • 1
    Это отлично сработало для меня, но мне было бы интересно, если бы вы могли объяснить, что сделали команды chmod g+s и setfacl (и их параметры). – Greg 7 July 2015 в 16:20

Если ваш веб-сервер не может даже прочитать файлы, очень вероятно, что разрешения new-file.php будут чем-то вроде 600 (чтение и запись для владельца). Найдите настройку umask в своем FTP-приложении и убедитесь, что это что-то вроде 007.

Если вашему веб-приложению необходимо chmod файлы (или другие операции, которые могут быть выполнены только владельцем файла), вы нужен другой подход. Если вы используете Apache, вам следует использовать umask . С помощью этого модуля вы можете заставить Apache запускать / открывать файлы с использованием того же пользователя, что и «ftpuser». Если вам нужна дополнительная информация по этому вопросу, добавьте комментарий.

1
ответ дан 26 July 2018 в 22:59

я уверен, что вы это уладили уже, так что это ни для кого с подобной просьбой

запустите "изменение собственности" команду на webroot папку:

sudo chown manny -R www

это сделает вас обладателем заменить "Мэнни" с вашим именем пользователя, что позволяет писать/читать в папке www

4
ответ дан 26 July 2018 в 22:59

можно с помощью ACL. Для настройки ACL для убунту 10.10, первый монтирования файловой системы с возможностью управления доступом в /etc/fstab для.

sudo vim /etc/fstab

идентификатор uuid=хххххххх-ХХХХ-ХХХХ-ХХХХ-хххххххххххх / системы ext4 по умолчанию,обк 0 1

sudo mount -o remount,acl /

тогда сделать группу, в которую пользователь может принадлежать к этой цели.

sudo groupadd developers sudo usermod -a -G developers $username

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

конечно, не делайте этого, если у вас есть Контент в каталоге /var/www, что вы хотите, но просто чтобы проиллюстрировать, настроив его на старт:

sudo rm -rf /var/www sudo mkdir -p /var/www/public sudo chown -R root.developers /var/www/public sudo chmod 0775 /var/www/public sudo chmod g+s /var/www/public sudo setfacl -d -m u::rwx,g::rwx,o::r-x /var/www/public

потом заменить ссылки на "файле/var/www" или С "В/var/www в/public" в файл config и reload.

sudo vim /etc/apache2/sites-enabled/000-default sudo /etc/init.d/apache2 reload

если бы мы хотели ограничить удаление и переименование от всех, кроме пользователя, создавшего файл:

sudo chmod +t /var/www/public

таким образом, если мы хотим создать каталоги для структур, которые существуют за пределами сервера Apache документ корень или может создать сервер-запись в каталог, легко.

Апачи-для записи логов каталог:

sudo mkdir /var/www/logs sudo chgrp www-data /var/www/logs sudo chmod 0770 /var/www/logs

Апачи-читаемый каталог библиотеки:

sudo mkdir /var/www/lib sudo chgrp www-data /var/www/lib sudo chmod 0750 /var/www/lib
6
ответ дан 26 July 2018 в 22:59
  • 1
    Это отлично сработало для меня, но мне было бы интересно, если бы вы могли объяснить, что сделали команды chmod g+s и setfacl (и их параметры). – Greg 7 July 2015 в 16:20

Если ваш веб-сервер не может даже прочитать файлы, очень вероятно, что разрешения new-file.php будут чем-то вроде 600 (чтение и запись для владельца). Найдите настройку umask в своем FTP-приложении и убедитесь, что это что-то вроде 007.

Если вашему веб-приложению необходимо chmod файлы (или другие операции, которые могут быть выполнены только владельцем файла), вы нужен другой подход. Если вы используете Apache, вам следует использовать umask . С помощью этого модуля вы можете заставить Apache запускать / открывать файлы с использованием того же пользователя, что и «ftpuser». Если вам нужна дополнительная информация по этому вопросу, добавьте комментарий.

1
ответ дан 31 July 2018 в 11:06

Я уверен, что вы уже разобрали это, так что это для кого-то с аналогичным запросом

запустите команду «change ownership» в вашей папке webroot:

sudo chown manny -R www

Это позволит вам заменить владельца «manny» вашим именем пользователя, что позволит вам писать / читать в папке www

4
ответ дан 31 July 2018 в 11:06

Вы можете использовать ACL. Чтобы настроить ACL для Ubuntu 10.10, сначала установите файловые системы с опцией acl в /etc/fstab.

sudo vim /etc/fstab

UUID = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx / ext4 defaults, acl 0 1

sudo mount -o remount,acl /

Затем создайте группу, к которой пользователь может принадлежать для этой цели.

sudo groupadd developers sudo usermod -a -G developers $username

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

Конечно, не делайте этого, если у вас есть контент в каталоге / var / www, который вы хотите, но просто для иллюстрации его установки:

sudo rm -rf /var/www sudo mkdir -p /var/www/public sudo chown -R root.developers /var/www/public sudo chmod 0775 /var/www/public sudo chmod g+s /var/www/public sudo setfacl -d -m u::rwx,g::rwx,o::r-x /var/www/public

Затем замените ссылки на «/ var / www» на «/ var / www / public» в файле конфигурации и перезагрузите.

sudo vim /etc/apache2/sites-enabled/000-default sudo /etc/init.d/apache2 reload

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

sudo chmod +t /var/www/public

Таким образом, если мы хотим создавать каталоги для фреймворков, которые существуют за пределами корня документа Apache или, возможно, создают каталоги для записи на сервере, все равно легко.

Каталог журналов для записи Apache:

sudo mkdir /var/www/logs sudo chgrp www-data /var/www/logs sudo chmod 0770 /var/www/logs

Каталог библиотеки, читаемой в Apache:

sudo mkdir /var/www/lib sudo chgrp www-data /var/www/lib sudo chmod 0750 /var/www/lib
6
ответ дан 31 July 2018 в 11:06
  • 1
    Это отлично сработало для меня, но мне было бы интересно, если бы вы могли объяснить, что сделали команды chmod g+s и setfacl (и их параметры). – Greg 7 July 2015 в 16:20

Если ваш веб-сервер не может даже прочитать файлы, очень вероятно, что разрешения new-file.php будут чем-то вроде 600 (чтение и запись для владельца). Найдите настройку umask в своем FTP-приложении и убедитесь, что это что-то вроде 007.

Если вашему веб-приложению необходимо chmod файлы (или другие операции, которые могут быть выполнены только владельцем файла), вы нужен другой подход. Если вы используете Apache, вам следует использовать umask . С помощью этого модуля вы можете заставить Apache запускать / открывать файлы с использованием того же пользователя, что и «ftpuser». Если вам нужна дополнительная информация по этому вопросу, добавьте комментарий.

1
ответ дан 31 July 2018 в 12:04

Я уверен, что вы уже разобрали это, так что это для кого-то с аналогичным запросом

запустите команду «change ownership» в вашей папке webroot:

sudo chown manny -R www

Это позволит вам заменить владельца «manny» вашим именем пользователя, что позволит вам писать / читать в папке www

4
ответ дан 31 July 2018 в 12:04

Вы можете использовать ACL. Чтобы настроить ACL для Ubuntu 10.10, сначала установите файловые системы с опцией acl в /etc/fstab.

sudo vim /etc/fstab

UUID = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx / ext4 defaults, acl 0 1

sudo mount -o remount,acl /

Затем создайте группу, к которой пользователь может принадлежать для этой цели.

sudo groupadd developers sudo usermod -a -G developers $username

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

Конечно, не делайте этого, если у вас есть контент в каталоге / var / www, который вы хотите, но просто для иллюстрации его установки:

sudo rm -rf /var/www sudo mkdir -p /var/www/public sudo chown -R root.developers /var/www/public sudo chmod 0775 /var/www/public sudo chmod g+s /var/www/public sudo setfacl -d -m u::rwx,g::rwx,o::r-x /var/www/public

Затем замените ссылки на «/ var / www» на «/ var / www / public» в файле конфигурации и перезагрузите.

sudo vim /etc/apache2/sites-enabled/000-default sudo /etc/init.d/apache2 reload

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

sudo chmod +t /var/www/public

Таким образом, если мы хотим создавать каталоги для фреймворков, которые существуют за пределами корня документа Apache или, возможно, создают каталоги для записи на сервере, все равно легко.

Каталог журналов для записи Apache:

sudo mkdir /var/www/logs sudo chgrp www-data /var/www/logs sudo chmod 0770 /var/www/logs

Каталог библиотеки, читаемой в Apache:

sudo mkdir /var/www/lib sudo chgrp www-data /var/www/lib sudo chmod 0750 /var/www/lib
6
ответ дан 31 July 2018 в 12:04
  • 1
    Это отлично сработало для меня, но мне было бы интересно, если бы вы могли объяснить, что сделали команды chmod g+s и setfacl (и их параметры). – Greg 7 July 2015 в 16:20

Если ваш веб-сервер не может даже прочитать файлы, очень вероятно, что разрешения new-file.php будут чем-то вроде 600 (чтение и запись для владельца). Найдите настройку umask в своем FTP-приложении и убедитесь, что это что-то вроде 007.

Если вашему веб-приложению необходимо chmod файлы (или другие операции, которые могут быть выполнены только владельцем файла), вы нужен другой подход. Если вы используете Apache, вам следует использовать umask . С помощью этого модуля вы можете заставить Apache запускать / открывать файлы с использованием того же пользователя, что и «ftpuser». Если вам нужна дополнительная информация по этому вопросу, добавьте комментарий.

1
ответ дан 2 August 2018 в 04:02

Я уверен, что вы уже разобрали это, так что это для кого-то с аналогичным запросом

запустите команду «change ownership» в вашей папке webroot:

sudo chown manny -R www

Это позволит вам заменить владельца «manny» вашим именем пользователя, что позволит вам писать / читать в папке www

4
ответ дан 2 August 2018 в 04:02

можно с помощью ACL. Для настройки ACL для убунту 10.10, первый монтирования файловой системы с возможностью управления доступом в /etc/fstab для.

sudo vim /etc/fstab

идентификатор uuid=хххххххх-ХХХХ-ХХХХ-ХХХХ-хххххххххххх / системы ext4 по умолчанию,обк 0 1

sudo mount -o remount,acl /

тогда сделать группу, в которую пользователь может принадлежать к этой цели.

sudo groupadd developers sudo usermod -a -G developers $username

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

конечно, не делайте этого, если у вас есть Контент в каталоге /var/www, что вы хотите, но просто чтобы проиллюстрировать, настроив его на старт:

sudo rm -rf /var/www sudo mkdir -p /var/www/public sudo chown -R root.developers /var/www/public sudo chmod 0775 /var/www/public sudo chmod g+s /var/www/public sudo setfacl -d -m u::rwx,g::rwx,o::r-x /var/www/public

потом заменить ссылки на "файле/var/www" или С "В/var/www в/public" в файл config и reload.

sudo vim /etc/apache2/sites-enabled/000-default sudo /etc/init.d/apache2 reload

если бы мы хотели ограничить удаление и переименование от всех, кроме пользователя, создавшего файл:

sudo chmod +t /var/www/public

таким образом, если мы хотим создать каталоги для структур, которые существуют за пределами сервера Apache документ корень или может создать сервер-запись в каталог, легко.

Апачи-для записи логов каталог:

sudo mkdir /var/www/logs sudo chgrp www-data /var/www/logs sudo chmod 0770 /var/www/logs

Апачи-читаемый каталог библиотеки:

sudo mkdir /var/www/lib sudo chgrp www-data /var/www/lib sudo chmod 0750 /var/www/lib
6
ответ дан 2 August 2018 в 04:02
  • 1
    Это отлично сработало для меня, но мне было бы интересно, если бы вы могли объяснить, что сделали команды chmod g+s и setfacl (и их параметры). – Greg 7 July 2015 в 16:20

если ваш веб-сервер не может читать файлы, это очень вероятно, что разрешения new-file.php что-то вроде 600 (чтение и запись для владельца). Поиск установив значение umask в приложении FTP, и убедитесь, что это что-то вроде 007.

если ваше веб-приложение должно получить права доступа chmod на файлы (или другие операции, которые может выполнить только владелец файла), нужен другой подход. Если вы используете Apache, вы должны рассмотреть возможность использования маску. С помощью этого модуля, можно сделать Апач запустить/открыть файлы с помощью одного и того же пользователя как "ftpuser". Если вам нужно Больше информации об этой теме, добавить комментарий.

1
ответ дан 4 August 2018 в 20:06

я уверен, что вы это уладили уже, так что это ни для кого с подобной просьбой

запустите "изменение собственности" команду на webroot папку:

sudo chown manny -R www

это сделает вас обладателем заменить "Мэнни" с вашим именем пользователя, что позволяет писать/читать в папке www

4
ответ дан 4 August 2018 в 20:06

Вы можете использовать ACL. Чтобы настроить ACL для Ubuntu 10.10, сначала установите файловые системы с опцией acl в /etc/fstab.

sudo vim /etc/fstab

UUID = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx / ext4 defaults, acl 0 1

sudo mount -o remount,acl /

Затем создайте группу, к которой пользователь может принадлежать для этой цели.

sudo groupadd developers sudo usermod -a -G developers $username

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

Конечно, не делайте этого, если у вас есть контент в каталоге / var / www, который вы хотите, но просто для иллюстрации его установки:

sudo rm -rf /var/www sudo mkdir -p /var/www/public sudo chown -R root.developers /var/www/public sudo chmod 0775 /var/www/public sudo chmod g+s /var/www/public sudo setfacl -d -m u::rwx,g::rwx,o::r-x /var/www/public

Затем замените ссылки на «/ var / www» на «/ var / www / public» в файле конфигурации и перезагрузите.

sudo vim /etc/apache2/sites-enabled/000-default sudo /etc/init.d/apache2 reload

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

sudo chmod +t /var/www/public

Таким образом, если мы хотим создавать каталоги для фреймворков, которые существуют за пределами корня документа Apache или, возможно, создают каталоги для записи на сервере, все равно легко.

Каталог журналов для записи Apache:

sudo mkdir /var/www/logs sudo chgrp www-data /var/www/logs sudo chmod 0770 /var/www/logs

Каталог библиотеки, читаемой в Apache:

sudo mkdir /var/www/lib sudo chgrp www-data /var/www/lib sudo chmod 0750 /var/www/lib
6
ответ дан 4 August 2018 в 20:06
  • 1
    Это работало отлично для меня, но мне было бы интересно, если бы вы могли объяснить, что такое chmod g+s и команды setfacl сделал (и их параметров). – Greg 7 July 2015 в 16:20

Если ваш веб-сервер не может даже прочитать файлы, очень вероятно, что разрешения new-file.php будут чем-то вроде 600 (чтение и запись для владельца). Найдите настройку umask в своем FTP-приложении и убедитесь, что это что-то вроде 007.

Если вашему веб-приложению необходимо chmod файлы (или другие операции, которые могут быть выполнены только владельцем файла), вы нужен другой подход. Если вы используете Apache, вам следует использовать umask . С помощью этого модуля вы можете заставить Apache запускать / открывать файлы с использованием того же пользователя, что и «ftpuser». Если вам нужна дополнительная информация по этому вопросу, добавьте комментарий.

1
ответ дан 6 August 2018 в 04:06

Я уверен, что вы уже разобрали это, так что это для кого-то с аналогичным запросом

запустите команду «change ownership» в вашей папке webroot:

sudo chown manny -R www

Это позволит вам заменить владельца «manny» вашим именем пользователя, что позволит вам писать / читать в папке www

4
ответ дан 6 August 2018 в 04:06

Вы можете использовать ACL. Чтобы настроить ACL для Ubuntu 10.10, сначала установите файловые системы с опцией acl в /etc/fstab.

sudo vim /etc/fstab

UUID = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx / ext4 defaults, acl 0 1

sudo mount -o remount,acl /

Затем создайте группу, к которой пользователь может принадлежать для этой цели.

sudo groupadd developers sudo usermod -a -G developers $username

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

Конечно, не делайте этого, если у вас есть контент в каталоге / var / www, который вы хотите, но просто для иллюстрации его установки:

sudo rm -rf /var/www sudo mkdir -p /var/www/public sudo chown -R root.developers /var/www/public sudo chmod 0775 /var/www/public sudo chmod g+s /var/www/public sudo setfacl -d -m u::rwx,g::rwx,o::r-x /var/www/public

Затем замените ссылки на «/ var / www» на «/ var / www / public» в файле конфигурации и перезагрузите.

sudo vim /etc/apache2/sites-enabled/000-default sudo /etc/init.d/apache2 reload

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

sudo chmod +t /var/www/public

Таким образом, если мы хотим создавать каталоги для фреймворков, которые существуют за пределами корня документа Apache или, возможно, создают каталоги для записи на сервере, все равно легко.

Каталог журналов для записи Apache:

sudo mkdir /var/www/logs sudo chgrp www-data /var/www/logs sudo chmod 0770 /var/www/logs

Каталог библиотеки, читаемой в Apache:

sudo mkdir /var/www/lib sudo chgrp www-data /var/www/lib sudo chmod 0750 /var/www/lib
6
ответ дан 6 August 2018 в 04:06
  • 1
    Это отлично сработало для меня, но мне было бы интересно, если бы вы могли объяснить, что сделали команды chmod g+s и setfacl (и их параметры). – Greg 7 July 2015 в 16:20

Если ваш веб-сервер не может даже прочитать файлы, очень вероятно, что разрешения new-file.php будут чем-то вроде 600 (чтение и запись для владельца). Найдите настройку umask в своем FTP-приложении и убедитесь, что это что-то вроде 007.

Если вашему веб-приложению необходимо chmod файлы (или другие операции, которые могут быть выполнены только владельцем файла), вы нужен другой подход. Если вы используете Apache, вам следует использовать umask . С помощью этого модуля вы можете заставить Apache запускать / открывать файлы с использованием того же пользователя, что и «ftpuser». Если вам нужна дополнительная информация по этому вопросу, добавьте комментарий.

1
ответ дан 6 August 2018 в 04:08

Я уверен, что вы уже разобрали это, так что это для кого-то с аналогичным запросом

запустите команду «change ownership» в вашей папке webroot:

sudo chown manny -R www

Это позволит вам заменить владельца «manny» вашим именем пользователя, что позволит вам писать / читать в папке www

4
ответ дан 6 August 2018 в 04:08

можно с помощью ACL. Для настройки ACL для убунту 10.10, первый монтирования файловой системы с возможностью управления доступом в /etc/fstab для.

sudo vim /etc/fstab

идентификатор uuid=хххххххх-ХХХХ-ХХХХ-ХХХХ-хххххххххххх / системы ext4 по умолчанию,обк 0 1

sudo mount -o remount,acl /

тогда сделать группу, в которую пользователь может принадлежать к этой цели.

sudo groupadd developers sudo usermod -a -G developers $username

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

конечно, не делайте этого, если у вас есть Контент в каталоге /var/www, что вы хотите, но просто чтобы проиллюстрировать, настроив его на старт:

sudo rm -rf /var/www sudo mkdir -p /var/www/public sudo chown -R root.developers /var/www/public sudo chmod 0775 /var/www/public sudo chmod g+s /var/www/public sudo setfacl -d -m u::rwx,g::rwx,o::r-x /var/www/public

потом заменить ссылки на "файле/var/www" или С "В/var/www в/public" в файл config и reload.

sudo vim /etc/apache2/sites-enabled/000-default sudo /etc/init.d/apache2 reload

если бы мы хотели ограничить удаление и переименование от всех, кроме пользователя, создавшего файл:

sudo chmod +t /var/www/public

таким образом, если мы хотим создать каталоги для структур, которые существуют за пределами сервера Apache документ корень или может создать сервер-запись в каталог, легко.

Апачи-для записи логов каталог:

sudo mkdir /var/www/logs sudo chgrp www-data /var/www/logs sudo chmod 0770 /var/www/logs

Апачи-читаемый каталог библиотеки:

sudo mkdir /var/www/lib sudo chgrp www-data /var/www/lib sudo chmod 0750 /var/www/lib
6
ответ дан 6 August 2018 в 04:08
  • 1
    Это работало отлично для меня, но мне было бы интересно, если бы вы могли объяснить, что такое chmod g+s и команды setfacl сделал (и их параметров). – Greg 7 July 2015 в 16:20

Я уверен, что вы уже разобрали это, так что это для тех, кто с подобным запросом

запустил команду «change ownership» в вашей папке webroot:

  sudo chown manny -R www  

Это позволит вам заменить владельца «manny» вашим именем пользователя, что позволит вам писать / читать в папке www

4
ответ дан 7 August 2018 в 22:06

Вы можете использовать ACL. Чтобы настроить ACL для Ubuntu 10.10, сначала установите файловые системы с опцией acl в /etc/fstab.

  sudo vim / etc / fstab  

UUID = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx / ext4 defaults, acl 0 1

  sudo mount -o remount, acl /  

Затем сделайте группа, к которой пользователь может принадлежать для этой цели.

  sudo groupadd developers sudo usermod -a -G developers $ username  

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

Конечно, не делайте этого, если у вас есть контент в каталоге / var / www, который вы хотите, но просто чтобы проиллюстрировать его настройку, чтобы начать :

  sudo rm -rf / var / www sudo mkdir -p / var / www / public sudo chown -R root.developers / var / www / public sudo chmod 0775 / var / www /  public sudo chmod g + s / var / www / public sudo setfacl -d -mu :: rwx, g :: rwx, o :: rx / var / www / public  

Затем замените ссылки на «/ var / www» с «/ var / www / public» в файле конфигурации и перезагрузкой. [!d1 3]

  sudo vim / etc / apache2 / sites-enabled / 000-default sudo /etc/init.d/apache2 reload  

Если мы хотим ограничить удаление и переименовать всех, кроме пользователя, создавшего файл:

  sudo chmod + t / var / www / public  

Таким образом, если мы хотим создать каталоги для фреймворков, которые существуют за пределами корня документа Apache или, возможно, создают каталоги, доступные для записи на сервере, все еще легко.

Каталог журналов для записи Apache:

  sudo mkdir / var /  www / logs sudo chgrp www-data / var / www / logs sudo chmod 0770 / var / www / logs  

Каталог библиотеки, читаемой в Apache:

   sudo mkdir / var / www / lib sudo chgrp www-data / var / www / lib sudo chmod 0750 / var / www / lib  
6
ответ дан 7 August 2018 в 22:06

Если ваш веб-сервер не может даже прочитать файлы, очень вероятно, что разрешения new-file.php будут чем-то вроде 600 (чтение и запись для владельца). Найдите настройку umask в вашем приложении FTP и убедитесь, что это что-то вроде 007.

Если вашему веб-приложению необходимо chmod файлы (или другие операции, которые могут быть выполнены владельцем файла), вам нужен другой подход. Если вы используете Apache, вам следует рассмотреть возможность использования itk MPM . С помощью этого модуля вы можете заставить Apache запускать / открывать файлы с использованием того же пользователя, что и «ftpuser». Если вам нужна дополнительная информация по этому вопросу, добавьте комментарий.

1
ответ дан 7 August 2018 в 22:06

Если ваш веб-сервер не может даже прочитать файлы, очень вероятно, что разрешения new-file.php будут чем-то вроде 600 (чтение и запись для владельца). Найдите настройку umask в вашем приложении FTP и убедитесь, что это что-то вроде 007.

Если вашему веб-приложению необходимо chmod файлы (или другие операции, которые могут быть выполнены владельцем файла), вам нужен другой подход. Если вы используете Apache, вам следует рассмотреть возможность использования itk MPM . С помощью этого модуля вы можете заставить Apache запускать / открывать файлы с использованием того же пользователя, что и «ftpuser». Если вам нужна дополнительная информация по этому вопросу, добавьте комментарий.

1
ответ дан 10 August 2018 в 10:21

Я уверен, что вы уже разобрали это, так что это для тех, кто с подобным запросом

запустил команду «change ownership» в вашей папке webroot:

  sudo chown manny -R www  

Это позволит вам заменить владельца «manny» вашим именем пользователя, что позволит вам писать / читать в папке www

4
ответ дан 10 August 2018 в 10:21

Вы можете использовать ACL. Чтобы настроить ACL для Ubuntu 10.10, сначала установите файловые системы с опцией acl в /etc/fstab.

  sudo vim / etc / fstab  

UUID = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx / ext4 defaults, acl 0 1

  sudo mount -o remount, acl /  

Затем сделайте группа, к которой пользователь может принадлежать для этой цели.

  sudo groupadd developers sudo usermod -a -G developers $ username  

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

Конечно, не делайте этого, если у вас есть контент в каталоге / var / www, который вы хотите, но просто чтобы проиллюстрировать его настройку, чтобы начать :

  sudo rm -rf / var / www sudo mkdir -p / var / www / public sudo chown -R root.developers / var / www / public sudo chmod 0775 / var / www /  public sudo chmod g + s / var / www / public sudo setfacl -d -mu :: rwx, g :: rwx, o :: rx / var / www / public  

Затем замените ссылки на «/ var / www» с «/ var / www / public» в файле конфигурации и перезагрузкой. [!d1 3]

  sudo vim / etc / apache2 / sites-enabled / 000-default sudo /etc/init.d/apache2 reload  

Если мы хотим ограничить удаление и переименовать всех, кроме пользователя, создавшего файл:

  sudo chmod + t / var / www / public  

Таким образом, если мы хотим создать каталоги для фреймворков, которые существуют за пределами корня документа Apache или, возможно, создают каталоги, доступные для записи на сервере, все еще легко.

Каталог журналов для записи Apache:

  sudo mkdir / var /  www / logs sudo chgrp www-data / var / www / logs sudo chmod 0770 / var / www / logs  

Каталог библиотеки, читаемой в Apache:

   sudo mkdir / var / www / lib sudo chgrp www-data / var / www / lib sudo chmod 0750 / var / www / lib  
6
ответ дан 10 August 2018 в 10:21

Другие вопросы по тегам:

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