Как изменить права доступа к файлу на ftp сервере

Обновлено: 05.07.2024

На серверах виртуального хостинга в качестве FTP-сервера установлен ProFTPD.

  • mod_core.c
  • mod_xfer.c
  • mod_auth.c
  • mod_ls.c
  • mod_log.c
  • mod_site.c

Для изменения прав доступа к директориям Вашей площадки для различных FTP-пользователей можно использовать конфигурационный файл .ftpaccess, структура и функциональность которого во многом похожа на конфигурационный файл Apache - .htaccess.

Область действия конфигурационных директив, отвечающих за права доступа, ограничена секцией Limit, при этом <Limit команда> определяет ограничения на использование объектов в директории (дополняет, но не заменяет права доступа файловой системы); в дополнение к командам протокола FTP можно использовать групповые имена:

  • READ - все FTP-команды, связанные с чтением файлов (за исключением команд выдачи листинга содержимого директории), (RETR, SITE, SIZE, STAT);
  • WRITE - все FTP-команды, связанные с созданием, записью или удалением файлов или директорий (APPE, DELE, MKD, RMD, RNTO, STOR, XMKD, XRMD);
  • DIRS — все FTP-команды, связанные с выдачей листинга содержимого директории (CDUP, CWD, LIST, MDTM, NLST, PWD, RNFR, XCUP, XCWD, XPWD);
  • ALL - все FTP-команды (включает в себя все три класса READ, WRITE и DIRS).

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

Управление доступом в области действия Limit

  • Allow from all | none | хост | сеть - разрешение на действие, определенное в директиве Limit, в зависимости от шаблона IP адреса или доменного имени; область действия - Limit; по умолчанию - from all;
  • AllowAll - явное разрешение доступа к области действия Limit, Anonymous или Directory.
  • AllowGroup список-групп-через-запятую - для доступа к командам, описанным в данной области действия Limit, пользователь должен входить во все упомянутые группы (AND, возможно отрицание, задаваемое восклицательным знаком перед именем группы). На виртуальном хостинге FTP-пользователи одной площадки относятся к группе uXXXX, где uXXXX – номер площадки.
  • AllowUser список-имен-через-запятую - для доступа к командам, описанным в данной области действия Limit, пользователь должен иметь указанные имена (AND, возможно отрицание, задаваемое восклицательным знаком перед именем).
  • Deny from all | none | хост | сеть - запрет на действие, определенное в директиве Limit, в зависимости от шаблона IP адреса или доменного имени; область действия - Limit; по умолчанию - from none.
  • DenyAll - синоним для команд «order deny,allow;deny from all».
  • DenyGroup список-групп-через-запятую - запрещен доступ к командам, описанным в данной области действия Limit, пользователям, входящим во все упомянутые группы (AND, возможно отрицание, задаваемое восклицательным знаком перед именем группы)
  • DenyUser список-имен-через-запятую запрещен доступ к командам, описанным в данной области действия Limit, для пользователей с указанным именем (AND, возможно отрицание, задаваемое восклицательным знаком перед именем).
  • Order allow,deny | deny,allow - определяет последовательность проверки директив Allow и Deny, а также действия по умолчанию; allow,deny: проверяются директивы Allow, если совпадение найдено, то доступ предоставляется, иначе проверяются директивы Deny и если совпадение найдено, то доступ запрещается, иначе доступ предоставляется; deny,allow: проверяются директивы Deny и если совпадение найдено, то доступ запрещается, иначе проверяются директивы Allow и если совпадение найдено, то доступ предоставляется, иначе доступ запрещается; заметьте, что в Apache по умолчанию производятся противоположные действия!

Рассмотрим несколько примеров настройки FTP-доступа при помощи .ftpaccess.

  1. Пусть есть два FTP-пользователя площадки: uXXXX (доступ ко всей площадке) и uXXXX_2 (доступ к директории только одного домена domain.tld). Нам надо ограничить доступ второму пользователю только на чтение. В этом случае содержание .ftpaccess таково: Файл .ftpaccess следует поместить в директории domain.tld, его действие будет распространяться на все поддиректории. Кроме этого, для пользователя uXXXX_2 надо разрешить запись в директорию domain.tld/tmp, тогда в директории domain.tld/tmp надо поместить .ftpaccess противоположного содержания:
  2. Пусть помимо основного есть два FTP-пользователя площадки: uXXXX_1 и uXXXX_2, где uXXXX – номер площадки. На площадке расположено 4 домена – domain1.tld, domain2.tld, domain3.tld, domain4.tld. Каждому FTP-пользователю нужен доступ только к двум доменам, остальные ему полностью недоступны (директории «запрещенных» доменов не видны). Тогда оба пользователя имеют доступ ко всей площадке, а в директории доменов создаем файлы .ftpaccess следующего содержания: где uXXXX_Y – имя того пользователя, которому разрешен доступ в текущую директорию.

Также важно отметить, что пользователь имеет доступ к просмотру и копированию файла .ftpaccess, но создать или удалить его не возможно. А после создания или изменения конфигурационного файла, ограничения начнут действовать только для новых FTP-сессий.

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

Пользователи делятся на три категории:

  • владелец (владельцем является владелец аккаунта; дополнительные FTP-пользователи также получают права владельца в рамках предоставленного им доступа);
  • группа пользователей, в которую входит владелец (в рамках хостинга эта категория не актуальна; по умолчанию на нее распространяются те же права, как для категории "остальные");
  • остальные (прочие пользователи, которые заходят на ваш сайт).

Права доступа включают в себя право на чтение (r), запись (w) и исполнение (x) и могут записываться двумя способами: буквами или цифрами.

Соответствие буквенной и цифровой записи в таблице ниже:

Цифровая записьБуквенная записьПрава
0---Отсутствие прав
1--xИсполнение
2-w-Запись
3-wxЗапись и исполнение
4r--Чтение
5r-xЧтение и исполнение
6rw-Чтение и запись
7rwxЧтение, запись и исполнение

Права записываются последовательно: сначала для владельца, затем для группы, затем для остальных пользователей. Например, запись 755 (или rwx r-x r-x) означает, что владельцу даны права на чтение, запись и исполнение (7 / rwx), всем остальным - на чтение и исполнение (5 / r-x).

Права назначаются как файлам, так и директориям, при этом есть определенные отличия в том, какие возможности дает то или иное право доступа:

Просмотр содержимого (т.е. можно получить список объектов в каталоге) - например, командами cat, ls

Примеры наиболее распространенных комбинаций для прав доступа:

Владелец может просматривать и изменять содержимое, у остальных нет доступа к объекту

Просмотреть назначенные права можно командой ls -l. Права для файлов в выводе будут отмечены флагом -, для директории - флагом d, например:

Настройка прав доступа

Настроить права доступа к файлам и директориям вы можете тремя способами:

  • с помощью файлового менеджера панели управления;
  • при SSH-подключении;
  • через FTP-клиент.

Через файловый менеджер

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


  1. Перейдите в раздел "Файловый менеджер" панели управления.
  2. Выделите файл или директорию (указать права для нескольких файлов/директорий невозможно).
  3. Выберите пункт меню "Файл" - "Права доступа".
  4. Укажите необходимые права, после чего сохраните изменения.

По SSH

Права задаются при помощи команды chmod. Удобнее всего использовать цифровую запись. Перед правами укажите ноль.

Установить права 644 на файл test.txt:

Установить права 777 на каталог dir:

В отдельных случаях может быть полезна опция -R, она позволяет назначать права рекурсивно.

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

Из-за проблем с правами на файлы и папки могут не работают скрипты, не удаляются папки, возкникает ошибка 403 и ошибка 500. В этой статье разберёмся, какие бывают права и как их поменять.

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

В случае с Linux дело обстоит иначе. UNIX-подобные системы предполагают разные уровни доступа и разные права на данные. Файлы и папки рассчитаны на работу трех категорий пользователей:
  • владельца (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

Папки – 755.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Изменения прав из меню Диспетчер Файлов

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

Права файлов и директорий

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

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

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

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

Смена прав

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

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

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

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

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

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

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

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

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

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

Как настроить FTP? Как выставить права на папку?

Будем сегодня восполнять этот пробел в знаниях. Итак, вы уже имеете свой блог или сайт на WordPress и соответственно получили представление об административной панели управления WP. Через админку можно сделать многое, но далеко не все.

Как, например, изменить отдельно взятый файл вашей установленной темы или плагина? Для этого вам необходим доступ к вашему серверу, на котором собственно все это и хранится. Что бы получить доступ к своим файлам на сервере вам необходимо настроить FTP соединение с ним. Как это сделать?

Как настроить FTP?

Используем Total Commander

Для добавления и настройки нового FTP соединения скачайте и запустите Total Commander. В верхнем меню выберите – Сеть – Соединиться с FTP сервером или нажмите CTRL+F на клавиатуре. Перед вами появится окошко, где выберите – Добавить.

Как настроить FTP? Как выставить права на папку?

Как настроить FTP? Как выставить права на папку?

Возвращаемся к нашему Total Commander.

Как настроить FTP? Как выставить права на папку?

Пару слов о другом файлменеджере – FileZilla. Интерфейс там несколько отличается от рассмотренного нами выше, однако суть и вводимые параметры для настройки FTP соединения остаются неизменными.

Как задать права папкам?

После того как вы успешно соединились со своим сервером, в окне Total Commander увидите корневую директорию своего сайта.

Как настроить FTP? Как выставить права на папку?

Как настроить FTP? Как выставить права на папку?

Используем FileZilla

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

Быстрое соединение с сервером

Менеджер сайтов

Права на папку

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

Читайте также: