- Команда chmod в Linux
- Команда chmod
- Изменение прав доступа командой chmod
- Запись прав доступа числом
- Запись прав доступа символами
- Рекурсивное изменение прав доступа
- Видео-обзор команды chmod
- Команда chown — изменение владельца и группы
- Команда chgrp — изменение группы
- Резюме
- Права файлов и директорий на хостинге
- Содержание
- Какие права для файлов и папок использовать в cPanel
- Почему именно 755 и 644
- Как поменять права на файлы и папки в cPanel?
- Первый способ изменения прав из меню Диспетчер Файлов:
- Второй способ изменения прав из меню Диспетчер Файлов:
- Как поменять права на файлы и папки по FTP
- Как поменять права на файлы и папки по SSH?
Команда chmod в Linux
Команда chmod, команда chown и команда chgrp.
Команда chmod
Команда chmod предназначена для изменения прав доступа файлов и директорий в Linux. Название команды произошло от словосочетания «change mode».
Синтаксис команды chmod следующий:
Разрешения можно задавать двумя способами:
Изменение прав доступа командой chmod
Запись прав доступа числом
В данном формате права доступа задаются не символами rwx, как описано выше, а трехзначным числом. Каждая цифра числа означает определенный набор прав доступа.
- Первая цифра используется для указания прав доступа для пользователя.
- Вторая цифра для группы.
- Третья для всех остальных.
В таблице ниже приводятся все возможные комбинации разрешений rwx и соответсвующие им числа (которые используются в команде chmod):
Число | Разрешения | Символьное обозначение |
---|---|---|
0 | разрешения отсутствуют | — |
1 | x — запуск | —x |
2 | w — изменение | -w- |
3 | x+w — запуск+изменение | -wx |
4 | r — чтение | r— |
5 | r+x — чтение+запуск | r-x |
6 | r+w — чтение+изменение | rw- |
7 | r+w+x — чтение+изменение+запуск | rwx |
Рассмотрим использование команды chmod с записью прав доступа числом на примере. Установим для файла права доступа 764:
Это означает (см. таблицу выше), что для файла myfile мы устанавливаем права доступа 7 6 4 , которые означают:
- 7 — права для владельца-пользователя. Владелец файла может читать, изменять и запускать файл (r+w+x).
- 6 — права для группы. Пользователи, которые принадлежат группе могут читать и изменять файл (r+w).
- 4 — права для всех остальных. Все остальные могут только читать файл (r).
Если записать 764 с помощью символов (см. таблицу), то мы получим: «rwxrw-r-».
В таблице ниже приведены некоторые часто используемые значения числовых значений прав доступа:
Числовое обозначение | «rwx»-обозначение | Описание |
---|---|---|
400 | -r——— | Владелец файла может только читать файл. Для всех остальных все действия с файлом запрещены. |
644 | -rw-r—r— | Все пользователи могут читать файл. Владелец может изменять файл. |
660 | -rw-rw—- | Владелец и группа могут читать и изменять файл. Для всех остальных все действия с файлом запрещены. |
664 | -rw-rw-r— | Все могут читать файл. Владелец и группа могут изменять. |
666 | -rw-rw-rw- | Все могут читать и изменять файл. |
700 | -rwx—— | Владелец может читать, изменять и запускать файл. Для всех остальных все действия с файлом запрещены. |
744 | -rwxr—r— | Все могут читать файл. Владелец может также изменять и запускать файл. |
755 | -rwxr-xr-x | Все могут читать и запускать файл. Владелец может также изменять файл. |
777 | -rwxrwxrwx | Все пользователи могут читать, изменять и редактировать файл. |
Запись прав доступа символами
Как вы можете видеть, в данном формате права доступа задаются символами rwx, но в синтаксисе используются и другие вспомогательные символы, например, математические операции «+» и «—» и такие символы как, например, «g» или «u».
Общий синтаксис можно записать примерно так:
Обозначения для владельцев файла следующие:
Обозначение | Описание |
---|---|
u | Владелец-пользователь. |
g | Группа. |
o | Все остальные. |
a | Вообще все. |
Математические операции означают следующее:
Оператор | Описание |
---|---|
+ | Добавляет к текущим правам доступа новое разрешение. |
— | Удаляет из текущих прав доступа определенное разрешение. |
= | Устанавливает полностью новые разрешения (предыдущие перезаписываются новыми). |
В одной команде можно перечислять владельцев и их разрешения через запятую (см. пример ниже).
В данном случае мы не используем обозначения для владельцев, а значит разрешения устанавливаются для всех пользователей. «+x» означает — установить разрешение на запуск (x) файла для всех пользователей. Это эквивалентно выполнению команды: chmod a+x myfile1 .
Здесь используется обозначение g и символ равенства «=». Это означает, что для группы мы устанавливаем права доступа на чтение и запись файла (rw).
Для владельца файла (u) мы удаляем разрешение на изменение (w) файла.
Разрешаем владельцу (u) и группе (g) запускать файл (x).
Это как раз тот случай, когда мы перечисляем владельцев через запятую и устанавливаем для них разрешения. Для владельца файла (u) мы разрешаем запуск файла, для группы (g) мы запрещаем изменять файл, для всех остальных (o) мы запрещаем читать файл.
Рекурсивное изменение прав доступа
Если необходимо изменить права доступа на все файлы в директории, включая вложенные директории, то для этого существует опция -R, что означает рекурсивное изменение прав доступа для директорий и их содержимого. Например, изменим права доступа у всех файлов в директории Mydir:
И еще один момент. Если пользователь не является владельцем файла, но ему нужно изменить права доступа у данного файла, то команду chmod необходимо выполнять с использованием sudo, например:
Видео-обзор команды chmod
Команда chown — изменение владельца и группы
Для изменения владельца и группы файла используется команда chown.
Для изменения владельца файла используется следующий синтаксис:
Например, установим для файла myfile нового владельца vasya:
Для изменения владельца и группы файла используется следующий синтаксис:
Например, установим для файла myfile нового владельца vasya и группу sambashare:
Команда chgrp — изменение группы
Есть еще одна команда — chgrp. Она позволяет изменить только группу. Например:
Резюме
В Linux у каждого файла есть права доступа — это разрешения, владелец и группа.
Разрешения задаются для владельца, группы и для всех остальных.
Есть три вида разрешений — r — чтение, w — изменение, x — запуск.
Чтобы изменить разрешения у файла используется команда chmod.
Чтобы изменить владельца или группу используется команда chown.
Чтобы изменить группу используется chgrp.
Источник
Права файлов и директорий на хостинге
Из-за проблем с правами на файлы и папки могут не работают скрипты, не удаляются папки, возкникает ошибка 403 и ошибка 500. В этой статье разберёмся, какие бывают права и как их поменять.
С проблемой неправильных прав вы можете столкнуться при переезде от другого хостера. Например, вы решили купить доменное имя и хостинг у хостинг-провайдера с Windows OS. А потом увидели, что есть специализированный хостинг для CMS – как раз то, что вам нужно. И вы решили перебраться на хостинг для сайтов Joomla с Linux OS. Вот тут-то и начинаются проблемы. Но не отчаивайтесь, эта статья поможет вам во всем разобраться.
Рядовые пользователи Windows от таких нюансов далеки. Хотя понятие уровней доступа и существует в этой ОС, но используется редко. Поэтому, если вы хотите купить выделенный сервер с Windows, можете смело пропустить эту статью.
- владельца (user);
- группы (group), в которую входят другие пользователи и может входить владелец файла;
- остальных (others) – например, посетителей сайта, которые должны хотя бы иметь права просматривать выставленный вами контент.
Права доступа Linux пользователей могут быть следующими:
К каждому файлу и директории применимы следующие права (используются и в буквенном, и в числовом виде):
read (4) – чтение – право на чтение содержимого файла;
write (2) – редактирование – право на создание, изменение, удаление файла или директории;
execute (1) – исполнение – право на исполнение файла и вход в директорию (проверяется в первую очередь).
Таким образом, права пользователей могут распределяться следующим образом:
Owner | Group | Other |
---|---|---|
r w x | r w x | r w x |
4 2 1 | 4 2 1 | 4 2 1 |
Дальше они суммируются, и мы получаем число в уже знакомом виде 777:
4+2+1 | 4+2+1 | 4+2+1 | |
---|---|---|---|
= | 7 | 7 | 7 |
Права 777 предоставляют все привилегии пользователю, группе и остальным пользователям системы.
Содержание
Какие права для файлов и папок использовать в cPanel
Стандартные права доступа, актуальные и для нашего виртуального хостинга:
Они предполагает следующие привилегии:
644 = rw- r– r– | |
---|---|
Owner | чтение и редактирование |
Group | только чтение |
Others | только чтение |
755 = rwx r-x r-x | |
---|---|
Owner | чтение, редактирование и вход |
Group | только чтение и вход |
Others | только чтение и вход |
Почему именно 755 и 644
Такие права позволяют владельцу свободно работать с данными в виртуальной учетной записи, и при этом меры безопасности соблюдены, ведь редактирование и исполнение файлов не доступно другим пользователям сервера, на котором размещен хостинг.
Работа сайта в большинстве случае связана с использованием различных скриптов, которые добавляют ему интерактивности. Для запуска скриптов на наших серверах виртуального хостинга реализован suPHP, который запускает PHP как cgi и исполняет скрипт от имени его владельца. Поэтому не нужно предоставлять права на запись всему веб-серверу Apache (777), как это бывает на некоторых хостингах с mod_PHP. Ведь если дать максимальные права на системные файлы и папки, есть риск, что открытым доступом воспользуются злоумышленники.
Работа со скриптами через suPHP, и соответственно, настройка прав 755 и 644 рекомендуется разработчиками многих cms, например, популярных WordPress и Joomla.
Как поменять права на файлы и папки в cPanel?
Иногда, при смене хостингового провайдера и переносе данных на новый сервер, на данных остаются старые права. Чтобы сменить их, нужно:
1. Зайти в cPanel от имени пользователя
2. В разделе Файлы выбрать Диспетчер файлов (в WHM недоступен, только через сPanel)
3. Перейти в каталог, в котором необходимо изменить права для файлов/папок. Например, в каталог public_html.
4. Изменить права для файла/каталога можно двумя способами.
Первый способ изменения прав из меню Диспетчер Файлов:
1) Выделить нужную папку/файл и кликнуть на права (непосредственно на цифры, например, 0755):
2) Вписать нужные права и нажать Save:
Второй способ изменения прав из меню Диспетчер Файлов:
1) Выделить нужную папку или файл и нажать на иконку Разрешения (функция доступна также при нажатии правой клавиши мыши по файлу/папке).
2) В новом окне выставить нужные права и нажать Change Permissions.
Как поменять права на файлы и папки по FTP
Для этой цели удобно использовать FTP-клиент, например FileZilla. При подключении к хостинговой учетной записи откроется корневая директория, где с нажатием правой кнопки мыши будет доступна функция смены прав доступа. Преимуществом данного способа является возможность сменить права рекурсивно – таким образом, изменения применяются и для всех поддиректорий выбранной папки. (Читайте также: FileZilla: как подключиться)
1. Нужно подключиться к хостинговой учетной записи по FTP;
2. Нажать на файл или папку правой клавишей мыши и выбрать Права доступа к файлу.
3. В новом окне выставить права. В случае директории, сменить права можно рекурсивно, выбрав опцию “Перенаправить во вложенные каталоги”.
Как поменять права на файлы и папки по SSH?
Владельцы ВПС могут сменить права через терминал с помощью команды «chmod».
- Например, настроить права 755 для папки media нужно следующим образом:
Обратите внимание: смена происходит в той директории, в которой вы сейчас находитесь.
- Для смены прав для всех файлов текущей директории используется знак “звездочка”
- Если нужно сменить права на файлы во всех подкаталогах определенной папки, то поможет рекурсивная смена, которая выполняется с помощью добавления ключа -R и звездочки:
Для установки прав на несколько файлов необходимо перечислить их названия:
Интересуетесь, сколько стоит хостинг для сайта? Хотите, чтобы хостинг и регистрация доменов дешево обходились? Наши предложения вам не просто понравятся! Вы сможете прилично сэкономить, выбрав любой из наших пакетов услуг.
Источник