Как выставить права доступа 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
Способ 1: Root Explorer
Самый простой путь к решению озвученной в заголовке статьи задачи подразумевает использование одного из файловых менеджеров с рут-доступом. В следующей инструкции продемонстрирована установка прав доступа к расположенным в памяти Android-девайса файлам и папкам по схеме 777 ( rwx-rwx-rwx ) с помощью популярного инструмента указанного типа — Root Explorer.
-
Открыв доступную по следующей ссылке страницу приложения в Google Play Маркете, установите его. Затем запустите программу, предоставьте ей привилегии Суперпользователя.
Кроме прочего, с помощью Рут Эксплорера можно выставлять права доступа к нескольким файлам и/или каталогам одновременно, но они должны располагаться в одной директории. Если потребность пакетного изменения списка разрешений на доступ существует, выберите группу объектов, поочередно нажимая на их имена.
Способ 2: Total Commander
Еще один инструмент, который способен помочь легко решить вопрос предоставления полного доступа к файлу или каталогу из памяти Android-девайса – это Total Commander. Главным преимуществом данного продукта перед вышеописанным Root Explorer является бесплатность.
- Инсталлируйте на девайс и запустите Тотал Коммандер для Андроид. Предоставьте менеджеру файлов рут-права.
Мы рады, что смогли помочь Вам в решении проблемы.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.
Настройка прав доступа к файлам
Права доступа позволяют определить, какие действия могут совершать пользователи с теми или иными файлами и директориями.
Пользователи делятся на три категории:
- владелец (владельцем является владелец аккаунта; дополнительные FTP-пользователи также получают права владельца в рамках предоставленного им доступа);
- группа пользователей, в которую входит владелец (в рамках хостинга эта категория не актуальна; по умолчанию на нее распространяются те же права, как для категории "остальные");
- остальные (прочие пользователи, которые заходят на ваш сайт).
Права доступа включают в себя право на чтение (r), запись (w) и исполнение (x) и могут записываться двумя способами: буквами или цифрами.
Соответствие буквенной и цифровой записи в таблице ниже:
Цифровая запись Буквенная запись Права — Отсутствие прав 1 —x Исполнение 2 -w- Запись 3 -wx Запись и исполнение 4 r— Чтение 5 r-x Чтение и исполнение 6 rw- Чтение и запись 7 rwx Чтение, запись и исполнение Права записываются последовательно: сначала для владельца, затем для группы, затем для остальных пользователей. Например, запись 755 (или rwx r-x r-x) означает, что владельцу даны права на чтение, запись и исполнение (7 / rwx), всем остальным — на чтение и исполнение (5 / r-x).
Права назначаются как файлам, так и директориям, при этом есть определенные отличия в том, какие возможности дает то или иное право доступа:
Просмотр содержимого (т.е. можно получить список объектов в каталоге) — например, командами cat, ls
Примеры наиболее распространенных комбинаций для прав доступа:
Владелец может просматривать и изменять содержимое, у остальных нет доступа к объекту
Просмотреть назначенные права можно командой ls -l. Права для файлов в выводе будут отмечены флагом —, для директории — флагом d, например:
Настройка прав доступа
Настроить права доступа к файлам и директориям вы можете тремя способами:
- с помощью файлового менеджера панели управления;
- при SSH-подключении;
- через FTP-клиент.
Через файловый менеджер
Для настройки прав доступа к файлу или каталогу с помощью файлового менеджера необходимо проделать следующие действия:
- Перейдите в раздел "Файловый менеджер" панели управления.
- Выделите файл или директорию (указать права для нескольких файлов/директорий невозможно).
- Выберите пункт меню "Файл" — "Права доступа".
- Укажите необходимые права, после чего сохраните изменения.
По SSH
Права задаются при помощи команды chmod. Удобнее всего использовать цифровую запись. Перед правами укажите ноль.
Установить права 644 на файл test.txt:
Установить права 777 на каталог dir:
В отдельных случаях может быть полезна опция -R, она позволяет назначать права рекурсивно.
Например, чтобы указать права 755 всем объектам в текущем каталоге (включая подкаталоги), можно использовать:
По FTP (FileZilla)
Задавать и изменять права в FTP-клиенте очень просто.
Как выставить права доступа 777 на файл или папку Интернет-проекта?
Значение цифр и полномочия
Права 777 на все подряд документы ставить не только не рекомендую, а предостерегаю вас от этого действия! Иначе не удивляйтесь потом взлому своего сайта или блога, но есть и те директории, где необходимо изменить атрибуты и расширить доступ.
Цифры кода, обозначающего права, отвечают за следующее:
- 7 – полные полномочия;
- 6 – чтение и запись;
- 5 — чтение и выполнение;
- 4 – только чтение;
- 2 – только запись;
- 1 – только выполнение;
- 0 – ничего не делать.
Первая цифра кода характеризует доступ к документу для владельца ресурса, вторая – для группы и третья – для остальных пользователей.
Для каждого движка существует перечень рекомендуемых папок и файлов для выставления определенных прав вручную.
Установка прав вручную
Смена прав на файл занимает буквально несколько секунд. Вам нужно зайти в хостинг-панель и найти объект, для изменения прав.
Сохраните изменения. Вот и все!
Коррективы через программу FileZilla
Если вы пользуетесь этой программой для перемещения файлов с локального сервера на хостинг или для сохранения резервных копий, то можете поменять права с ее помощью или благодаря программе Тотал коммандор. Метод у двух утилит одинаковый.
Для этого вам нужно будет установить соединение с хостингом, найти нужный материал и нажать по ней правой кнопкой компьютерной мыши.
Самая нижняя строка в выпадающих функциях вам и пригодится. Выберите эту фразу, щелкнув по ней.
Вот и все, вам предложено два быстрых и результативных способа. Один из них осуществляется стандартно, а второй решает задачу через программу 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) Удачи!
Добавить в избранное
В этой статье объясняется базовая модель разрешений 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 для управления правами. Надеюсь, эта информация была полезной для вас. Если у вас остались вопросы, спрашивайте в комментариях!
Читайте также:
- С какими психологическими и социальными трудностями сталкивается безработный подумайте какие пути
- Сколько граждан россии проживает в украине
- Как сменить номер лицевого счета на госуслугах
- Является ли отказ от принятия наследства и принятия наследства сделкой
- Есть ли наследники османской империи в настоящее время