В системе Linux (как и в любой другой операционной системе) есть возможность разграничивать права доступа между пользователями системы.
Я предпочитаю работать с сайтами, развернутыми на базе Веб-окружения BitrixVM, но, к сожалению, не всегда это удается.
Права доступа к объектам файловой системы разделяются на два ключевых параметра: владелец файла/папки и уровень доступа.
При работе с файловой системой сайта через ftp/sftp очень часто возникает ситуация, когда ftp-пользователь и системный пользователь, под которым функционирует сайт - это разные пользователи, с разными идентификаторами. Это приводит к тому, что файлы, измененные из административной панели 1С-Битрикс, могут быть недоступны для редактирования через ftp-подключение, и, наоборот (хотя такой вариант реже). Это приводит к тому, что нужно каждый раз производить правки владельца и уровня доступа.
Изменение прав на объект файловой системы осуществляется командой:
chown [-fhv] [-R [-H | -L | -P]] владелец [:группа ] файл ... chown [-fhv] [-R [-H | -L | -P]] :группа файл ...
После выполнения данной команды будет изменен владелец и/или группа для указанного пути. При этом возможны такие параметры:
-R
- Данный параметр включаем рекурсию. Владелец и/или группа будут изменены для всего дерева каталога и файлов, начиная с указанного пути.-H
- Если установлена опция "-R", - будет разрешено дальнейшее следование по ссылкам из командной строки.-L
- Если установлена опция "-R", - будет разрешено дальнейшее следование по всем символическим ссылкам.-P
- Если установлена опция "-R", - будет запрещено дальнейшее следование по ссылкам (поведение по-умолчанию).-f
- Данный параметр отключает сообщения о неудачной попытке изменения владельца и/или группы.-h
- Данный параметр работает для символических ссылок: если файл является символической ссылкой - будут изменены права только на саму ссылку-v
- Режим вывода сообщений о ходе выполнения операции.
Если опция "-R" не задана, то опции "-H","-L","-P" будут проигнорированы. Кроме того, все оации переопределяют друг друга, поэтому будет выполнена та опция, которая указана последней.
На самом деле самый востребованный вариант - это просто поменять рекурсивно все вложенные папки и файлы по указанному пути:
chown -R user:group /some/path/to/folder
В результате будет изменен владелец и группа всех файлов и папок по указанному пути.
Для того чтобы сменить владельца к файлу, у пользователя, меняющего владельца, должен быть соответствующий уровень доступа. Чаще всего такую операцию осуществляют от имени root-пользователя.
А теперь о том, какие уровни доступа бывают:
- право на чтение;
- право на запись;
- право на исполнение.
Уровень прав доступа может быть задан для всех пользователей, без исключения, только для владельца файла или для всех пользователей, входящих в ту же группу, что и владелец.
Изменение прав доступа осуществляется командой:
chmod {a,u,g,o}{+,-}{r,w,x} filenames
Параметры команды:
a
- все пользователиu
- только владелецg
- группа пользователейo
- прочие пользователи+
- добавление прав-
- уменьшение правr
- права на чтениеw
- права на записьx
- права на исполнение.
Немного примеров данной команды для большего понимания:
chmod a+r file
- предоставляет всем пользователям права на чтение файлаchmod +x file
- аналогично предыдущему - если никакие из набора символов a, u, g или o не указаны - это эквивалентно указанию символа achmod og-x file
- лишает всех пользователей, кроме владельца, прав на исполнение файлаchmod u+rwx file
- разрешает владельцу чистать, изменять и исполнять фай.chmod o-rwx file
- запрещает читать, записывать и исполнять файл всем пользователям, кроме собственника файла или пользователей из группыchmod a-x file
- отменяет разрешения на выполнение файла для всех пользователей и группchmod go-w file
- отменяет право записи в файл группой и остальными пользователямиchmod u+x file
- разрешает владельцу исполнять файлchmod g=u file
- предоставляет группе те же права, что и у владельцаchmod go-rw file
- отменяет право на чтение и право на запись в файл пользователям группы и другим пользователямchmod a+rwx *
- предоставляет полные права всем пользователям на все файлы и каталоги в текущем каталогеchmod -R a+rwx *
- предоставляет рекурсивно (включая все подкаталоги) полные права всем пользователям на все файлы и каталоги в текущем каталоге
Вот так можно менять права доступа и права владения для пользователей linux-систем.
Не забывайте, что внесение всех правок вы делаете на свой страх и риск, так что будьте осторожны и, если не совсем понимаете, что произойдет после ваших действий - лучше обратиться к специалисту в области администрирования.
Разработка сайта
Подайте заявку на разработку сайта на базе готового решения от компании 1С-Битрикс или одного из партнеров компании. Максимально подробно опишите, чему будет посвящен сайт, если это интернет-магазин - что он будет продавать, нужна ли мультиязычность, будут ли разные типы цен (розница, опт, крупный опт), будет ли интеграция с 1С, будет ли выгрузка товаров на различные торговые площадки...
Сопровождение сайта
Вы можете подать заявку на сопровождение вашего сайта на базе 1С-Битрикс. Сопровождение включает в себя: проверка актуальности обновлений сайта, проверка актуальности резервной копии, консультации по сайту. Опишите в заявке, какие еще объемы планируются на сопровождении и на какой срок вы планируете заключить договор на сопровождение - мы подберем подходящий вам бюджет на сопровождение
Работы по сайту
Вы можете подать заявку на выполнение определенного объема работ по сайту. Опишите в заявке объем работ. Это может быть разработка какого-то нового функционала, доработки по имеющемуся функционалу, доработки под требования сео-специалистов. На основании заявки вам будет сформирован бюджет работ, а также названы сроки на выполнение тех или иных работ.