Как правило, для работы сайта нужно устанавливать права на каталоги и файлы, чтобы наш сайт мог получать доступ для чтения и записи.
Именно поэтому, я сделал не сложный скрипт, который всё сделает за вас, нужно указать пути и имена каталогов.
Скрипт подойдет как для Apache2 + PHP, так и для NGINX + PHP-FPM
Скрипт устанавливает права на каталоги: cache, tmp, upload равные 775, что позволяет в них запись. На файлы *.php права на чтение и исполнение, на конфигурационные файлы *.conf права только на чтение.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
#!/bin/bash # Shell script for find and change permitions folders & files # Autor: Sobol Denis snakesclub@yandex.ru # Copyright: Sobol Denis 2014.10.08 # Work directory WDIR="/home/data/www" // -- каталог с сайтом WUSER="www-data" // -- пользователь веб-сервера, которому нужно дать права # Folders for writeble permissions // -- каталоги, куда нужно предоставить доступ на запись WFOLDER_1="cache" WFOLDER_2="tmp" WFOLDER_3="upload" # Files configuration // -- маска файлов PFILE="*.php" // -- файлы приложения CFILE="*.conf" // -- конфигурационные файлы function change_permissions() { # Change permissions folders for OLD in $(find $WDIR -type d) do chmod 755 $OLD chown $WUSER:$WUSER $OLD done # Change permissions for writeble folders for i in $WFOLDER_1 $WFOLDER_2 do for OLD in $(find $WDIR -type d -name "$i") do chmod 775 $OLD chown $WUSER:www-data $OLD done done # Change permissions files for OLD in $(find $WDIR -type f -name "$PFILE") do chmod 644 $OLD chown $WUSER:$WUSER $OLD done # Change permissions files configurations for OLD in $(find $WDIR -type f -name "$CFILE") do chmod 600 $OLD chown $WUSER:$WUSER $OLD done } change_permissions |