Как установить права доступа 777 на файл или папку в Linux

Всем привет! Сегодня мы проговорим про права доступа к файлам и папкам, узнаем как изменить атрибуты папок и файлов и как это правильно сделать в WordPress. Очень важно правильно установить права доступа WordPress, чтобы защитить свой блог от взлома и при этом не нарушить его работоспособность.

Общие команды Linux

Тут представлен список полезных команд, которые не вошли в другие разделы.

sudo shutdown -h now #выключить компьютер сейчас sudo shutdown -h 90 #выключить компьютер через 90 мин. sudo reboot #перезагрузить компьютер wget —convert-links -r #копирование сайта целиком и конвертирование ссылок для автономной работы #копирование происходит на 5 уровней в глубину !! #выполнить последнюю выполненную команду history | tail -50 #показать последние 50 набранных команд passwd #меняет пароль текущего пользователя cal -3 #показывает в удобной форме предыдущий, текущий и последующий месяц (типо календарь) ctrl + r #поиск по истории набранных комманд, чтобы выполнить снова (ctrl+r — чтобы перейти к след. результату))

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

Команда chmod может изменить режим пользовательского доступа к файлу. Как-либо менять эти права разрешено исключительно его владельцу либо суперпользователю. В Unix-системах код принято задавать в виде числа в восьмеричной форме, или при помощи специальных мнемонических знаков (букв). Использование каждого способа имеет свои преимущества и недостатки. Так, с помощью цифрового указания прав доступа системный администратор сможет быстрее настроить нужный тип доступа, а с помощью мнемонических кодов он сможет сделать это более точно — например, добавить или удалить право на запись, либо запретить право на чтение.

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

Что такое права доступа к файлам и папкам

Как правило мы размещаем свои сайты на хостингах, работающих под Unix-подобных операционных системах (Linux, например). Эти операционные системы отличаются от привычной рядовому юзеру Windows, в частности тем, что позволяют гибко задавать различные права доступа для разных групп лиц.

Читайте также:  Камера в ноутбуке работает, а в Скайпе не отображается

CHMOD (анг. change file mode) — изменение прав доступа к файлам в ОС типа Unix.

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

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

  • Владелец файла
  • Члены группы, к которой относится владелец
  • Остальные пользователи

Для каждого из этих видов пользователей существует три права: чтение (4), редактирование (2), выполнение (1). Если пользователю нужно задать несколько прав, то цифры в скобках складываются:

Чтение + редактирование = 4 + 2 = 6

Чтение + редактирование + выполнение = 4 + 2 +1 = 7

Что такое права доступа к файлам и папкам

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

Поэтому, если при работе с блогом, у вас возникли проблемы с редактированием какого-то файла, поменяйте атрибут только для своего пользователя (первую цифру замените на 7), не нужно задавать файлу полные права 777.

Права можно записать другим способом – латинскими буквами

  • Чтение (Read) — r
  • Редактирование (Write) — w
  • Запуск на выполнение (Execute) — x
  • Отсутствие прав — (0) —

Примеры прав доступа:

Пользователь

Группа

Остальные
600 только владелец имеет право читать и редактировать
r— 644 владелец файла, владелец имеет право читать и редактировать, члены группы и остальные только читать
rw- 666 любой пользователь имеет право читать и редактировать
700 только владелец файла имеет право читать, редактировать и запускать на исполнение
—x 711 владелец файла имеет право читать, редактировать и запускать на исполнение, члены группы и остальные пользователи имеют право запускать на исполнение, но не могут читать и изменять
r-x 755 владелец файла имеет право читать, редактировать и запускать на исполнение, члены группы и остальные имеют право читать и запускать на исполнение, но не могут записывать
rwx 777 любой пользователь имеет право читать, редактировать и запускать на исполнение

По умолчанию для папок выставляются права — 755, а для файлов — 644.

Общая информация о правах доступа в Linux

Режим доступа к файлу можно изменить с помощью команды chmod. Изменять права доступа к файлу позволено только его владельцу либо пользователю root. В UNIX-системах код задается в виде восьмеричного числа. Также поддерживается система мнемонических (буквенных) обозначений. Первый способ удобнее для системного администратора, но при этом можно задать только абсолютное значение режима доступа. А используя мнемонический синтаксис, вы можете сбрасывать и устанавливать отдельные параметры, к примеру, добавить право на чтение либо убрать право на запись.

Читайте также:  Основные команды текстовой строки в linux

Протестировать VPS

Первым аргументом команды chmod является спецификация прав доступа, то есть восьмеричное число (774, 777 и т.д.) либо мнемоническое обозначение (r+o, w-u и т.д.). Второй и последующий аргументы — имена файлов, права доступа к которым подлежат изменению. При использовании восьмеричной нотации первая цифра относится к владельцу, вторая — к группе, а третья — к остальным пользователям.

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

Теперь о правах доступа к папке (директории): r — право на чтение директории (можно прочитать содержимое директории, т.е. получить список объектов, находящихся в ней) w — право на изменение содержимого директории (можно создавать и удалять объекты в этой директории, причем если вы имеете право на запись, то удалять вы сможете даже те файлы, которые вам не принадлежат) x — право, которое позволяет вам войти в директорию (это право всегда проверяется в первую очередь, и даже если вы имеете все нужные права на объект, который закопан глубоко в цепочке директорий, но не имеете права “X” для доступа хотя бы к одной директории на пути к этому файлу, то к нему вы так и не пробьетесь)

В таблице указано восемь возможных комбинаций:

Восьмеричное число Двоичное число Режим доступа
000
1 001 —x
2 010 -w-
3 011 -wx
4 100 r—
5 101 r-x
6 110 rw-
7 111 rwx

Например, команда:

chmod 711 myfile

предоставляет владельцу все права, а всем остальным пользователям — только право выполнения, а команда:

chmod 775 myfile

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

chmod 775 /var/www/myfile

Для применения прав доступа ко всем вложенным в директорию файлам и папкам (рекурсивно) необходимо в команду добавить ключ -R. То есть команда будет выглядеть как:

chmod -R 711 myfile

Примеры мнемонических спецификаций команды chmod:

Спецификация Значение
u+w Владельцу файла дополнительно дается право выполнения.
ug=rw,o=r Владельцу и группе предоставляется право чтения/записи, остальным пользователям — право чтения.
a-x Все пользователи лишаются права выполнения.
ug=srx,o= Владельцу и группе дается право чтения/выполнения, устанавливается также бит SUID; остальным пользователям запрещен доступ к файлу.
g=u Группе назначаются такие же права, что и владельцу

Символ u («user») обозначает владельца файла, символ g («group») — группу, символ о («others») — других пользователей, символ a («all») — всех пользователей сразу. То есть, если необходимо убрать право на редактирование всех вложенных файлов и папок у других пользователей, то с помощью мнемонических обозначений команда будет выглядеть следующим образом:

Читайте также:  История версий iOS — от iPhone OS до iOS 15

chmod o-w -R myfile

В качестве примера мы будем устанавливать права доступа 777 для папки /var/www/mysite и всех вложенных в нее файлов и каталогов. ВНИМАНИЕ! Установка прав доступа 777 используется исключительно в качестве примера, их использование может привести к уязвимости сервера!

Получить тестовый VPS и разобраться во всем самому

Используемое методическое и лабораторное обеспечение

  1. ОССН версии 1.5 (релиз «Смоленск»), в которой создана учётная запись пользователя user, с параметрами: максимальный и минимальный уровни доступа — 0, неиерархические категории — нет, уровень целостности — «Высокий», входит в группу администраторов — astra-admin (вторичная группа), разрешено выполнение привилегированных команд (sudo).
  2. Документация:
  • «Операционная система специального назначения «Astra Linux Special Edition». Руководство администратора. Часть 1»
  • «Операционная система специального назначения «Astra Linux Special Edition». Руководство по КСЗ. Часть 1»
  • «Операционная система специального назначения «Astra Linux Special Edition». Руководство пользователя»
  1. Для выполнения работы в течение двух занятий необходимо обеспечить возможность сохранения состояния ОССН за счёт применения технологий виртуализации (создания виртуальных машин с ОССН).

Резюме:

  • Linux, будучи многопользовательской системой, использует разрешения и права собственности для обеспечения безопасности.
  • В системе Linux есть три типа пользователей. Пользователь, группа и другое
  • Linux делит права доступа к файлам на чтение, запись и выполнение, обозначенные как r, w и x
  • Права доступа к файлу можно изменить с помощью команды «chmod», которую можно разделить на «Абсолютный» и «Символьный» режимы.
  • Команда ‘chown’ может изменить владельца файла / каталога. Используйте следующие команды: chown user file или chown user: group file
  • Команда ‘chgrp’ может изменить имя группы
  • Что означает x — выполнение каталога? A: Возможность «войти» в каталог и получить доступ к дополнительным каталогам.

Apache

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

Одна из ключевых особенностей — .htaccess файлы дополнительной конфигурации. Можно управлять отдельными папками. Размещаете этот файл в папке и прописываете в нём правила.

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

service apache2 restart — перезапуск Apache

service apache2 reload — применение новых конфигов без перезапуска сервера.

service apache2 stop — остановка веб-сервера