Домой / Avast / Разрешения 644. Определение прав доступа в виде числового кода. Чем отличаются Chmod файлов и папок

Разрешения 644. Определение прав доступа в виде числового кода. Чем отличаются Chmod файлов и папок

Довольно раздражительным может показаться тот факт, что на пути к счастью (читай, работающему сайту) могут стать 403 и 500 ошибки, неработающие скрипты, неудаляемые папки. Вышеперечисленные проблемы часто связаны с неправильно выставленными правами на файлы и папки.

С проблемой неправильных прав вы можете столкнуться при переезде от другого хостера. Например, вы решили у хостинг-провайдера с Windows OS. А потом увидели, что есть специализированный хостинг для CMS — как раз то, что вам нужно. И вы решили перебраться на с Linux OS. Вот тут-то и начинаются проблемы. Но не отчаивайтесь, эта статья поможет вам во всем разобраться.

Рядовые пользователи Windows от таких нюансов далеки. Хотя понятие уровней доступа и существует в этой ОС, но используется редко. Поэтому, если вы хотите , можете смело пропустить эту статью.

В случае с Linux дело обстоит иначе. UNIX-подобные системы предполагают разные уровни доступа и разные права на данные. Файлы и папки рассчитаны на работу трех категорий пользователей :
  • владельца (user);
  • группы (group), в которую входят другие пользователи и может входить владелец файла;
  • остальных (others) – например, посетителей сайта, которые должны хотя бы иметь права просматривать выставленный вами контент.

Права доступа Linux пользователей могут быть следующими:

К каждому файлу и директории применимы следующие права (используются и в буквенном, и в числовом виде):

read (4 ) – чтение – право на чтение содержимого файла;

write (2 ) – редактирование – право на создание, изменение, удаление файла или директории;

execute (1 ) – исполнение – право на исполнение файла и вход в директорию (проверяется в первую очередь).

Таким образом, права пользователей могут распределяться следующим образом:

Права 777 предоставляют все привилегии пользователю, группе и остальным пользователям системы.

Какие права для файлов и папок использовать в cPanel?

Стандартные права доступа, актуальные и для нашего виртуального хостинга:

Файлы – 644

Папки – 755 .

Они предполагает следующие привилегии:

Почему именно 755 и 644?

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

Работа сайта в большинстве случае связана с использованием различных скриптов, которые добавляют ему интерактивности. Для запуска скриптов на наших серверах виртуального хостинга реализован suPHP, который запускает и исполняет скрипт от имени его владельца. Поэтому не нужно предоставлять права на запись всему веб-серверу Apache (777), как это бывает на некоторых хостингах с mod_PHP. Ведь если дать максимальные права на системные файлы и папки, есть риск, что открытым доступом воспользуются злоумышленники.

Работа со скриптами через suPHP, и соответственно, настройка прав 755 и 644 рекомендуется разработчиками многих cms, например, популярных WordPress и Joomla.

Иногда, при смене хостингового провайдера и переносе данных на новый сервер, на данных остаются старые права. Чтобы сменить их, нужно:

1. Зайти в cPanel от имени пользователя

2. В разделе Файлы выбрать Диспетчер файлов (в WHM недоступен, только через сPanel)

3. Перейти в каталог, в котором необходимо изменить права для файлов/папок. Например, в каталог public_html .

4. Изменить права для файла/каталога можно двумя способами.

Первый способ изменения прав из меню Диспетчер Файлов:

1) Выделить нужную папку/файл и кликнуть на права (непосредственно на цифры, например, 0755 ). Подробнее на скриншоте ниже.

2) Вписать нужные права и нажать Save .

1) Выделить нужную папку или файл и нажать на иконку Разрешения (функция доступна также при нажатии правой клавиши мыши по файлу/папке).

2) В новом окне выставить нужные права и нажать Change Permissions .

1. Нужно подключиться к хостинговой учетной записи по FTP;

2. Нажать на файл или папку правой клавишей мыши и выбрать Права доступа к файлу .

3. В новом окне выставить права. В случае директории, сменить права можно рекурсивно, выбрав опцию “Перенаправить во вложенные каталоги ”.

Как поменять права на файлы и папки по SSH?

Владельцы могут сменить права через терминал с помощью команды «chmod».

  • Например, настроить права 755 для папки media нужно следующим образом:
chmod 755 media

Обратите внимание: смена происходит в той директории, в которой вы сейчас находитесь.

  • Для смены прав для всех файлов текущей директории используется знак “звездочка”
chmod 644 *
  • Если нужно сменить права на файлы во всех подкаталогах определенной папки, то поможет рекурсивная смена, которая выполняется с помощью добавления ключа -R и звездочки:
chmod -R 644 *

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

Chmod 644 file1.txt file2.txt file3.txt

Интересуетесь, ? Хотите, чтобы хостинг и обходились? Наши предложения вам не просто понравятся! Вы сможете прилично сэкономить, выбрав любой из наших пакетов услуг.

Одной из важнейших составляющих безопасности сайта явлются правильные права доступа к файлам . Думаю, что многие из Вас видели подобные права, например, "777 ", "755 ", "444 " и другие. Иногда перед ними идёт ещё ведущий "0 ", но в этой статье мы его опустим. Вот что они означают и как составляются, а также как правильно их использовать, я попытаюсь объяснить в сегодняшней статье.

Определяются 3-мя составляющими: разрешение на чтение , на запись и на выполнение . Также существует три группы пользователей: владелец файла , группа, к которой принадлежит владелец , и все другие пользователи . Вот на основании 3-х составляющих прав и групп пользователей и строятся эти числа, обозначающие права доступа к файлам .

Продолжим. Права состоят из трёх цифр. Первая цифра отвечает за права владельца файла, вторая цифра - за группу владельца , а третья цифра - за права других пользователей .

Далее. Каждая цифра отвечает за количество прав. Считается она следующим образом: за права чтения даётся 4 , за право записи даётся ещё 2 , за выполнение ещё 1 . Получается, что максимально возможные права - это 4+2+1=7 (чтение+запись+выполнение). Если группа может читать и выполнять файл, но не может записывать, то права будут 4+1=5 (чтение+выполнение).

Чтобы стало ещё понятнее, возьмём пример: права "754 ", и подробно разберём их:

  • 7 - владелец файла может читать (4 ), записывать (2 ) и выполнять (1 ) файл.
  • 5 - группа владельца может читать (4 ) и выполнять (1 ) файл.
  • 4 - все остальные пользователи могут только читать (4 ) файл.

Многие могут спросить: "А что же с каталогами? ". Каталоги - это те же файлы, поэтому на них распространяются те же правила.

Теперь о том, как нужно выставлять права доступа к файлам на Вашем сайте :

  • На все файлы поставить права "644 ".
  • На все директории поставить права "755 ".
  • На особо важные файлы (как правило, это файл config.php , в котором содержатся пароли от базы данных) необходимо поставить права "444 ".
  • На все директории, в которые пользователь может загружать файлы, надо ставить права 777 . Например, это папка с аватарками.

И последний момент, который хотелось бы осветить - это права в системе Windows . Самое главное - это понять, что в Windows нет никаких прав доступа вообще. Они относятся только к Unix-системам . Поэтому бесполезно на каком-нибудь Denwer узнавать, какие права доступа к файлам у Вас стоят.

В этой статье мы с Вами разобрали, как составляются права доступа , а также Вы теперь знаете, какие права надо ставить у себя на сайте . А в следующей статье я разберу, как можно работать с правами доступа к файлам через функции PHP .

Что такое CGI-скрипты?

CGI - Common Gateway Interface является стандартом интерфейса (связи) внешней прикладной программы с информационным сервером типа HTTP, Web сервер. Обычно гипертекстовые документы, извлекаемые из WWW серверов, содержат статические данные. С помощью CGI можно создавать CGI-программы, называемые шлюзами, которые во взаимодействии с такими прикладными системами, как система управления базой данных, электронная таблица, деловая графика и др., смогут выдать на экран пользователя динамическую информацию. Программа-шлюз запускается WWW сервером в реальном масштабе времени. WWW сервер обеспечивает передачу запроса пользователя шлюзу, а она в свою очередь, используя средства прикладной системы, возвращает результат обработки запроса на экран пользователя. Программа-шлюз может быть закодирована на языках C/C++, Fortran, Perl, TCL, Unix Schell, Visual Basic, Apple Script. Как выполнимый модуль, она записывается в поддиректорий с именем cgi WWW сервера.

Какие действия нужно проделать, чтобы установить права на доступ к поддиректориям внутри public_html , что означает 711 (rwx--x--x) и почему без установки этих прав сайт не будет работать корректно?

В ОС Unix (Linux) есть команда chmod - которая меняет права доступа к файлам и директориям. Соответственно, чтобы поставить права 644 к файлу test надо дать команду:

chmod 644 test

На директории, также как и на файлы, устанавливаются права доступа.
Если у пользователя есть право на чтение (r) директории, то он может просмотреть ее содержимое командой ls . С разрешением на запись в директорию (w) пользователь может создавать, удалять и редактировать файлы внутри директории. Если установлено право на запуск (x), то пользователь может войти в директорию командой cd или воспользоваться находящимися в ней файлами. Таким образом, если на директорию установлены права 711 (rwx--x--x), то это означает, что создавать, редактировать, удалять файлы и просматривать содержимое директории может только ее владелец. Использовать файлы, содержащиеся в этой директории, (запускать на выполнение, просматривать) может как ее владелец, так и другие пользователи. Установка таких прав доступа на директории внутри public_html продиктована соображениями безопасности. Если установить более мягкие ограничения на доступ к директориям, то открывается возможность несанкционированного доступа к файлам, которые в них содержатся. На cgi -скрипты (выполняемые файлы), которые должны находиться в директории public_html/cgi , следует устанавливать права 700 (rwx------), так как скрипты выполняются под UID"ом владельца.

Что означает "Права доступа к файлам 644 (rw-r--r--)" ?

Первая цифра - это полномочия владельца файла,
вторая - группы к которой относится владелец,
третья - остальных пользователей.
В данном случае: владельцу разрешен доступ на чтение и редактирование (rw) данного файла, всем остальным только чтение (r).

В какой системе счисления указаны права доступа к директориям и файлам?

В восьмеричной.

1 - x (eXecute) -- возможность исполнять данный файл;
2 - w (Write) -- возможность записи;
4 - r (Read) -- возможность чтения.

Соответственно итоговые цифры получаются путем сложения.

Как нужно поступить с .htaccess -файлом, чтобы по умолчанию (дефолтом) читались также и .shtm -файлы (т.е. сейчас в пустой папке можно положить index.htm/.html/.shtml , как в этот список добавить .shtm, .phtml (если понадобится) или .php3 и так далее.

Укажите в .htaccess директиву AddType , в параметрах которой перечислите нужные типы файлов.
Сразу заметим, что .php3 и .phtml не будут выполняться как
php-скрипты.
Все скрипты должны находиться в директории public_html/cgi , иметь расширение .cgi и права 700 .

Могу ли я вставить в файл index.html SSI инструкцию и что мне надо для этого сделать?

Укажите в.htaccess директиву AddHandler server-parsed, в параметрах которой перечислите нужные типы файлов.
В данном случае директива будет выглядеть так:

AddHandler server-parsed .html

Я собираюсь у Вас держать web-сервер в кодировке koi8r . Что мне нужно для этого сделать?

Наш Apache по умолчанию настроен на выдачу контента, содержащего русский текст в кодировке win-1251 .
Чтобы использовать другую кодировку, следует прописать в файл .htaccess директиву CharsetSourceEnc . Так как Вы используете кодировку koi8-r , эта директива будет иметь вид:

CharsetSourceEnc koi8-r

Где можно почитать о Apache, Perl, PHP и PostgreSQL?

Где находиться почтовая программа у Вас на сервере?

/usr/bin/sendmail

НАЗВАНИЕ

chmod — смена прав доступа

СИНТАКСИС

chmod [-fhv] [-R [-H | -L | -P]] права файл …

ОПИСАНИЕ

Утилита chmod изменяет биты прав доступа указанных файлов.

Разрешенные опции:

Не выводить диагностическое сообщение, если chmod не может изменить биты прав доступа файла. -H

Если опция -R указана, все символические ссылки разрещены.

Если опция -R указана, все символические ссылки запрещены.

Рекурсивная смена прав доступа.

Детальный вывод работы chmod.

Если указана опция -R, опции -H, -L, -P игнорируются.Только владелец файла или супер-пользователь могут изменять права доступа.

КОД ЗАВЕРШЕНИЯ

При успешном завершении — 0, при ошибке > 0.

ПРАВА ДОСТУПА

Права доступа указываются в абсолютном или символическом виде. Абсолютный вид — сума восьмеричных значений.

setuid bit. С установленным битом setuid файлы запускаются от имени их владельца.

setgid bit. С установленным битом setgid файлы запускаются от имени их группы владельца.

Владельцу разрешено чтение.

Владельцу разрешена запись.

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

Групе разрешено чтение.

Групе разрешена запись.

Для файла — групе разрешенно его запускать, для директории — групе разрешенно просматривать содержимое.

Другим разрешено чтение.

Другим разрешена запись.

Для файла — другим разрешенно его запускать, для директории — другим разрешенно просматривать содержимое.

Пример: владельцу разрешенно чтение, запись, запуск; групе — чтение и запуск; другим — чтение и запуск. Биты setuid и setgid не установленны. 400+200+100+040+010+004+001=755.

Символичекое представление прав:

mode::= clause [, clause …]

clause::= action

action::= op

who::= a | u | g | o

op::= + | — | =

perm::= r | s | t | w | x | X | u | g | o

Символы who: u — пользователь, g — групgа, o — другие, a — эквивалентно ugo

Символы perm

r — чтение.

s — setuid и setgid.

t — sticky бит.

w — запись.

x — исполнение/запуск.

X — исполнение/запуск если это директория.

u — права доступа для владельца в оригинальном файле.

g — права доступа для группы в оригинальном файле.

o — права доступа для других в оригинальном файле.

Символы op

Добавить

— удалить

Очистить

запись только владельцу, остальным чтение

Запрет на запись группе и другим

очистить все биты для группы и других

СТАНДАРТЫ

команда chmod соответствует стандарту IEEE Std 1003.2 («POSIX.2»); исключение составляет sticky-бит, который не стандартизирован.

СОВМЕСТИМОСТЬ

Команда chmod появилась в версии 1 AT&T UNIX

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

Cd /var/www/сайт find ./ -type f -exec chmod 0644 {} \; find ./ -type d -exec chmod 0755 {} \;

Что такое Chmod

Это UNIX-утилита, с помощью которой можно быстро через консоль изменить права на доступ для определённых владельцев (owner) и групп (group) для указанных категорий и файлов.

Зачем использовать Chmod

В UNIX-системах — FreeBSD, Ubuntu, Debian, Centos — у каждого файла и папки (каталога) есть свои , к которым они относятся. Сделано это с целью разграничения прав доступа на чтение (r, read), запись (w, write) и исполнение (x, execute) для разных пользователей: владельцев (u), пользователей, входящих в группу владельца (g) и остальных (o).
Например, если вы пользуетесь хостингом, то должны знать, что ваш сайт физически находится на одном сервере рядом со множеством других сайтов таких же, как вы, пользователей со своими сайтами. Чтобы вы не смогли помешать друг другу, у каждой директории с сайтами свой владелец и группа пользователей, к которым они относятся.
На shared хостинге о вас позаботятся профессиональные системные администраторы. А если вы имеете свой сервер VDS/VPS, то просто обязаны следить за прописанными правами на доступ к файлам. Например, если вдруг с помощью уязвимости на сайте злоумышленник сможет записать backdoor в директорию для загрузки файлов, то с правильно прописанными правами доступа он не сможет причинить большого вреда файловой системе. Конечно, в директории для загрузки файлов должно быть принудительно отключено исполнение скриптов, но это тема уже для другого разговора.

Синтаксис Chmod

chmod [-Rvf] [Правила доступа] [Файл/Файлы/Каталог, директория файлов]

В части [Правила доступа] могут быть либо числовые, либо символьные значения.
[Файл/Файлы/Каталог файлов] — путь к файлу, файлам или к каталогу файлов, абсолютный или относительный.

Ключи -R, -v, -f

  • -R
    Рекурсивное изменение прав доступа для каталога и вложенных файлов и подкаталогов
  • -v
    Подробное описание применения изменения прав доступа или невозможности этого действия
  • -f
    Не выдавать сообщение об ошибке для тех файлов и каталогов, для которых невозможно изменить права доступа

Правила доступа Chmod

Как вы уже знаете, права доступа определяются тем, как пользователь может взаимодействовать с файлами и каталогами, а именно r — read (чтение), w — write (запись), x — execute (выполнение).
А также, вы знаете, что эти права должны быть прописаны для трёх групп пользователей:

  1. Владелец файла или каталога;
  2. Пользователи, входящие в группу владельца;
  3. Остальные.

Теперь посмотрим в таблицу определения прав:

То есть, для того, чтобы записать правило для владельца дать доступ на чтение и запись, остальным дать права только на чтение , мы должны дать права (rw-r--r--)

Теперь обратите внимание на столбец Символьная и Восьмеричная. Там визуально показано, что то, что выглядит символьно как (rw-r--r--), в восьмеричном виде выглядит как (644). Это выражение и будем использовать как числовую запись в команде.

Теперь осталось собрать всё воедино в одну запись. Для примера, изменим права на доступ «всем дать права на чтение, владельцу право изменять содержимое» для файла index.php:

Chmod -v 644 index.php

Как проверить права Chmod

ls -ld index.php

где index.php — файл или каталог, который нужно проверить.

Пример правильного использования Chmod

Правила доступа по умолчанию для каталогов 755 , для файлов 644 . Поэтому, в подавляющем большинстве случаев, вам понадобятся только эти права.