Chmod - изменение разрешений на папки и файлы

Несколько раз сталкивался с тем, что, распаковав файлы на (новом) хостинге, владельцы с удивлением обнаруживают некорректную работу сайта. Вплоть до предъявления обвинений в недобросовестности тому, кто эти файлы запаковывал. В действительности же ситуация может быть достаточно простой.

Итак, поехали.

Предыстория: архив был создан на компьютере с одними настройками, перенесён на хостинг с другими и распакован.. В зависимости от настроек панели управления или “разархиватора”, файлам было назначены права доступа.

Симптомы: 403 и 404 ошибки для файлов, которые 100% в наличии на хостинге.. и располагаются по корректным адресам. Перепроверено несколько раз.

Изменяем права доступа к файлам

Chmod

Справочно. Каждый файл и каталог в Linux имеет дополнительные данные о правах доступа к нему для трёх типов пользователей:
владельца файла (u);
других пользователей, входящих в группу владельца (g);
всех прочих пользователей (o);
Помимо стандартных разрешений ‘rwx’, команда chmod осуществляет также управление битами SGID, SUID и T. Установленные атрибуты SUID или SGID позволяют запускать файл на выполнение с правами владельца файла или группы соответственно.

Изменение разрешений на файлы и папки в панели управления
Сервер, хостинг с панелью управления, как правило, имеет настроенный файл-менеджер.. Одной из функцией файлового менеджера как раз и является установка прав доступа к файлам и папкам.
Однако, в панели не всегда получается установить права рекурсивно.
Права доступа в панели cPanel - искать в Диспетчере файлов.

Как изменить разрешения на файлы и папки в командной строке linux.

Chmod

Шпаргалка по chmod
# Устанавливаем рекурсивно права для "остальных" пользователей на выполнение для всех подкаталогов
find ./ -type d -exec chmod -R o+r {} \;
# изменение прав на доступ ко всем файлам .css / js в текущем каталоге
find ./ -type f -name *.css -exec chmod -R o+r {} \;
find ./ -type f -name *.js -exec chmod -R o+r {} \;
#

chmod u=rwx,g=rx,o=rx filename
chmod u+x,g-x,o-wx filename
chmod -R a+r directory

Chmod -

Значения прав доступа по умолчанию:
для файлов: 644 (-rw-r–r–)
для директорий: 755 (drwxr-xr-x)

Использование chmod в сочетании с командой find

# рекурсивное применение правил для всех файлов в каталоге /home/user, а также для всех файлов во всех поддиректориях:
# find /home/user -type f -exec chmod 644 {} \;
# для всех директорий (d)
# find /home/user -type d -exec chmod 755 {} \;
# заглавная X
# chmod -R go=rX,u=rwX /home/user

Автор будет признателен, если Вы поделитесь ссылкой на статью, которая Вам помогла:
BB-код (для вставки на форум)

html-код (для вставки в ЖЖ, WP, blogger и на страницы сайта)

ссылка (для отправки по почте)

Добавить комментарий