Как выставить права доступа 777

Обновлено: 30.06.2024

В этой статье объясняется базовая модель разрешений Linux и что означают числа, соответствующие разрешениям.

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

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

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

  • Владелец файла.
  • Члены группы.
  • Остальные (все остальные).

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

  • Разрешение на чтение.
    • Файл доступен для чтения. Например, если установлено разрешение на чтение, пользователь может открыть файл в текстовом редакторе.
    • Можно просмотреть содержимое каталога. Пользователь может вывести список файлов внутри каталога с помощью команды ls .
    • Файл можно изменить или модифицировать.
    • Содержимое каталога может быть изменено. Пользователь может создавать новые файлы , удалять существующие , перемещать файлы , переименовывать файлы и т. Д.
    • Файл можно запустить.
    • В каталог можно войти с помощью команды cd .

    Права доступа к файлам можно просмотреть с помощью команды ls . Вот пример:

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

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

    Номер разрешения

    Разрешение файла может быть представлено в числовом или символьном формате. В этой статье мы сосредоточимся на числовом формате.

    Номер разрешения может состоять из трех или четырех цифр от 0 до 7.

    Когда используется трехзначный номер, первая цифра представляет права владельца файла, вторая — группу файла, а последняя — всех остальных пользователей.

    Разрешения на запись, чтение и выполнение имеют следующее числовое значение:

    • r (читать) = 4
    • w (написать) = 2
    • x (выполнить) = 1
    • нет разрешений = 0

    Цифра разрешений определенного класса пользователей — это сумма значений разрешений для этого класса.

    Каждая цифра номера разрешений может быть суммой 4, 2, 1 и 0:

    • 0 (0 + 0 + 0) — Нет разрешения.
    • 1 (0 + 0 + 1) — только разрешение на выполнение.
    • 2 (0 + 2 + 0) — только разрешение на запись.
    • 3 (0 + 2 + 1) — права на запись и выполнение.
    • 4 (4 + 0 + 0) — разрешение только на чтение.
    • 5 (4 + 0 + 1) — разрешение на чтение и выполнение.
    • 6 (4 + 2 + 0) — права на чтение и запись.
    • 7 (4 + 2 + 1) — разрешение на чтение, запись и выполнение.

    Например, если номер разрешения установлен на 750, это означает, что владелец файла имеет разрешения на чтение, запись и выполнение, группа файла имеет разрешения на чтение и выполнение, а другие пользователи не имеют разрешений:

    • Владелец: rwx = 4 + 2 + 1 = 7
    • Группа: rx = 4 + 0 + 1 = 5
    • Другое: rx = 0 + 0 + 0 = 0

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

    • setuid = 4
    • setgid = 2
    • липкий = 1
    • без изменений = 0

    Следующие три цифры имеют то же значение, что и при использовании трехзначного номера. Если первая цифра равна 0, ее можно опустить, а режим можно представить тремя цифрами. Числовой режим 0755 совпадает с 755 .

    Чтобы просмотреть права доступа к файлу в числовом (восьмеричном) представлении, используйте команду stat :

    Никогда не используйте chmod 777

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

    Например, если вы рекурсивно измените права доступа для всех файлов и подкаталогов в каталоге /var/www на 777 , любой пользователь в системе сможет создавать, удалять или изменять файлы в этом каталоге.

    Если у вас возникают проблемы с разрешениями на вашем веб-сервере, вместо того, чтобы рекурсивно устанавливать разрешение на 777 , измените право собственности на файл на пользователя, запускающего приложение, и установите права доступа к файлу на 644 и права доступа к каталогу на 755 .

    Владение файлом можно изменить с помощью команды chown а разрешения — с помощью команды chmod .

    Только root, владелец файла или пользователь с привилегиями sudo могут изменять права доступа к файлу. Будьте особенно осторожны при использовании chmod , особенно при рекурсивном изменении разрешений.

    Выводы

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

    Вы никогда не должны устанавливать rwxrwxrwx доступа 777 ( rwxrwxrwx ) для файлов и каталогов. 777 означает, что с этими файлами может делать что угодно.

    Установка прав доступа 777 к файлам и папкам в среде Android

    Как выставить права доступа 777

    Способ 1: Root Explorer

    Самый простой путь к решению озвученной в заголовке статьи задачи подразумевает использование одного из файловых менеджеров с рут-доступом. В следующей инструкции продемонстрирована установка прав доступа к расположенным в памяти Android-девайса файлам и папкам по схеме 777 ( rwx-rwx-rwx ) с помощью популярного инструмента указанного типа — Root Explorer.

      Открыв доступную по следующей ссылке страницу приложения в Google Play Маркете, установите его. Затем запустите программу, предоставьте ей привилегии Суперпользователя.

    Android Root Explorer запуск файлового менеджера, предоставление ему рут-прав

    Android Root Explorer переход в папку с файлом, права доступа к которому нужно изменить, выделение объекта

    Кроме прочего, с помощью Рут Эксплорера можно выставлять права доступа к нескольким файлам и/или каталогам одновременно, но они должны располагаться в одной директории. Если потребность пакетного изменения списка разрешений на доступ существует, выберите группу объектов, поочередно нажимая на их имена.

    Android Root Explorer одновременное изменение прав доступа к нескольким папкам или файлам

    Android Root Explorer вызов меню действий для файла - Разрешения - перемонтировать файловую систему

    Android Root Explorer назначение прав доступа 777 к файлу путем установки отметок в чекбосах окошка Разрешения

    Способ 2: Total Commander

    Еще один инструмент, который способен помочь легко решить вопрос предоставления полного доступа к файлу или каталогу из памяти Android-девайса – это Total Commander. Главным преимуществом данного продукта перед вышеописанным Root Explorer является бесплатность.

    1. Инсталлируйте на девайс и запустите Тотал Коммандер для Андроид. Предоставьте менеджеру файлов рут-права.

    Total Commander для Android - установка приложения, запуск, предоставление рут-прав

    Total Commander для Android - переход в папку, где наличествует файл, права доступа к которому нужно изменить по схеме 777

    Total Commander для Android - вызов меню файла (папки) - пункт Свойства для измениния разрешений, установки прав 777

    Total Commander для Android - переход к возможности измения разрешений (прав доступа) для файла из окна Свойства

    Total Commander для Android - установка прав доступа 777 к файлу путем расстановки отметок в чекбоксах окна Разрешения

    Total Commander для Android установка прав доступа 777 для файла путем ввода цифр в поле окна Изменить разрешения

    Закрыть

    Мы рады, что смогли помочь Вам в решении проблемы.

    Отблагодарите автора, поделитесь статьей в социальных сетях.

    Закрыть

    Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

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

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

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

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

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

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

    Цифровая записьБуквенная записьПрава
    Отсутствие прав
    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 всем объектам в текущем каталоге (включая подкаталоги), можно использовать:

    По FTP (FileZilla)

    Задавать и изменять права в FTP-клиенте очень просто.

    Как выставить права доступа 777 на файл или папку Интернет-проекта?


    Значение цифр и полномочия

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

    Как выставить права доступа 777 на файл или папку Интернет-проекта?

    Цифры кода, обозначающего права, отвечают за следующее:

    • 7 – полные полномочия;
    • 6 – чтение и запись;
    • 5 — чтение и выполнение;
    • 4 – только чтение;
    • 2 – только запись;
    • 1 – только выполнение;
    • 0 – ничего не делать.

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

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

    Как выставить права доступа 777 на файл или папку Интернет-проекта?

    Установка прав вручную

    Смена прав на файл занимает буквально несколько секунд. Вам нужно зайти в хостинг-панель и найти объект, для изменения прав.

    Как выставить права доступа 777 на файл или папку Интернет-проекта?

    Как выставить права доступа 777 на файл или папку Интернет-проекта?

    Сохраните изменения. Вот и все!

    Коррективы через программу FileZilla

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

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

    Как выставить права доступа 777 на файл или папку Интернет-проекта?

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

    Как выставить права доступа 777 на файл или папку Интернет-проекта?

    Вот и все, вам предложено два быстрых и результативных способа. Один из них осуществляется стандартно, а второй решает задачу через программу filezilla или total commander . А какой метод предпочитаете вы?

    Делитесь в комментариях опытом и успехами в блоггинге, подписывайтесь на мой сайт !

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

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

    Команда chmod Linux

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

    $ chmod опции права /путь/к/файлу

    Сначала рассмотрим какими бывают права доступа linux и как они устанавливаются. Пред этим рекомендую прочитать статью про права, ссылка на которую есть выше. Есть три основных вида прав:

    Также есть три категории пользователей, для которых вы можете установить эти права на файл linux:

    Синтаксис настройки прав такой:

    группа_пользователей действие в ид_прав

    В качестве действий могут использоваться знаки "+" - включить или "-" - отключить. Рассмотрим несколько примеров:

    • u+x - разрешить выполнение для владельца;
    • ugo+x - разрешить выполнение для всех;
    • ug+w - разрешить запись для владельца и группы;
    • o-x - запретить выполнение для остальных пользователей;
    • ugo+rwx - разрешить все для всех;

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

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

    • 744 - разрешить все для владельца, а остальным только чтение;
    • 755 - все для владельца, остальным только чтение и выполнение;
    • 764 - все для владельца, чтение и запись для группы, и только чтение для остальных;
    • 777 - всем разрешено все.

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

    Теперь, когда вы знаете опции и как настраиваются права доступа chmod, давайте рассмотрим несколько примеров как работает команда chmod linux.

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

    Я не буду приводить много примеров, так как там и так все более-менее понятно после пояснения правил создания выражений установки прав. Сначала самый частый случай - разрешить выполнения скрипта владельцу:


    Или можно воспользоваться цифровой записью:

    chmod 766 file
    ls - l file

    Недостаток цифровой записи в том, что вы не можете модифицировать уже существующие права доступа linux. Например, в первом варианте вы просто добавили флаг выполнения для владельца файла, а все остальные права оставили неизменными. В восьмеричном варианте мы полностью заменили текущие права новыми - все для владельца и чтение/запись для группы и остальных. Как видите, права установлены как и ожидалось. Теперь отключим выполнение владельцем:


    И снова проверяем:

    Дальше разрешим только чтение всем, кроме владельца:

    chmod 744 file
    ls -l file


    Или отберем все права:

    chmod ugo-rwx file

    Файлы с правами 000 недоступны никаким пользователям, кроме суперпользователя и владельца. Вернем права обратно:

    chmod 755 file
    ls -l file


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

    chmod -R ug+rw dir
    ls -l dir/


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

    chmod -Rv ug+rw dir


    Выводы

    В этой небольшой статье была рассмотрена команда chmod linux. Она очень часто используется наряду с такими командами, как chown и umask для управления правами. Надеюсь, эта информация была полезной для вас. Если у вас остались вопросы, спрашивайте в комментариях!

    Собственно, тема уже давно обсосана со всех сторон и любой неленивый человек с легкостью найдет всю нужную информацию, но… ХЗ, почему это “но” есть, но вопросы о правах доступа возникают с завидной регулярностью. Поэтому я попробую в тысячный раз изобрести велосипед и изложить основы прав доступа к файлам в *NIX системах, а так же некоторые неочевидные тонкости при работе с ними.

    Часть первая. Какие существуют права доступа.

    Существуют три основных разновидности прав доступа: чтение (r), запись (w) и выполнение(x). Первые два, думаю, никаких вопросов не вызывают. А вот последнее для людей, привыкших к Windows станет сюрпризом. Дело в том, что в *NIX и Windows используются разные подходы к различению исполняемых (программ) и не исполняемых файлов (файлов данных). В Windows за это отвечают расширения файлов (exe, com, bat и некоторые другие воспринимаются как исполняемые, а все остальные - нет), а в *NIX - право на выполнение файла. То есть для одного пользователя один и тот же файл может являться выполняемым, а для другого - нет. Это может быть очень полезно, если администратору необходимо запретить простым юзерам пользоваться какой-то программой, но в то же время самому иметь возможность пользоваться ею.

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

    Часть вторая. Что значит 0755 или правила записи прав доступа.

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

    1) Числовая форма записи.

    Это четырехзначное восьмеричное число. Первый знак кодирует особые биты доступа, о которых я сейчас говорить не стану, скажу лишь, что в 95% случаев вам достаточно оставить его равным 0, а три последующих - права доступа для владельца, группы и всех остальных соответственно. В такой записи право на чтение кодируется числом 4, запись - 2, исполнение - 1. Результирующее число получается путем сложения чисел разрешенных прав доступа. Например, число 6=4+2 - право на чтение и запись, выполнение запрещено, 5=4+1 - чтение и выполнение, 7=4+2+1 - полный доступ. Таким образом, чтобы дать владельцу право делать с файлом все, что угодно, а всем прочим - только читать и исполнять, ставят права доступа 0755 (владелец: 7=4+2+1, группа: 5=4+1, остальные: 5=4+1). Это типичные права доступа на исполняемые файлы обычных программ и скриптов. Для файлов данных чаще используют 0644, 0640 или 0600. В первом случае владелец сможет читать и писать в файл, остальные только читать; во втором - писать сможет только владелец, читать - только владелец и группа, все остальные доступа иметь не будут; третий случай самый крайний - владелец сможет читать и писать в файл, а все остальные доступа к нему иметь не будут.

    2) Символьная форма записи.

    В этом случае права доступа представляются как 9 символов r, w, x или дефис. Идут они в следующем порядке: rwxrwxrwx. Первые три отвечают за права доступа владельца, следующие - группы и последние - всех остальных. Чтобы показать, что кто-то из них не имеет доступа к той или иной опции, ее заменяют на символ дефиса. Таким образом запись 0755, запрещающая изменять файл всем, кроме владельца, в символьном представлении будет выглядеть так: rwxr-xr-x.

    Часть третья. Особые случаи.

    1) Права доступа к папкам.

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

    2) Кто может менять права доступа?

    Права каждого отдельно взятого файла могут менять двое: его владелец и суперпользователь (root). При этом по умолчанию root имеет полный доступ к любому файлу. Нередко приходится сталкиваться, когда веб-сервер на хостинге работает от имени одного пользователя, а вебмастер - от другого. В итоге вебмастер нередко оказывается лишенным возможности редактировать файлы, созданные веб-сервером, и не может изменить права доступа так, чтобы эту возможность получить, поскольку владельцем файла является его создатель. Выходов из такой ситуации может быть два: первый - обратиться в техподдержку хостинга, второй - написать небольшой скрипт на php, который будет изменять права доступа на более широкие и запустить его от имени веб-сервера. Вот пример такого скрипта:

    3) Внимание, лазейка!

    Представим себе ситуацию: у вас есть файл с какими-то данными, которые читать должны все, а писать туда - только вы. Вы, не долго думая, ставите права доступа к файлу 0644 и живете припеваючи. Но в какой-то момент вы обнаруживаете, что в этом файле лежит совсем не то содержимое, которые вы туда записали. Как такое могло быть? А вот так: на папку, в которой лежал тот файл по каким-то причинам (по безалаберности или необходимости) права стояли, разрешающие всем желающим создавать и удалять файлы в этой папке. Злоумышленник же сделал копию вашего файла, затем удалил оригинал и записал на то же место под тем же именем свою копию. В результате этих манипуляций он оказался владельцем этого файла и смог выставить любые права доступа к нему, а так же модифицировать содержимое на свое усмотрение. Как такого избежать? Не давать права на запись в папку, содержащую этот файл, кому не надо и все будет отлично!

    4) Наиболее полезные права доступа.

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

    • 0777 - rwxrwxrwx - Полный доступ для всех. Как правило, используется для папок, куда должны иметь возможность писать все желающие. Часто такой доступ ставят на папки, в которые движок сайта загружает файлы, отправленные пользователями.
    • 0755 - rwxr-xr-x - Право на чтение и исполнение для всех, право на запись для владельца. Как правило ставится на исполняемые файлы программ и системные или cgi скрипты.
    • 0644 - rw-r–r– - Право на чтение для всех, право на запись для владельца. Обычно ставится на большинство файлов с неприватными данными или скрипты php, выполняемые при помощи mod_php.
    • 0600 - rw——- - Право на чтение и запись для владельца, нет доступа для всех остальных. Обычно ставится на файлы с приватными данными.
    • 0750 - rwx-r-x— - Право на чтение, запись и выполнение для владельца, право на чтение и выполнение для группы и нет доступа для всех остальных. Часто ставится на домашние папки пользователей, наряду с 0700.
    • 0700 - rwx—— - Полный доступ для владельца, нет доступа для других. Как и 0750, часто ставится на домашние папки пользователей и папки с приватными данными, но является более жестким вариантом.

    Надеюсь, эта статья поможет вам чуть больше освоится в такой нелегкой области, как *NIX B) Удачи!

    Favorite

    Добавить в избранное

    Что означает chmod 777

    В этой статье объясняется базовая модель разрешений Linux и что означают числа, соответствующие разрешениям.

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

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

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

    • Владелец файла.
    • Участники группы.
    • Другие (все остальные).

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

    • Разрешение на чтение.
      • Файл доступен для чтения. Например, когда установлено разрешение на чтение, пользователь может открыть файл в текстовом редакторе.
      • Содержимое каталога можно просмотреть. Пользователь может перечислить файлы внутри каталога с помощью команды ls.
      • Файл может быть изменен или изменен.
      • Содержимое каталога может быть изменено. Пользователь может создавать новые файлы , удалять существующие файлы , перемещать файлы , переименовывать файлы .. и т. д.
      • Файл может быть выполнен.
      • Каталог может быть введен с помощью cdкоманды.

      Права доступа к файлам можно просмотреть с помощью команды ls. Вот пример:

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

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

      Номер разрешения

      Разрешение файла может быть представлено в числовом или символическом формате. В этой статье мы сосредоточимся на числовом формате.

      Номер разрешения может состоять из трех или четырех цифр в диапазоне от 0 до 7.

      Когда используется 3-значное число, первая цифра представляет права владельца файла, вторая – группу файла, а последняя – всех остальных пользователей.

      Разрешения на запись, чтение и выполнение имеют следующее числовое значение:

      • r (читай) = 4
      • w (запись) = 2
      • x (выполнить) = 1
      • нет разрешений = 0

      Цифра разрешений определенного пользовательского класса является суммой значений разрешений для этого класса.

      Каждая цифра номера разрешений может быть суммой 4, 2, 1 и 0:

      • 0 (0 + 0 + 0) – Нет разрешения.
      • 1 (0 + 0 + 1) – только разрешение на выполнение.
      • 2 (0 + 2 + 0) – только разрешение на запись.
      • 3 (0 + 2 + 1) – разрешения на запись и выполнение.
      • 4 (4 + 0 + 0) – только разрешение на чтение.
      • 5 (4 + 0 + 1) – разрешение на чтение и выполнение.
      • 6 (4 + 2 + 0) – права на чтение и запись.
      • 7 (4 + 2 + 1) – разрешение на чтение, запись и выполнение.

      Например, если номер разрешения установлен равным 750, это означает, что владелец файла имеет права на чтение, запись и выполнение, группа файла имеет разрешения на чтение и выполнение, а другие пользователи не имеют разрешений:

      • Владелец: rwx = 4 + 2 + 1 = 7
      • Группа: rx = 4 + 0 + 1 = 5
      • Другие: rx = 0 + 0 + 0 = 0

      Когда используется 4-значный номер, первая цифра имеет следующее значение:

      • УИП = 4
      • setgid = 2
      • липкий = 1
      • без изменений = 0

      Следующие три цифры имеют то же значение, что и при использовании трехзначного числа. Если первая цифра равна 0, ее можно опустить, а режим можно представить тремя цифрами. Числовой режим 0755 такой же, как 755.

      Чтобы просмотреть разрешения для файла в числовой (восьмеричной) записи, используйте команду stat:

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

      Права:

      ДобавитьЗабрать
      +r-r
      +w-w
      +x-x

      (Изначальное значение прав доступа файла file – rwxrwxrwx – полный доступ для всех) Отмена разрешения на выполнение файла для всех пользователей и групп:

      Отмена записи в файл группой и остальными пользователями:

      Разрешение выполнения файла владельцем:

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

      Отмена чтения и запись в файл пользователям группы и другим пользователям:

      Примеры использования команды chmod в абсолютном режиме

      Разрешение чтения, записи, выполнения файла file всеми пользователями и группами (полный доступ):

      Установка разрешений на чтение и запись для владельца, группы и остальных пользователей:

      Установка полного доступа к файлу для владельца и лишь чтения для группы и остальных пользователей:

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

      Установка разрешений на чтение и запись для владельца файла и лишь чтения для группы и остальных:

      Установка разрешений на чтение и запись владельцу файлу и его группе и запрет доступа для других:

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

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

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

      Если вы хотите назначить права доступа на все файлы в текущем каталоге, просто поставьте после назначаемых прав доступа знак * (звездочка):

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

      Результатом выполнения вышеприведенной команды будет рекурсивный “обход” всех подкаталогов текущего каталога и назначение полного доступа для всех пользователей и групп. В этой статье рассмотрены лишь некоторые примеры применения команды chmod. Если вы хотите узнать подробнее о работе команды chmod и правах доступа в Linux, обратите внимание на эту статью.

      Разработанный ещё в 70-е годы прошлого века механизм распределения прав в операционных системах оказался настолько успешным, что используется в UNIX-системах до сих пор, то есть уже больше сорока лет.

      Права доступа 777 – что это?

      Базовый принцип способа распределения доступа включает в себя существование обязательных атрибутов, таких как имена пользователей системы, а также их групп. Почти очевидным является тот факт, что в Linux у каждого юзера может быть только одно имя, которое должно быть уникально в рамках этой системы. С помощью никнейма пользователь входит в систему, то есть проходит авторизацию. Помимо этого, операционка содержит конечное число групп пользователей. Каждый из них может входить в состав одной или нескольких групп. Редактировать свойства, создавать и удалять группы может суперпользовать – root. Участники различных групп имеют различные права для действий в системе. Так, например, администратор владеет большими правами, чем гость.

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

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

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

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

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

      Мнемонические обозначения прав доступа

      Доступ к файлам в системе прав имеет такие вариации:

      • r – доступ к чтению файла;
      • w – право редактирование данных (но не удаление);
      • x – возможость запускать файл к исполнению.

      По отношению к каталогам действует такия система прав:

      • r — пользователь может читать любые файлы директории;
      • w — с этими правами можно создавать и удалять файлы в папке, даже если некоторые из них в каталоге принадлежат другому юзеру;
      • x — обозначает право входа в директорию. Если вы имеете права w к вложеной папке но не имеете прав на папку уровнем выше, то и к своей папке никак не пробьетесь.

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


      С помощью таблицы ниже вы сможете понять, как реализовать сложные варианты назначения прав, а также как установить права доступа 777, используя мнемонические спецификации chmod.


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

      Приведем некоторые примеры использование команды chmod:

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

      При использования кода 775 мы предоставим владельцу и всей его группе полный перечень прав. Остальные же пользователи не смогут выполнять изменения в файле. Нужно сказать, что для указания файла только по его собственному имени, необходимо находится в директории, где расположен этот файл. В ином случае вы можете переместиться в эту директорию командой cd имя_директории/имя_вложеной_директории или использовать следующую структуру:

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

      В итоге, как выставить права доступа 777 для файла или каталога, не будет проблемой – просто необходимо залогиниться на вашем веб-сервере через SSH и выполнить команду:


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

      Вы также можете реализовать аналогичную процедуру через визуальный интерфейс FTP клиента FileZilla или SFTP клиента WinSCP. Для этого необходимо будет выполнить авторизацию на вашем сервере в одной из этих программ, в визуальном интерфейсе выбрать ваш файл или папку, затем нажать правую клавишу мыши и установить галочки рядом с нужными правами.

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

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

      Команда chmod Linux

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

      $ chmod опции права /путь/к/файлу

      Сначала рассмотрим какими бывают права доступа linux и как они устанавливаются. Пред этим рекомендую прочитать статью про права, ссылка на которую есть выше. Есть три основных вида прав:

      Также есть три категории пользователей, для которых вы можете установить эти права на файл linux:

      Синтаксис настройки прав такой:

      группа_пользователей действие в ид_прав

      В качестве действий могут использоваться знаки "+" – включить или "-" – отключить. Рассмотрим несколько примеров:

      • u+x – разрешить выполнение для владельца;
      • ugo+x – разрешить выполнение для всех;
      • ug+w – разрешить запись для владельца и группы;
      • o-x – запретить выполнение для остальных пользователей;
      • ugo+rwx – разрешить все для всех;

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

      • – никаких прав;
      • 1 – только выполнение;
      • 2 – только запись;
      • 3 – выполнение и запись;
      • 4 – только чтение;
      • 5 – чтение и выполнение;
      • 6 – чтение и запись;
      • 7 – чтение запись и выполнение.

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

      • 744 – разрешить все для владельца, а остальным только чтение;
      • 755 – все для владельца, остальным только чтение и выполнение;
      • 764 – все для владельца, чтение и запись для группы, и только чтение для остальных;
      • 777 – всем разрешено все.

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

      Теперь, когда вы знаете опции и как настраиваются права доступа chmod, давайте рассмотрим несколько примеров как работает команда chmod linux.

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

      Я не буду приводить много примеров, так как там и так все более-менее понятно после пояснения правил создания выражений установки прав. Сначала самый частый случай – разрешить выполнения скрипта владельцу:


      Или можно воспользоваться цифровой записью:

      chmod 766 file
      ls – l file

      Недостаток цифровой записи в том, что вы не можете модифицировать уже существующие права доступа linux. Например, в первом варианте вы просто добавили флаг выполнения для владельца файла, а все остальные права оставили неизменными. В восьмеричном варианте мы полностью заменили текущие права новыми – все для владельца и чтение/запись для группы и остальных. Как видите, права установлены как и ожидалось. Теперь отключим выполнение владельцем:


      И снова проверяем:

      Дальше разрешим только чтение всем, кроме владельца:

      chmod 744 file
      ls -l file


      Или отберем все права:

      chmod ugo-rwx file

      Файлы с правами 000 недоступны никаким пользователям, кроме суперпользователя и владельца. Вернем права обратно:

      chmod 755 file
      ls -l file


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

      chmod -R ug+rw dir
      ls -l dir/


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

      chmod -Rv ug+rw dir


      Выводы

      В этой небольшой статье была рассмотрена команда chmod linux. Она очень часто используется наряду с такими командами, как chown и umask для управления правами. Надеюсь, эта информация была полезной для вас. Если у вас остались вопросы, спрашивайте в комментариях!

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