Архив рубрики: Публикации

Веб сервер Apache (Web Апач) ➡ что это, как работает и какие у него преимущества



























Rate this post

Apache HTTP-сервер – это так называемый свободный веб-сервер, представляющий собой кросплатформенное программное обеспечение. Apache поддерживает следующие операционные системы: BSD, Microsoft Windows, Linux, Mac OS, BeOS, Novell NetWare.

Как работает веб-сервер Apache?

Хоть Apache и называется веб-сервер, но в реальном положении вещей он является не сервером, а программой, которая запускается на сервере. Его задача установить соединение между сервером и браузером посетителей (Firefox, Google Chrome, Safari и др.) при доставке файлов туда и обратно между ними (клиент-серверная структура). Apache – это кроссплатформенное программное обеспечение, что значит оно хорошо работает как на Unix, так и на Windows серверах.

Когда посетитель хочет загрузить страницу вашего сайта, например, домашнюю страницу или страницу «О нас», его браузер отправляет запрос на ваш сервер и Apache возвращает ответ со всеми запрошенными файлами (текст, изображение и так далее). Сервер и клиент взаимодействуют по протоколу HTTP и Apache ответственен за гладкое и безопасное соединение между двумя машинами.

Apache хорошо и удобно настраиваемый поскольку имеет модульную структуру. Модули позволяют администраторам сервера включать или выключать дополнительную функциональность. У Apache есть модули безопасности, кэширования, редактирования URL, аутентификации по средством пароля и другие. Вы можете установить свою собственную конфигурацию через файл .htaccess, который является файлом настроек для Apache и поддерживается всеми тарифными планами Hostinger.

Ядро веб-сервера Апач

Ядро этого ПО, разрабатывается фондом Apache Software Foundation, который поддерживает огромное количество разработчиков по всему миру. Его основными функциями являются:

  • Передача данных по HTTP;
  • Обработка файлов;
  • Загрузка и поддержка модулей.

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

Обслуживание серверов

от 10 000 руб.

Подбор, сборка и настройка серверов для решения любых задач. Абонентское обслуживание с круглосуточным мониторингом устройств. Настройка удаленного доступа и ограничение доступа к информации сотрудникам. Полное погружение в Вашу сферу.


  • обслуживание и круглосуточный мониторинг устройств

  • настройка системы архивации в подарок

  • бесплатная консультация специалиста

  • удаленная настройка сервера

Мы свяжемся с Вами и проконсультируем по всем вопросам

Закажите консультацию Вы, как руководитель, столкнулись с вопросом необходимости организации и контроля внутренних процессов своей компании? Хотите настроить удаленный доступ к данным и обеспечить бесперебойную работу программ, контролировать действия сотрудников, предотвратить утечку ценной информации и создать защищенную корпоративную сеть?

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

Сервер, профессионально настроенный под Ваши потребности позволит мониторить рабочую ситуацию в любое удобное время!

Наша компания занимается установкой и настройкой серверов исходя из индивидуальных потребностей клиента. Мы предоставляем как разовую услугу, так и комплексное сопровождение ИТ-инфраструктуры компании — обслуживание ПК, периферийных устройств, серверов, сетей, сетевого оборудования, а также всех необходимых сервисов, программ и приложений.

Что дает установка сервера

Хранение файлов в одном месте

Файлы хранятся в одном месте. Нет необходимости постоянно передавать их по почте или с помощью флешки.

Ограничение доступа к информации/файлам

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

Удобное рабочее пространство

У сотрудника на рабочем столе будут выведены все необходимые для работы ярлыки

Ограничение Интернет-ресурсов

Запрет доступа к социальным сетям, порносайтам, онлайн играм и прочим ресурсам.

Одинаковое ПО

Все сотрудники будут работать с одинаковым ПО (одинаковая программа, одинаковая версия и т.д.).

Полноценная удаленная работа

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

Централизованное уведомление пользователей

Уведомление пользователей о необходимости подготовить отчеты, прийти на совещание, а также поздравления с праздниками и прочим для создания корпоративной культуры.

Централизованное подключение принтеров и МФУ

При установке нового оборудование оно появляется у всех сотрудников автоматически: не нужно ходить и подключать его каждому и отвлекать сотрудников от работы.

Использование мощностей сервера, а не компьютера

Даже при слабом компьютере сотрудник может работать с 1С, фотошопом и другими программами, если они стоят на сервере.

Централизованная настройка подписей при отправке

Сотрудники не могут изменить свою подпись в письме: поставить туда свою, некорпоративную почту, изменить номер телефона.

Система внутреннего чата без использования Интернета

Аналог аськи, но внутри компании. Возможна также передача данных.

Блокировка всех почт кроме корпоративной во избежание утечки информации

Полная блокировка использования сторонней почты кроме корпоративной.

Защита файлов

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

Полный контроль над письмами и вложениями

Вся почта хранится у вас – вы защищены от специального или случайного удаления чего-либо из почты своим сотрудником.

Ограничение установки и запуска программ

Сотрудники не смогут установить игрушки и прочее развлекательное или вредоносное ПО на свой компьютер или сервер. На компьютере нельзя запустить скайп, аську и прочее ПО, не связанное с работой или запрещенная по соображениям возможной утечки информации.

Унификация рабочих мест

Пользователь может пересесть за любой другой компьютер и продолжить работу (актуально, если компьютер сгорел или в компании часто любят делать перестанови сотрудников).

 

Установка Apache

На данный момент, самая новая версия программы 2.4 поэтому и будет рассмотрена настройка apache 2.4. Как я уже говорил, в Linux программа устанавливается буквально в пару команд. Для установки в Ubuntu сначала обновим систему до самой новой версии:

sudo apt update

$ sudo apt upgrade

Затем установка apache2:

sudo apt install apache2

В других дистрибутивах пакет программы называется либо так, либо httpd и его установка у вас не вызовет трудностей.

После завершения установки нужно добавить веб-сервер в автозагрузку, чтобы не запускать его вручную после включения компьютера:

sudo systemctl enable apache2

Настройка AD (Active Directory)

Процесс настройки active directory является весьма длительным и ответственным, выполнение которого требует наличия высокой квалификации и большого опыта работы в данной сфере. Но своевременная установка, правильная настройка и применение AD открывает широчайшие возможности перед любой компанией. Применение active directory позволяет значительно упростить процесс расширения штата компании, внедрить новые технологии и решения. AD способствует расширению функциональности и обеспечению безопасной работы всей корпоративной сети.

Настройка Apache на Windows

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

Кстати, в конфигурационном файле уже прописаны значения многих параметров по умолчанию. К примеру, по умолчанию корневой директорией является c:/Apache24. Поэтому если папку Apache24 из скаченного архива вы разархивируете в корень диска C, то вы можете вообще без настройки запустить веб-сервер следующей командой:

c:Apache24binhttpd.exe -k start

И по адресу http://localhost увидите стандартную страницу веб-сервера, которая сообщает, что он работает:

Кстати, для открытия командной строки в Windows используйте сочетание клавиш Win+x и в открывшемся окне выберите Windows PowerShell (администратор).

Настройка веб-сервера выполняется посредством редактирования текстового файла, который размещён в папке Apache24conf и называется httpd.conf.

Этот файл состоит из директив с определёнными значениями. Эти директивы регулируют поведение веб-сервера. Но больше чем директив в этом файле комментариев – они начинаются с решётки (#) – комментарии нужны для человека, который настраивает веб-сервер. Сам сервер строки начинающиеся с # просто игнорирует. Т.е. вы можете просто удалить их.

Этот файл содержит не все возможные директивы – многие из них здесь отсутствуют, поскольку не требуются для большинства задач. Даже в этой заметки мы рассмотрим не все доступные в файле настройки – если описание чего-то пропущено, значит просто не нужно это трогать.

Как уже было сказано, важно установить путь до папки с веб-сайтами. Если она установлена неправильно (например, отсутствует на компьютере), то веб-сервер не запуститься.

Думаю, вы уже обратили внимание, что веб-сервер отличается от других программ для Windows. Если вы знакомы с Linux или другими аналогичными операционными системами, вам должна быть знакома работа в консоли и редактирование текстовых файлов. Пути до файлов тоже записываются не совсем обычно для Windows. Сейчас главное уяснить два правила:

  • используйте абсолютные пути до файла (которые начинаются с буквы диска, затем следуют все вложенные папки), а не относительные – у сервера свои правила интерпретации относительных путей, поэтому вы можете не понять друг друга;
  • всегда используйте прямые слеши, а не обратные (т.е., “c:/apache” вместо “c:apache”).

Итак, откройте файл Apache24confhttpd.conf любым текстовым редактором (хоть Блокнотом) и вот мы уже готовы к настройке веб-сервера.

Первой идёт директива ServerRoot – это верхняя директория дерева, в которой хранятся файлы конфигурации сервера и журналов. Не добавляйте слэш на конец пути папки.

Значение по умолчанию устанавливается двумя директивами:

Define SRVROOT “c:/Apache24” ServerRoot “${SRVROOT}”

Первая директива присваивает значение переменной SRVROOT, которое по умолчанию “c:/Apache24”. Вторая директива присваивает значение переменной ${SRVROOT} настройке ServerRoot.

ServerRoot — это та папка, в которой находятся все файлы веб-сервера – поменяйте значение на то, куда вы распаковали файлы веб-сервера. Это можно сделать используя конструкцию из двух переменных:

Define SRVROOT “c:/Server/bin/Apache24” ServerRoot “${SRVROOT}”

Либо если вы не планируете снова использовать переменную ${SRVROOT} (а она по умолчанию используется далее!), то можно сократить запись из двух строк до одной строки:

ServerRoot “c:/Server/bin/Apache24”

Директива Listen позволяет вам привязать Apache к определённому IP адресу и/или порту. Значение по умолчанию:

Listen 80

Оно означает, прослушивать 80 порт на любом IP адресе (т.е. любом сетевом интерфейсе), доступном в вашей системе. Вы можете указать конкретный IP адрес, который нужно прослушивать и, следовательно, на запросы с которого отвечать:

Listen 12.34.56.78:80

Можно указать несколько портов:

Listen 80 Listen 8000

Или несколько IP и портов:

Listen 192.170.2.1:80 Listen 192.170.2.5:8000

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

Значение по умолчанию вполне подходит для локального веб-сервера – т.е. здесь можно просто ничего не менять.

Далее идёт большой список модулей. Некоторые их них отключены (строки закомментированы, т.е. начинаются с #), а некоторые включены.

На самом деле, всё действительно необходимое уже включено – и для работы большинства веб-сайтов менять ничего не нужно – особенно на локальном веб-сервере. Но есть одно исключение – модуль mod_rewrite по умолчанию отключён. Это очень популярный модуль, например, все ЧПУ (понятные для человека адреса страниц) делаются с помощью него. Вы можете его включить, для этого достаточно найти строку:

#LoadModule rewrite_module modules/mod_rewrite.so

и раскомментировать её, т.е. заменить на:

LoadModule rewrite_module modules/mod_rewrite.so

Директива ServerAdmin содержит e-mail администратора, этот адрес электронной почты пишется на некоторых страницах веб-сервера, которые автоматически генерируются в случае возникновения ошибок. Подразумеваются, что по этому адресу можно связаться с администратором.

Директива ServerName – это то, как сервер сам себя идентифицирует (называет). Для локального веб-сервера поменяйте строку

#ServerName www.example.com:80

на

ServerName localhost

Конструкция

    AllowOverride none     Require all denied

запрещает доступ к файловой системе веб-сервера (пока это не разрешено явно) и запрещает использовать файлы .htaccess (пока это не разрешено явно).

Далее идёт довольно объёмная конструкция, но если удалить из неё комментарии, то получается следующее:

DocumentRoot “${SRVROOT}/htdocs” Options Indexes FollowSymLinks AllowOverride None Require all granted

DocumentRoot – это директория, где по умолчанию находятся сайты. По умолчанию именно там ищутся все пришедшие на веб-сервер запросы. Укажите здесь путь до корневой папки в веб-документами. Конечный слэш писать не нужно.

Конструкция нам уже встречалась. Но здесь указывается конкретная папка, для который делаются настройки. Эти настройки перезаписывают общие, которые указаны ранее.

Пути до папок в DocumentRoot и Directory не забудьте поменять на свои!

Обратите внимание, что для установки настроек вновь используется переменная ${SRVROOT}, значение которой было присвоено в самом начале. Если использовать синтаксис с ${SRVROOT}, то корневая папка документов должна обязательно находится в корневой папке сервера. Я настраиваю сервер по-другому — у меня исполнимые файлы отделены от файлов сайтов, поэтому вместо переменной, можно просто прописать пути до нужной папки с сайтами:

DocumentRoot “c:/Server/data/htdocs/” Options Indexes FollowSymLinks AllowOverride None Require all granted

Директива Options включает разные опции. По умолчанию указаны опции Indexes и FollowSymLinks. Первая (Indexes) означает показывать индексные файлы, если запрос не содержит имени файла. Допустим, пользователь открывает адрес http://localhost/site/, то если в этой папке есть индексный файл (например, index.html или index.php), то будет показан этот файл. Понятно, что если сделан запрос на определённый файл, например, http://localhost/site/page.html, то будет показана запрошенная страница.

Вторая опция (FollowSymLinks) означает следовать символьным ссылкам. Это что-то вроде ярлыков в Windows. В Linux с помощью таких ссылок можно собрать в одном сайте файлы, размещённые в различных папках файловой системы. На самом деле, для начинающих администраторов сервера это не очень нужно.

Директива AllowOverride установлена на None, это означает запрет использовать файлы .htaccess. На своём сервере я разрешаю файлы .htaccess (нужны для mod_rewrite, ограничения доступа), поэтому я заменяю её значение на All, получается так:

AllowOverride All

А директива Require all granted открывает посетителям доступ для веб-документов.

Я уже упомянул индексные файлы, перечень индексных файлов устанавливается конструкцией:

    DirectoryIndex index.html

Там всего один файл – index.html. Можно дописать любое количество своих собственных. Я меняю:

DirectoryIndex index.html

на

DirectoryIndex index.php index.html index.htm

Другие настройки обычно не требуется менять для локального веб-сервера.

Смотрите также:

  • Как подключить PHP к Apache на Windows
  • Как подключить MySQL к Apache на Windows

Преимущества веб-сервера Апач

Разумеется, главным достоинством данного веб-сервера, является не возможность свободно его использовать. К преимуществам http сервера Apache, необходимо отнести высокий уровень надежности и гибкие настройки. В частности, к нему можно подключать большое количество внешних модулей, систем управления базами данных и т.п. Также он поддерживает интернет-протокол IPv6.

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

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

При работе с сайтами на Вордпрессе, не требует дополнительных настроек после установки.

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

Недостатки сервера Апач

Как и у любой другой вещи, все недостатки Apache, являются логическим продолжением его достоинств. Наиболее вескими недостатками являются:

  • Возможные проблемы с производительностью на высоконагруженных сайтах с большим трафиком, «тяжелым» контентом или приложениями, которые требуют высоких вычислительных мощностей;
  • Большое количество параметров настройки может привести к возникновению уязвимостей, из-за невнимательности при конфигурации;
  • Существует вероятность того, что в модули от независимых разработчиков будет внедрен вредоносный код.


[spoiler title=”Источники”]

  • https://ru.hostings.info/schools/apache.html
  • https://www.hostinger.ru/rukovodstva/web-server-apache/
  • https://loomhosts.com/ru/web-server-apache/
  • https://Lan-Star.ru/uslugi/12-ustanovka-i-nastroyka-serverov.html
  • https://losst.ru/ustanovka-i-nastrojka-servera-apache
  • http://fixservice.ru/servers/nastroyka/
  • https://apache-windows.ru/%D0%BA%D0%B0%D0%BA-%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D1%82%D0%B8%D1%82%D1%8C-apache-%D0%BD%D0%B0-windows/


[/spoiler]


2020-07-27T15:39:45
Linux

chmod linux – описание и примеры использования



























2/5 — (1 голос)

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

Для изменения владельца файла используется следующий синтаксис:

chown новый_владелец имя_файла

Например, установим для файла myfile нового владельца vasya:

chown vasya myfile

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

chown новый_владелец:новая_группа имя_файла

Например, установим для файла myfile нового владельца vasya и группу sambashare:

chown vasya:sambashare myfile

Команда chgrp — изменение группы

Есть еще одна команда — chgrp. Она позволяет изменить только группу. Например:

chgrp sambashare myfile

Параметры chmod

-c, –changes Подобно –verbose, но выдает подробный вывод только тогда, когда изменение действительно сделано.

-f, –silent, –quiet Бесшумный режим; подавлять большинство сообщений об ошибках.

-v, –verbose Подробный режим; вывести диагностическое сообщение для каждого обработанного файла.

–no-preserve-root Не обрабатывать ‘/’ (корневой каталог) каким-либо особым образом, который является настройкой по умолчанию.

–preserve-root Не работать рекурсивно на «/».

–reference=RFILE Установить разрешения, соответствующие разрешениям файла RFILE, игнорируя любой указанный РЕЖИМ.

-R, –recursive Менять файлы и каталоги рекурсивно.

–help Показать справочное сообщение и выйти.

–version Вывести информацию о версии и выйти.

Синтаксис

chmod [параметры] [права] путь

Основные параметры:

  • -c – показать информация обо всех изменениях.
  • -f – не показывать ошибки.
  • -v – вывод полной информации.
  • -R – рекурсивно обрабатывать файлы и каталоги.
  • –help – показать справочную информацию.
  • –version – информация о версии.

Применят часто символьную запись прав:

  • -r –  на чтение
  • -w – на запись
  • -x – на выполнение, права на запуск
  • -s – на выполнение от супер пользователя root.

ВАЖНО! Записывают права в таком порядке: чтение–>запись–>выполнение.

Категории пользователей:

  1. -u (owner) – владелец.
  2. -g (group) – группа.
  3. -o (others)- другие.

Каждый кто имеет доступ к документу имеет свой набор правил. Например владелец имеет неограниченный доступ, группа только писать, другие выполнять.

Чтобы прибавить права используется знак “+”, убавить “-“.
chmod ugo+rwx file

Вместо букв можно назначать права с помощью цифр от нуля до семи:

  • 0 – все запрещено
  • 1 – выполнение, разрешено запускать документ
  • 2 – запись, изменение.
  • 3 – выполнение и запись.
  • 4 – разрешено читать.
  • 5 – читать и выполнять
  • 6 – читать и писать
  • 7 – все разрешено, писать, читать, выполнять.

chmod 777 file

Здесь 777:

  1. первая цифра назначает разрешения для владельца документа;
  2. вторая цифра – для группы;
  3. третья  – для всех остальных.

Примеры прав на директорию:

  • 744 – первая цифра говорит, что имеет полный доступ владельц, вторая цифра четыре – чтение для группы, третья цифра четыре – всем другим можно читать;
  • 765 – для владельца – полные права, для группы – читать, писать и другим читать, выполнять;
  • 774 – полный доступ для владельца, полный доступ для группы, чтение для остальных;
  • 777 – всем все разрешено.

Техническое описание

chmod изменяет режим файла каждого указанного ФАЙЛА в соответствии с MODE, который может быть либо символическим представлением вносимых изменений, либо восьмеричным числом, представляющим битовую комбинацию для битов нового режима.

Формат символического режима:


[ugoa…][[+-=][perms…]…]

где perms – это ноль или более букв из набора r, w, x, X, s и t, или одна буква из набора u, g и o. Можно указать несколько символьных режимов, разделенных запятыми.

Комбинация букв u, g, o и элементов управления, которые изменят доступ пользователей к файлу: пользователь, которому он принадлежит (u), другие пользователи в группе файла (g), другие пользователи, которых нет в файле группа (o) или все пользователи (a). Если ничего из этого не дано, эффект будет таким, как если бы был задан a, но биты, которые установлены в umask, не затрагивались.

Оператор  (+) вызывает добавление выбранных битов режима файла к существующим битам режима файла каждого файла; ” -” вызывает их удаление; и “=” вызывает их добавление и приводит к удалению не упомянутых битов, за исключением того, что неизменяемые установленные пользователем биты каталога и идентификаторы группы не затрагиваются.

Буквы r, w, x, X, s и t выбирают биты режима файла для затронутых пользователей: чтение (r), запись (w), выполнение (x), выполнение только в том случае, если файл является каталогом или уже имеет разрешение на выполнение для некоторого пользователя (X) установите идентификатор пользователя или группы при выполнении (s), флаг ограниченного удаления или фиксированный бит (t). Для каталогов параметры выполнения X и X определяют разрешение на просмотр содержимого каталога.

Вместо одной или нескольких из этих букв вы можете указать одну из букв u, g или o: разрешения, предоставленные пользователю, которому принадлежит файл (u), разрешения, предоставленные другим пользователям, которые являются членами группы файла (g) и разрешения, предоставленные пользователям, которые не входят ни в одну из двух предыдущих категорий (o).

Числовой режим – от одной до четырех восьмеричных цифр (0-7), полученных путем сложения битов со значениями 4, 2 и 1. Предполагается, что пропущенные цифры являются ведущими нулями. Первая цифра выбирает заданный идентификатор пользователя (4) и заданный идентификатор группы (2) и атрибуты ограниченного удаления или закрепления (1). Вторая цифра выбирает права доступа для пользователя, которому принадлежат операции чтения (4), записи (2) и выполнения (1); третий выбирает права доступа для других пользователей в группе файла с теми же значениями; и четвертый для других пользователей, не входящих в группу файла, с теми же значениями.

chmod никогда не меняет права доступа к символическим ссылкам; системный вызов chmod не может изменить их разрешения. Но это не проблема, поскольку разрешения символических ссылок никогда не используются. Однако для каждой символической ссылки, указанной в командной строке, chmod изменяет права доступа к указанному файлу. Напротив, chmod игнорирует символические ссылки, встречающиеся во время рекурсивных обходов каталогов.

Биты Setuid и Setgid

chmod очищает бит set-group-ID обычного файла, если идентификатор группы файла не совпадает с эффективным идентификатором группы пользователя или одним из идентификаторов дополнительной группы пользователя, если только у пользователя нет соответствующих привилегий. Дополнительные ограничения могут привести к игнорированию битов set-user-ID и set-group-ID в MODE или RFILE. Это поведение зависит от политики и функциональности основного системного вызова chmod. В случае сомнений проверьте поведение системы.

chmod сохраняет биты set-user-ID и set-group-ID каталога, если вы не укажете иное. Вы можете установить или очистить биты с помощью символических режимов, таких как u + s и g-s, и вы можете установить (но не очистить) биты с помощью числового режима.

Флаг ограниченного удаления (или «Sticky Bit»)

Ограниченный флаг удаления или закрепленный бит – это один бит, интерпретация которого зависит от типа файла. Это предотвращает удаление или переименование файла в каталоге пользователям, которые не владеют файлом или каталогом; это называется флагом ограниченного удаления для каталога и обычно встречается в каталогах, доступных для записи во всем мире, таких как / tmp. Для обычных файлов в некоторых старых системах этот бит сохраняет текстовое изображение программы на устройстве подкачки, поэтому при запуске он загружается быстрее; это называется липким битом.

Как посмотреть разрешения файла

Быстрый и простой способ составить список прав доступа к файлу с помощью опции длинного списка (-l) команды ls. Например, чтобы просмотреть разрешения для file.txt, вы можете использовать команду:

ls -l file.txt

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

rwxrw-r– 1 user usergroup 123 Feb 03 15:36 file.txt

Примеры использования chmod

chmod 644 file.htm

Устанавливает для файла file.htm права «владелец может читать и писать; группа может только читать; другие могут только читать».

chmod -R 755 myfiles

Рекурсивно (-R) меняет разрешения для каталога myfiles и всех его папок и файлов на режим 755. Пользователь может читать, записывать и выполнять; члены группы и другие пользователи могут читать и выполнять, но не могут писать.

chmod u=rw example.jpg

Меняет разрешения для владельца example.jpg, чтобы владелец мог читать и записывать файл. Не меняет права доступа для группы или для других.

chmod u+s comphope.txt

Устанавливает бит «Set-User-ID» файла comphope.txt, чтобы каждый, кто пытается получить доступ к этому файлу, сделал это так, как если бы он был владельцем файла.

chmod u-s comphope.txt

Противоположность вышеупомянутой команды; снимает бит SUID

chmod 755 file.cgi

Устанавливает разрешения для file.cgi на «чтение, запись и выполнение владельцем» и «чтение и выполнение группой и всеми остальными».

chmod 666 file.txt

Устанавливает разрешение file.txt на «чтение и запись всеми».

chmod a=rw file.txt

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

Изменение прав доступа командой chmod

Запись прав доступа числом

Пример:

chmod 764 myfile

В данном формате права доступа задаются не символами rwx, как описано выше, а трехзначным числом. Каждая цифра числа означает определенный набор прав доступа.

  • Первая цифра используется для указания прав доступа для пользователя.
  • Вторая цифра для группы.
  • Третья для всех остальных.

В таблице ниже приводятся все возможные комбинации разрешений rwx и соответсвующие им числа (которые используются в команде chmod):

ЧислоРазрешенияСимвольное обозначение













0разрешения отсутствуют
1x — запуск–x
2w — изменение-w-
3x+w — запуск+изменение-wx
4r — чтениеr–
5r+x — чтение+запускr-x
6r+w — чтение+изменениеrw-
7r+w+x — чтение+изменение+запускrwx

Рассмотрим использование команды chmod с записью прав доступа числом на примере. Установим для файла права доступа 764:

chmod 764 myfile

Это означает (см. таблицу выше), что для файла myfile мы устанавливаем права доступа 764, которые означают:

  • 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Все пользователи могут читать, изменять и редактировать файл.

Запись прав доступа символами

Примеры:

chmod +x myfile1 chmod g=rw myfile2 chmod u-w myfile3

Как вы можете видеть, в данном формате права доступа задаются символами rwx, но в синтаксисе используются и другие вспомогательные символы, например, математические операции «+» и «-» и такие символы как, например, «g» или «u».

Общий синтаксис можно записать примерно так:

chmod (владелец)(математическая операция)(разрешения) имя_файла

Обозначения для владельцев файла следующие:

ОбозначениеОписание









uВладелец-пользователь.
gГруппа.
oВсе остальные.
aВообще все.

Математические операции означают следующее:

ОператорОписание








+Добавляет к текущим правам доступа новое разрешение.
Удаляет из текущих прав доступа определенное разрешение.
=Устанавливает полностью новые разрешения (предыдущие перезаписываются новыми).

В одной команде можно перечислять владельцев и их разрешения через запятую (см. пример ниже).

Рассмотрим примеры:

  • chmod +x myfile1

    В данном случае мы не используем обозначения для владельцев, а значит разрешения устанавливаются для всех пользователей. «+x» означает — установить разрешение на запуск (x) файла для всех пользователей. Это эквивалентно выполнению команды: chmod a+x myfile1.

  • chmod g=rw myfile2

    Здесь используется обозначение g и символ равенства «=». Это означает, что для группы мы устанавливаем права доступа на чтение и запись файла (rw).

  • chmod u-w myfile3

    Для владельца файла (u) мы удаляем разрешение на изменение (w) файла.

  • chmod ug+x myfile2

    Разрешаем владельцу (u) и группе (g) запускать файл (x).

  • chmod u+x,g-w,o-r myfile3

    Это как раз тот случай, когда мы перечисляем владельцев через запятую и устанавливаем для них разрешения. Для владельца файла (u) мы разрешаем запуск файла, для группы (g) мы запрещаем изменять файл, для всех остальных (o) мы запрещаем читать файл.

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

Если необходимо изменить права доступа на все файлы в директории, включая вложенные директории, то для этого существует опция -R, что означает рекурсивное изменение прав доступа для директорий и их содержимого. Например, изменим права доступа у всех файлов в директории Mydir:

chmod -R 644 Mydir

И еще один момент. Если пользователь не является владельцем файла, но ему нужно изменить права доступа у данного файла, то команду chmod необходимо выполнять с использованием sudo, например:

sudo chmod 644 file

Видео-обзор команды chmod