Как установить права доступа 777
Как установить права доступа 777
Как установить права доступа 777 на файл или папку в Linux
Разработанный ещё в 70-е годы прошлого века механизм распределения прав в операционных системах оказался настолько успешным, что используется в UNIX-системах до сих пор, то есть уже больше сорока лет.
Индексный дескриптор (который есть у каждого файла) содержит логин владельца и название группы пользователей, имеющей права к данному файлу.
При создании файла его владельцем становится пользователь, от имени которого запущен этот процесс. Группа новосозданного файла так же определяется с помощью идентификатора группы действующего процесса. При дальнейшей работе все эти значения можно изменить при помощи команд консоли, о которых далее пойдет речь.
Как изменить права доступа
В качестве первого аргумента консольной команды chmod выступает спецификация пользовательских прав доступа, а это есть мнемоническое обозначение, или восьмеричное число. Второй и следующий аргументы это названия файлов, к которым мы пытаемся изменить права доступа. При установке прав в виде трех чисел, первая цифра определяет права для владельца, 2-ая для группы, и третья для всех остальных юзеров.
Мнемонические обозначения прав доступа
Доступ к файлам в системе прав имеет такие вариации:
По отношению к каталогам действует такия система прав:
Всего возможно 8 различных комбинаций, которые приведены на рисунке ниже.
С помощью таблицы ниже вы сможете понять, как реализовать сложные варианты назначения прав, а также как установить права доступа 777, используя мнемонические спецификации chmod.
Как установить права доступа 777 через SSH
Приведем некоторые примеры использование команды chmod:
Использование такого сценария распределения файлов приведет к тому, что у владельца будут все права на файл, а все остальные группы пользователей смогут только выполнять его.
При использования кода 775 мы предоставим владельцу и всей его группе полный перечень прав. Остальные же пользователи не смогут выполнять изменения в файле. Нужно сказать, что для указания файла только по его собственному имени, необходимо находится в директории, где расположен этот файл. В ином случае вы можете переместиться в эту директорию командой cd имя_директории/имя_вложеной_директории или использовать следующую структуру:
Как установить права доступа 777 в контрольной панели сервера
Вы также можете реализовать аналогичную процедуру через визуальный интерфейс FTP клиента FileZilla или SFTP клиента WinSCP. Для этого необходимо будет выполнить авторизацию на вашем сервере в одной из этих программ, в визуальном интерфейсе выбрать ваш файл или папку, затем нажать правую клавишу мыши и установить галочки рядом с нужными правами.
Команда chmod Linux
Эти права применяются для каждого файла, а поскольку все в системе Linux, даже устройства, считаются файлами, то, получается что эти права применимы ко всему. Мы более подробно рассматривали как работают права доступа к файлам Linux в отдельной статье, а этой, я хочу остановиться на команде chmod, которая используется для установки прав.
Команда chmod Linux
Эта команда имеет типичный для команд linux синтаксис, сначала команда, затем опции, а в конце файл или папка, к которой ее нужно применить:
$ chmod опции права /путь/к/файлу
Сначала рассмотрим какими бывают права доступа linux и как они устанавливаются. Пред этим рекомендую прочитать статью про права, ссылка на которую есть выше. Есть три основных вида прав:
Также есть три категории пользователей, для которых вы можете установить эти права на файл linux:
Синтаксис настройки прав такой:
группа_пользователей действие в ид_прав
Но права можно записывать не только таким способом. Есть еще восьмеричный формат записи, он более сложен для понимания, но пишется короче и проще. Я не буду рассказывать как считать эти цифры, просто запомните какая цифра за что отвечает, так проще:
Права на папку linux такие же, как и для файла. Во время установки прав сначала укажите цифру прав для владельца, затем для группы, а потом для остальных. Например, :
Каждая из цифр не зависит от предыдущих, вы вбираете именно то, что вам нужно. Теперь давайте рассмотрим несколько опций команды, которые нам понадобятся во время работы:
Теперь, когда вы знаете опции и как настраиваются права доступа chmod, давайте рассмотрим несколько примеров как работает команда chmod linux.
Примеры использования chmod
Или можно воспользоваться цифровой записью:
Дальше разрешим только чтение всем, кроме владельца:
Или отберем все права:
Файлы с правами 000 недоступны никаким пользователям, кроме суперпользователя и владельца. Вернем права обратно:
Также вы можете смотреть подробную информацию про вносимые изменения, например:
Выводы
В этой небольшой статье была рассмотрена команда chmod linux. Она очень часто используется наряду с такими командами, как chown и umask для управления правами. Надеюсь, эта информация была полезной для вас. Если у вас остались вопросы, спрашивайте в комментариях!
Права доступа (chmod) вида 777
При работе с файлами, расположенными на веб-сервере, часто возникает необходимость установить или изменить права доступа к папкам и файлам (chmod) вида 777. В семействе серверных операционных систем Unix, права доступа (chmod) вида 777 регламентируют такие действия: чтение, запись в папку или файл и выполнение файла.
Что такое «права доступа» в операционной системе
Права доступа к файлам или папкам – это защитная функция любой многопользовательской операционной системы или программного обеспечения от несанкционированного доступа к важной (системной) информации.
Если операционная система однопользовательская, например, как домашний вариант (home) Windows – то здесь нет смысла особо ограничивать власть юзера над его пользовательскими и системными файлами и папками. Потому что, в этом случае, один и тот же человек является – и пользователем, и администратором, одновременно.
Если же операционная система (или программа) многопользовательская и в ней может обретаться более одного юзера, то тут сначала нужно разобраться и решить – кого из пользователей можно допустить к важным системным и пользовательским файлам, а кто – «пусть постоит в сторонке». Для того, чтобы разграничить возможности и степень доступа к файлам и папкам для пользователей, в пределах операционной системы – существуют «права доступа».
Права доступа к файлам и папкам назначаются на уровне системного администратора и определяют технические возможности каждого юзера для его операций с файлами и папками, в пределах подконтрольных ему директорий
При этом, права доступа позволяют частично или полностью закрывать общий доступ к важным файлам и директориям, предотвращая тем самым несанкционированное вмешательство в работу системы (программы, сервера, сайта) или изменение пользовательских данных (базы данных, БД) на сервере.
Как работают «права доступа»
По большому счёту, работа пользователя в любой операционной системе или программе – это обычная работа с файлами или папками. Изначально, обращаясь любому файлу или папке – пользователь волен сотворить с ними что угодно – выполнить, удалить, изменить (перезаписать) или создать новый объект. Однако, операционная система бдит – она всегда начеку – при каждом обращении пользователя к файлу или папке, при каждом его действии в пределах операционной системы, она скрупулёзно проверяет, разрешено или нет юзеру работать с данным файлом или папкой. Это и есть «права доступа». Таким образом, ограничиваются возможности пользователя в тех действиях, которые он (юзер) может сотворить с файлом или папкой на подконтрольной ему компьютерной территории.
Права доступа в Unix
Как уже было сказано, права доступа к файлам и папкам есть во всех операционных системах, подразумевающих многопользовательскую работу. И в ОС Windows, и в ОС Unix, и в любой другой многопользовательской операционной системе есть функция настройки и установки прав доступа к файлам и директориям (папкам, каталогам) для различных категорий пользователей. В данной статье речь пойдёт о правах доступа для серверных ОС семейства Unix, которые ещё часто называют права доступа (chmod) вида 777.
Права доступа (chmod) вида 777 для серверных ОС Unix регламентируют разрешение или запрет для пользователя на такие действия, как: чтение, запись в папку или файл и выполнение исполнительных файлов
Что такое chmod
Читаем Википедию |
chmod (от англ. change mode) – программа для изменения прав доступа к файлам и директориям. Название происходит от программы ОС Unix chmod, которая, собственно, и изменяет права доступа к файлам и директориям. На русский лад chmod произносится как «чмод». |
Что такое 777
В серверных ОС Unix права доступа записываются одной строкой, состоящей из трёх цифр, где каждая цифра относится к своему типу группы пользователей. В свою очередь, все пользователи подразделяются на группы трёх типов:
Таким образом, три цифры в обозначении, вида 777 – это выставленные права доступа сразу для трёх групп пользователей папки или файла, где – каждая из трех цифр обозначает права доступа для своей группы пользователей.
Теперь осталось разобраться, кто такой «Владелец»,
что такое «Член группы владельца»
и кто это такие «Все остальные пользователи».
Владелец, член группы владельца и все остальные пользователи
Поскольку, мы здесь говорим про сервера, сайты и серверные ОС Unix, то:
Разделение всех пользователей на группы в серверных ОС Unix реализовано следующим образом – Владелец и Члены группы владельца подключаются к серверу, используя спецсвязь (FTP, SSH) (FTP, SSH-протокол), а все остальные пользователи заходят на сайт с веб-браузера (http-протокол)
Отсюда вытекает что, в зависимости от протокола обращения к файлу на сервере, серверная ОС Unix сразу делит пользователей на две части, либо – это владелец или член группы владельца, либо – все остальные пользователи. Основанием для такой «сортировки», (повторяюсь) является сетевой протокол соединения – если пользователь подключился к серверу, используя FTP-аккаунт (FTP-протокол), то это – или владелец или член его группы. А если пользователь зашёл на сервер с веб-браузера (http-протокол), то это уже третья группа – все остальные пользователи.
Таким образом, для серверной ОС Unix, между первыми двумя и третьей группами есть очень чёткое и легкопонятное разграничение – владелец и член его группы попадают на сервер, используя спецсвязь (FTP, SSH), а все остальные пользователи – через свои веб-браузеры.
А вот различия между первыми двумя группами – владельцем и членом его группы – сильно стёрты и завуалированы. Здесь уже начинаются дебри хостинг-пакета и индивидуального подхода для каждого случая.
Справка:
Все файлы в Unix (Linux) могут иметь двух владельцев: непосредственного своего владельца-создателя (user owner) и его группу (group owner). Под понятием группы владельца подразумевается некий список пользователей, который был создан самим владельцем для совместного пользования файликом или папочкой.
Таким образом, для серверной ОС Unix, владельцем файла или папки является непосредственно администратор сервера. Все остальные, кому владелец разрешит доступ к файлам на своём сервере и кто будет подключаться к этому серверу по FTP/SSH-протоколу – это члены группы владельца.
Дальше (тут – игра слов). Всех сайто-владельцев можно условно разделить на две большие группы – арендаторы дискового пространства и арендаторы серверов (реальных и виртуальных).
Под арендой дискового пространства понимается место на сервере, занимаемое именно файлами сайта. Как правило, это недорогие хостинг-пакеты, где их пользователи не имеют доступа к админпанели сервера (не путать с CP – контрольной панелью аккаунта). Соответственно, сидящие на таких пакетах, администраторы (владельцы) сайтов, при своём подключении по FTP-протоколу к серверу – попадают исключительно в группу владельца. Тогда как, сам владелец (администратор сервера) находится где-то там, «далеко в горах», в своём уютном рабочем кабинете технической службы хостера.
При аренде дискового пространства, владельцем всех файлов сайта является сам хостер, тогда как арендатор дискового пространства – всего лишь член группы владельца.
Для арендаторов серверов (реальных и виртуальных) – ситуация, несколько иная. При аренде сервера, арендующий сам устанавливает операционную систему, естественно, при этом – он является для этой системы непосредственным владельцем файлов. А вот создавать группу и вносить в неё других пользователей – это уже его, владельца дело.
Что из всего вышесказанного следует?
А вывод такой: – Арендаторы дискового пространства могут не заморачиваться с первой цифирькой вида (chmod) 777, поскольку они не владельцы, и никогда не будут владельцами своих файлов. Для них первая цифра – всегда должна быть семь. – Арендаторы серверов (реальных и виртуальных) могут не заморачиваться со второй цифирькой вида (chmod) 777. При условии что, они не создавали и не собираются создавать никаких пользовательских групп у себя на сервере. Здесь, как такового, ярковыраженного и сильного разграничения нет. Вернее, оно будет, если создать группу владельца и внести в неё список пользователей. Вот только создать такую группу может исключительно сам администратор сервера. Когда создаст – тогда и будет думать, что делать со второй цифрой.
Что обозначают цифры 777 или 456
Каждая цифра, для каждой группы, представляет собой
арифметическую сумму из трёх цифр,
обозначающих следующие права:
Все возможные 7 вариантов сложения для этих трёх цифр
по установке прав доступа на папку или файл для групп пользователей
выглядят так:
Таким образом, выставив права доступа (chmod) вида 765,
мы выставим следующие права для групп:
Теперь понятно, что выставив права доступа комбинацией цифр 777 (три топора), мы открываем полный доступ к файлу абсолютно для всех групп пользователей. Аналогичный результат можно получить, поместив файл в папку «Общие документы» (Public) в Windows.
Нужно отметить, что некоторые комбинации цифр могут обозначать весьма бредовые ситуации с правами доступа к файлу. Например, комбинация вида 477 будет разрешать доступ к перезаписи и исполнения файла для всех, кроме его владельца (читай – администратора). Увы, такого не бывает.
Права доступа всегда выставляются «по нисходящей» от «Владельца» к «Члену группы владельца», и дальше – к группе «Всех остальных». Но, не наоборот!
Как выставить права доступа вида 777 на сервере
Теперь, когда стало абсолютно ясно, что обозначают эти три заветные цифры – выставить права доступа (chmod) вида 777, не составит труда. Чтобы выставить права доступа (chmod) вида 777 для папки или файла, который находится на сервере, понадобится любой файловый менеджер, который способен установить и поддерживать FTP-соединение с сервером. Это может быть Total Commander, Windows Commander, CuteFTP, Filezilla или что-либо ещё. Лично я предпочитаю простой и бесплатный FTP-файловый менеджер Filezilla, несмотря на то, что являюсь горячим поклонником Total Commander-а.
Окно изменения атрибутов (прав доступа) Total Commander-а
Окно изменения атрибутов (прав доступа) Filezilla
Облом вида 777 на Денвере
Как и все пришельцы из Космоса, я регулярно общаюсь с представителями различных внеземных цивилизаций, которые начинают строить свои сайты раньше, чем прилетят на Землю.
Сообщение для инопланетян:
Не нужно пытаться выставить права доступа (chmod) вида 777 при работе с широко известным пакетом Денвер, который только имитирует работу веб-сервера под управлением операционной системы Unix на локальном компьютере, на самом деле работающем под управлением операционной системы Windows. Там нет такой кнопки.
Файлы в Linux имеют двух владельцев
Необходимо правильно выставить права на файлы и папки. Сделать это можно с помощью FileZilla. Вообще для каждого сервера нужны свои определённые настройки, которые лучше узнать у своего хостера. Но обычно права ставят такие: на файлы, которые находятся в корневой директории 444, на папки в корневой директории ставят 755, на папки tmp и logs ставят 705, на паку своего шаблона поставьте 555, на папку image/stories можно поставить 755, на папку Cache 777.
Владельцем нового файла является пользователь, который создал файл.
Chmod (777, 755, 444) — настройка прав доступа к файлам и папкам сайта на сервере хостинга
Здравствуйте, уважаемые читатели блога Goldbusinessnet.com. Регулирование доступа к файлам и папкам, расположенным на веб-серверах под управлением UNIX-подобных операционных систем (а они установлены на подавляющем большинстве хостингов), происходит посредством указания прав chmod для пользователей, что позволяет по максимуму обезопасить сайт. Кстати, серверы Спринтхоста, где хостится несколько моих проектов, в этом смысле не исключение.
Алгоритм, установленный в операционках Unix, отличается от привычного для многих регламента работы с файлами и каталогами в OS Windows, где защита в этом аспекте не так сильна, что весьма нередко приводит к плачевным последствиям в виде заражения системы вирусами.
При управлении же ОС на базе Unix существует реальная возможность снизить до минимума риск несанкционированного доступа просто правильно настроив chmod (данное название программы для изменения прав доступа происходит от английского словосочетания «change mode»).
Тогда основной задачей будет указание минимально возможных для доступа к файлам и папкам прав, которые тем не менее не нарушат корректную работу сайта.
Согласитесь, грех не воспользоваться возможностью серьезно усилить степень защиты вашего веб-ресурса. Конечно, в этом случае редактирование некоторых файлов будет занимать немного больше времени, но тут уж приходится выбирать: либо оптимизация безопасности системы, либо. Ниже я постараюсь систематизировать информацию по chmod, потому что здесь есть несколько нюансов, которые необходимо знать вебмастеру. Итак, начнем.
Chmod для пользователей и права доступа
Для каждой группы пользователей определены свои права доступа. При попытке соединения веб-сервер определяет, к какой группе отнести того или иного юзера. Все они разделяются на:
Если вы подключаетесь к серверу по протоколу FTP и заходите под своим логином и паролем, то будете идентифицированы как «user», если кто-либо другой подключается по ФТП, то он будет отнесен к «group», ежели пользователь использует браузер, то попадет в категорию «others».
Теперь о правах доступа chmod к файлам и директориям. По сути они немного отличаются, хотя обозначения применяются одни и те же. Права доступа к файлам позволяют производить следующие операции с объектами:
Права доступа к папкам (директориям, или каталогам) дают совершать такие действия:
Все эти права указываются администратором, который получает эту возможность посредством ввода пароля. Если установить максимально возможные ограничения на доступ к тем или иным файлам сайта, то можно максимально обеспечить его защищенность.
Если обратить внимание на выше представленные права в отношении каталогов (папок), то атрибут «w» имеет практический смысл только в сочетании с «x».
Таким образом, мы имеем пользователей «u», «g», «o» и соответственно права «r», «w», «x», причем, порядок их отображения слева направо следующий:
Для наглядности рассмотрим пример, когда владелец файла («u») имеет все возможные права: на чтение, запись и исполнение (r, w и x). Пользователи, отнесенные к категориям «g» (group) и «o» (others) — только на чтение(r). Тогда полная запись chmod по порядку отображения прав выглядит таким образом (значком дефиса «-» отмечают отсутствие какой-либо категории прав):
Итак, в соответствии с выше представленной информацией существует три группы пользователей и три категории действий с объектами. Чтобы не запутаться, попробуем систематизировать эти данные в форме таблиц. Для начала отметим отличия между правами для файлов и каталогов:
Тип прав | Для файла | Для папки |
---|---|---|
r | Чтение (просмотр содержания) | Изучение имен файлов, входящих в директорию |
w | Запись (перезапись) | Добавление, переименование и удаление файлов в каталоге |
x | Выполнение файлика | Доступ к файлам каталога и чтение их атрибутов |
Далее рассмотрим разные сочетания прав (на файлы и папки):
Тип прав для пользователей (rwx) | Для файла | Для папки |
---|---|---|
— | Все запрещено | Все запрещено |
—x | Выполнение | Чтение атрибутов файлов |
-w- | Запись (перезапись) | Все запрещено |
-wx | Запись и выполнение | Разрешено все, кроме получения имен файлов, находящихся в папке |
r— | Чтение содержимого | Чтение имен файлов |
r-x | Чтение и выполнение | Чтение имен файлов и их атрибутов |
rw- | Чтение и запись | Чтение имен файлов |
rwx | Все возможные права | Все возможные права |
Информация о правах доступа из выше приведенной таблички позволяет сделать очевидные и во многом полезные для практического применения выводы.
Для каталогов чрезвычайно редко применяются следующие совокупности прав:
Для полного просмотра любой директории необходимы права на ее просмотр и доступ к файлам и их свойствам (атрибутам), иначе говоря, минимально разумные привилегии на каталог в этом случае должны быть «r-x».
На основании выше сказанного можно отметить, что на практике для каталога чаще всего используются сочетания «rwx», «r-x» и «—»
Например, возьмем вариант «-wx» и вкратце проанализируем его. В принципе, он разрешает абсолютно все действия (конечно, при условии, что и на файлики прописаны нужные права), но закрывает доступ к именам объектов в директории, что согласитесь, веет бессмыслицей, так как во многих случаях операции с объектами основываются на знании их наименований. В этом случае, наверное, лучше использовать режим «—», который запрещает всё.
Права доступа в цифрах: chmod (777, 755, 655, 444, 400)
Выше мы разобрали вариант записи чмод символами. Однако, во многих смыслах гораздо удобнее назначать те или иные права доступа в цифровом выражении:
Теперь вновь разберем вышеприведенный пример для назначения прав доступа «rwxr—r—». Для отображения прав каждого пользователя применяется сложение его прав: r (чтение) + w (запись) + x (исполнение). Таким образом, часть записи для владельца файла u (user) «rwx» превратится в 7 (4+2+1). Для членов групп g (group) и o (others) запись «r—» преобразуется в 4 (4+0+0). Тогда вся совокупность прав в цифровом выражении будет выглядеть как «744».
В качестве резюме представлю сводную таблицу с правами доступа chmod в буквах и цифрах:
chmod | Файлы | Папки (директории) | |
---|---|---|---|
Выражен. в цифрах | Выражен. в символах | ||
0 | — | Запрещены все действия | Запрещены все действия |
1 | —x | Выполнение | Чтение атрибутов файлов* |
2 | -w- | Запись | Запрещены все действия |
3 (2 + 1) | -wx | Запись и выполнение | Разрешено все, кроме доступа к именам файлов** |
4 | r— | Чтение содержимого | Чтение имен файлов |
5 (4 + 1) | r-x | Чтение и выполнение | Чтение имен файлов и их атрибутов*** |
6 (4 + 2) | rw- | Чтение и запись | Чтение имен файлов |
7 (4 + 2 +1) | rwx | Все разрешено | Все разрешено |
* — нет возможности получения имен файлов, а также их создания/переименования/удаления.
** — можно создавать/переименовывать/удалять файлы, но отсутствует доступ к их названиям.
*** — нельзя создавать/переименовывать/удалять файлы в директории.
Теперь представлю еще одну таблицу, которая отражает суммарные права chmod для абсолютно всех групп пользователей (user, group, others) в формате цифр:
chmod | Владелец u (user) | Член группы g (group) | Другие пользователи 0 (others) |
---|---|---|---|
777 | Чтение, запись, исполнение | Чтение, запись, исполнение | Чтение, запись, исполнение |
776 | Чтение, запись, исполнение | Чтение, запись, исполнение | Чтение, запись |
775 | Чтение, запись, исполнение | Чтение, запись, исполнение | Чтение, исполнение |
774 | Чтение, запись, исполнение | Чтение, запись, исполнение | Чтение |
766 | Чтение, запись, исполнение | Чтение, запись | Чтение, запись |
755 | Чтение, запись, исполнение | Чтение, исполнение | Чтение, исполнение |
655 | Чтение, запись | Чтение, исполнение | Чтение, исполнение |
644 | Чтение, запись | Чтение | Чтение |
444 | Чтение | Чтение | Чтение |
Это основные комбинации, которые наиболее часто используются в работе вебмастера. Другие формируются по аналогии. Если вы являетесь администратором сайта, но работаете с проектом, не подсоединившись по FTP протоколу, вы также относитесь к группе «Остальные пользователи». В таком случае при работе с сайтом нужно учитывать последнюю цифру в значении chmod.
Для примера возьмем файл с каким-нибудь скриптом. Чтобы он запускался при определенных действиях пользователя на сайте, вполне достаточно, чтобы на этот файлик были установлены права «4» («r—»). Можно и выше (5, 6, 7), но это не имеет смысла, так как при том же эффекте понизится уровень безопасности ресурса. На папку, в которой находится файлик со скриптом, уже требуются права «5» (доступ к директории и чтение содержимого), но опять же, не больше.
Ежели необходимо, чтобы скрипт не только предоставлял какую-то информацию, но и записывал данные (скажем, те, которые вводят посетители), то права в отношении каталога как минимум (он же и максимум, опять же, исходя из безопасности) потребуются «5», однако, для файла уже надо при этих обстоятельствах проставить «6» (что обеспечит чтение и запись).
Ежели у вас простенький сайт с использованием HTML-страниц, то на сервере, где расположены его файлики, достаточно на каталоги иметь права 755, а на файлы, входящие в их состав, 644:
Владелец (user) имеет право читать и записывать файлы (исполнять запрещено), члены группы (group) и остальные (others) могут лишь их читать (rw-r—r—)
Владелец (user) вправе выполнять все действия, а группа и другие пользователи имеют доступ к директории, могут просматривать названия и атрибуты файликов, однако, не имеют прав их записывать, изменять названия и удалять (rwxr-xr-x)
Однако фокус в том, что в современных условиях для построения вебсайтов в массовом масштабе используются CMS (системы управления контентом), к которым относится и WordPress. А здесь могут находиться объекты, в которые необходимо производить записи от группы пользователей «others», а также, к примеру, папки с кэшем (в том числе создаваемые плагином кеширования), в которые загружается контент, включая изображения.
Поэтому назначения прав Чмод на те или иные файлы необходимо дифференцировать. Если вы входите в управление вебсайтом по FTP, то можете производить любые действия, однако во многих случаях работаем со своим проектом происходит через браузер (веб-обозреватель).
А в этом случае могут возникнуть проблемы, если права слишком завышены, и, наоборот, если права доступа к тому или иному файлу (папке) занижены, то возрастает угроза безопасности. Посему на основании вышесказанного можно определить некоторые рекомендации по практическому применению chmod для современного сайта под управлением ЦМС:
Для каталогов, где постоянно происходит запись и стирание файлов (например, для папки кэширования)
Применительно к папкам, в которые постоянно записываются файлы, но не удаляются
Также рекомендую на папки, находящиеся в корне сайта, поставить код доступа Чмод 444.
Указание прав доступа для сайта с помощью ФТП клиента
Теперь подробнее о том, как проделать операцию установки нужного значения chmod с помощью специальной программы, позволяющей соединиться с сервером хостинга, на котором находятся файлы, распределенные по каталогам (папкам).
Со своей стороны порекомендую ФТП менеджер (клиент) Файлзилла, который уже давно доказал свою надежность и безотказность в работе на протяжении длительного времени.
Открываете программу и подсоединяетесь через FTP к веб-серверу. В правой части («Удаленный сайт») сначала отмечаете файлы или папки, атрибуты которых будут отредактированы:
И из контекстного меню, вызванного нажатием правой кнопки мыши, выбираем «Права доступа к файлу». После этого появится диалоговое окно «Изменить атрибуты файла» (на скриншоте ниже предоставлены примеры отдельно для файла и каталога):
Присваиваем необходимые значения Чмод для выбранного (или выбранных) файлов либо папок. Обращаю внимание на то, что при редактировании прав доступа на папку присутствует опция «Перенаправить во вложенные каталоги». Это значит, что заданные права доступа применяются ко вложенным в эту директорию каталогам (папкам) либо файлам.
При отмеченной галочке ниже расположенная группа настроек станет активной и потребуется еще выбрать, как их нужно применять: ко всем файлам и каталогам, только к файлам либо исключительно к каталогам. Теперь, думаю, процесс установки chmod на практике понятен.
Что такое Chmod, какие права доступа назначать файлам и папкам (777, 755, 666) и как это сделать через PHP
Сегодня я хотел бы поговорить о правах доступа к файлам и папкам (читайте что такое файл). Это понятие пришло в мир вебмастеринга из linux (Unix) подобных систем, на которых работает большинство хостингов.
Да и само название Chmod является наименованием программы в linux, которая позволяет назначить права доступа различным объектам. А раз ваш сайт установлен на сервере под управлением linux (Unix) той или иной вариации, то и работа с объектами вашего вебсайта будет подчинена правилам, установленным операционными системами linux (Unix).
В Windows фактически для всех файлов устанавливаются максимальные полномочия, что, собственно, и приводит к засилью вирусов на сайтах и наших компьютерах, а так же, в свою очередь, не дает умереть с голоду владельцам антивирусных компаний. В linux (Unix) системах дело обстоит иначе – все сложнее, но одновременно и безопаснее. Если все настроить правильно и со знанием дела, то можно существенно повысить безопасность своего вебсайта.
Базовые понятия прав доступа к файлам и папкам
Если же все пустить это дело на самотек и не заморачиваться с установкой нужных привилегий, то вероятность взлома вашего ресурса или заражения его вредоносным кодом будет очень велика. Хорошо, если вы осуществляли резервное копирование (бэкап) всех ваших данных, а если нет?!
Поэтому лучше сразу же, не откладывая в долгий ящик, произвести настройку и изменение Чмод для всех важных объектов вашего движка, исходя из принципа минимализма. Т.е. давать объектам минимально необходимые для корректной работы вебсайта права.
Давайте сначала разберемся в сути вопроса, чтобы понимать, что именно и каким образом мы настраиваем. Итак, приступим. Права доступа разделяются по отношению к файлам и к директориям. Обозначаются они одинаково, но означают немного разное.
В свою очередь, по отношению к файлам возможно:
Остановимся чуть подробнее на возможности исполнения файла. Дело в том, что в linux любой файлик может быть исполнен. Является ли он исполнительным — определяется не по его расширению (понятие расширение отсутствует в файловой системе Unix), а по правам доступа Chmod. Если у какого-либо файлика установлено право на исполнение “X”, то это означает, что его можно запустить на выполнение.
По отношению к директориям возможно:
В системах Линукс все это раздает главный администратор компьютера, доступ к которому он получает путем ввода пароля. И если большинство объектов будут иметь права только для чтения, то вирусам на таком компьютере делать будет практически нечего, т.к. они не смогут себя туда ни записать, ни затем исполниться. Именно этого результата нам нужно добиться, выставляя нужные Chmod на объекты нашего сайта.
Привилегии для групп пользователей
Сами привилегии подразделяются на три категории в зависимости от того, кто обращается к объекту:
Сервер определяет, к какой группе пользователей вас отнести в момент подключения вас к серверу. Когда вы, например, подключаетесь к серверу по протоколу FTP, то вы входите под своим именем пользователя (и паролем), и тогда сервер относит вас к группе «user» («u)».
Прочие пользователи, которые тоже подключаются по FTP к серверу, будут отнесены к группе «group» («g»), а посетитель, который приходит к вам на вебсайт, используя свой браузер, попадает в группу «world» («o»).
Вариации трех возможных значений «r», «w» и «x» для трех категорий «u», «g» и «o» и определяют Chmod к файлам. Если не задана какая-то категория, то она заменяется знаком дефисом «-». Привилегии указываются последовательно в заданном порядке:
После того, как сервер отнесет посетителя к определенной группе, он предоставляет ему права на действия с объектами, после чего посетитель сможет прочитать, записать или выполнить файл (в зависимости от того, что разрешено делать с данным объектом его группе).
Чтобы посмотреть содержимое каталога, он должен иметь атрибут чтения «r» (для той группы, к которой сервер отнес посетителя). Чтобы создать файлик или папку в уже существующей необходимо, чтобы этот существующий каталог имел атрибут на запись «w».
Для наглядности давайте разберем пример, где владелец файла («user» — «u») имеет все права: на чтение, запись в него и исполнение, а все остальные пользователи только привилегию на чтение. Запись таких Chmod будет выглядеть так: «rwx r— r—».
Рассмотрим ее в деталях: «rwx» (эта запись задает права на объект для владельца — «u»), «r—» (эта запись задает права на тот же объект, но в случае, если посетитель отнесен сервером к группе — «g»), «r—» (эта запись задает привилегии на объект для всех остальных пользователей — «o»).
Чем отличаются права файлов и папок
Получается, что существует три группы пользователей и три возможных действия с объектами. Еще не запутались? Разложим все сказанное выше по полочкам в виде табличек. Сначала наглядно посмотрим, чем они отличаются:
«Права» | « Файл» | «Папка» |
r | Просмотр содержимого | Можно прочитать содержимое каталога |
w | Изменение содержимого | Можно изменять содержимое каталога — писать и удалять объекты |
x | Запуск файлика на выполнение | Позволяет зайти в каталог и обратиться к его файликам |
А так же табличка, показывающая разнообразные комбинации Chmod для разных типов объектов:
Пользователь может выполнить двоичный файл о существовании которого ему известно, зайти или прочитать каталог запрещено
Chmod, выраженные в цифрах (777, 400, 666, 755, 444)
Вы видите, что здесь для описания прав доступа применяются записи с использованием латинских букв и дефисов, но вы, наверное, уже сталкивались с тем, что обычно Chmod задают в цифровом виде, например, всем известная комбинации: 777, разрешающая все и всем.
Действительно, привилегии так же обозначают и цифрами:
Т.е. получается, что сумма этих цифр и показывает Чмод по отношению к файлам или папке. Например:
В этой таблицы приведены все возможные комбинации привилегий записанные в цифровом виде:
«Права» | «Файл» | «Папка» |
— | Ничего нельзя делать | Доступ к каталогу и его подкаталогам запрещен |
r— | Можно читать содержимое | Можно прочитать содержимое каталога |
rw- | Можно видеть и изменять содержимое | Можно добавить, удалить, изменить файл каталога |
rwx | Читать, изменять и выполнять файлик | Можно читать, удалять, изменять файлики, сделать каталог текущим, т.е. “войти” в этот каталог. |
r-x | Можно прочитать, либо выполнить | Можно зайти в каталог и прочитать его содержимое, удалять или добавлять файлы нельзя. |
— x | Выполнить, если файлик двоичный |
«Права» | «Цифровая форма» | «Символьная форма» |
Ничего нельзя делать | 0 | — |
Только чтение | 4 | r— |
Только запись | 2 | — w- |
Только выполнение | 1 | — x |
Чтение и запись | 6 | rw- |
Чтение и выполнение | 5 | r-x |
Чтение, запись, выполнение | 7 | Rwx |
А теперь давайте рассмотрим различные комбинации записи в цифрах, применительно к группам пользователей:
«Права» | «Владелец» | «Группа» | «Остальные» |
777 | читать записывать исполнять | читать записывать исполнять | Читать записывать исполнять |
776 | читать записывать исполнять | читать записывать исполнять | Читать записывать |
775 | читать записывать исполнять | читать записывать исполнять | Читать исполнять |
774 | читать записывать исполнять | читать записывать исполнять | Читать |
766 | читать записывать исполнять | читать записывать | Читать записывать |
655 | читать записывать | читать исполнять | Читать исполнять |
644 | читать записывать | читать | Читать |
Вы сами (кроме того случая, когда получаете доступ к сайту по FTP) и все остальные посетители вашего ресурса, относитесь к группе “word” (все остальные), поэтому для работы с вебсайтом нам нужно в первую очередь смотреть на последнюю (третью) цифру данной записи.
Для того, чтобы при работе пользователя с сайтом «запускался файл» скрипта, достаточно будет, чтобы на него были установлены права, начиная от «4» (r— – только чтение) (5,6,7 тоже подойдут, но это будет лишнее в плане безопасности).
Для каталога же, в котором лежит файлик этого скрипта, нужно выставить минимум «5» (r-x — можно зайти в каталог и прочитать его содержимое, удалять или добавлять нельзя). 7 тоже подойдет, но тоже будет уже лишним в плане безопасности.
Если нужно, чтобы скрипт не только читался, но и «записывал» какие-то данные (например, введенные посетителем), то минимальные права на «папку» по-прежнему будут «5», но для «файлика» уже понадобится «6» (читать и записывать).
Скорей всего на сервере, куда вы скопировали содержимое движка вашего сайта, будут установлены следующие Chmod к объектам:
Папки | 755 | владелец (user) может всё, группа и все остальные могут только читать каталоги и заходить в них, но им запрещено записывать файлики, изменять названия и стирать их в директориях. (rwxr-xr-x) |
Файлы | «644» | владелец (user) может читать и изменять файлики, исполнять ему их запрещено, всем остальным запрещено их изменять и исполнять, остальные могут только читать. «(rw-r—r—)» |
Если бы у вас был ресурс, состоящий из одних html страниц, то можно было бы все так и оставить. Но современные сайты построены на движках, и там могут быть объекты, в которые нужно производить запись от имени посетителей из группы «world» — o (все остальные). Это могут быть каталоги, используемые для кэширования страниц или те, в которые по ходу работы с сайтом будут загружаться картинки и др.
Само собой, что если вы зайдете на сайт по FTP, то сможете произвести запись в эти файлики или директории, но работая с вебинтерфейсом как обычный пользователь у вас могут возникнуть проблемы. Поэтому к установке тех или иных прав надо подходить избирательно:
Как назначить Chmod посредством PHP
Как же все это можно реализовать на практике для своего сайта? В принципе, все просто. Для назначения прав доступа можно использовать программу Ftp клиента, например, FileZilla:
Но если Чмод на какие-либо файлы поменять не получается, то можно попробовать назначить их PHP средствами. Вы можете воспользоваться следующим кодом:
prava.php скопируйте по FTP в ту директорию, в которой не получается штатными средствами назначить права доступа. В адресной строке браузера пропишите путь до prava.php (например, https://ktonanovenkogo.ru/prava.php) и нажмите «Пуск» или энтер на клавиатуре. Все, теперь привилегии будут стопроцентно изменены средствами PHP.
Для Joomla, сразу после ее установки, можно выставить 777 на следующие директории:
После того, как вы установите для Джумлы все расширения и произведете окончательные настройки, Chmod к большинству из приведенных выше директорий следует в целях повышения безопасности сайта вернуть к 755. Оставить 777 нужно будет на каталоги с кешем, с бекапом и с картинками.
Для файлов движка, находящихся в корне сайта, кроме sitemap.xml, лучше установить 444 (для всех групп посетителей только чтение). На seting.php иногда советуют даже установить 400.
Точно такие же советы могу дать и по поводу установки прав доступа на объекты в движках SMF и WordPress. Желательно, по возможности, оставлять на постоянной основе для директорий 755 (кроме оговоренных выше каталогов кеша, картинок, бекапа и может быть еще каких-то, по мере необходимости), а для файликов — 644.
На файлы в корне сайта лучше поставить 444.
Если при работе с сайтом возникнет проблема с невозможностью записи настроек в какой-нибудь файлик или невозможностью создать какую нибудь директорию, то можно временно поставить на них большие права (777, например), а потом все вернуть обратно (от греха подальше). И ни в коем случае не стоит оставлять (для простоты работы с сайтом) необоснованно завышенные Chmod.
Удачи вам! До скорых встреч на страницах блога KtoNaNovenkogo.ru
Комментарии и отзывы (40)
Зачем назначать для объектов, находящихся в корне сайта права доступа 444, если владелец может изменить их?
Интетесно узнать более подробнее о назначениях директорий
Макс, логично, конечно же, владелец может все, вне зависимости от выставленных прав (собственно, вы же сами их и меняете). Но в целях безопасности так делают. Я не знаю всех тонкостей взлома сайта, но такие рекомендации я слышал неоднократно. Думаю, что существует возможность злоумышленнику прикинуться владельцем.
Указанные вами папки используются различными расширениями, реализующими функции кеширования и создания резервных копий данных.
Интересно на сколько безопасно можно пользоваться встроенной возможностью передачи файлов по ftp в joomla?
Макс, не знаю насчет безопасности самого FTP в Joomla, сначала я даже не знал зачем оно там надо. Только недавно прочитал, что настроив доступ по FTP через Joomla можно не давать полного доступа на каталоги, куда нужно установить расширения. Или если нужно конфигурационный файл подкорректировать. Это сделано для облегчения жизни администратора сайта.
Да это очень удобно! Сат пользуюсь только в целях страховки регулярно выключаю эту возможность, надо узнать может это лишняя мера =)
права задаются всегда относительно того, от какого юзера в системе запущен апач.
у меня на ВСЕ папки, ВКЛЮЧАЯ кэш 775, отлично работает.
Значит можно смело ставить755 и 644,думаю. Да? Если админ только я.
Marusya говорит, что:
Значит можно смело ставить755 и 644,думаю. Да? Если админ только я.
. и под твоей учеткой работает Апач. Если так — то ДА.
Дмитрий спасибо! Отличная статья. Все подробно «разжёвано». Для новичков это очень ценно.
Подскажите, пожалуйста, на какие папки надо открыть доступ для работы файлового контейнера, например remository или docman
Подскажите, пожалуйста, на какие папки надо открыть доступ для работы файлового архива??
В файле configuration.php лежит и логин, и пароль к FTP. Если поставить права 444, то все смогут прочесть его? Тогда остаётся только вариант 400?
Андрей говорит, что:
В файле configuration.php лежит и логин, и пароль к FTP. Если поставить права 444, то все смогут прочесть его? Тогда остаётся только вариант 400?
Интересно, кто тогда сможет зайти на Ваш сайт? По-моему, Вы получите проблему с доступностью сайта.
Всё умно и просто написано, фактически все вопросы задаваемые мной в браузере приводят на новенького, действительно во всех статьях всё разжёвано до мелочей, просто круто. Если заработаешь миллион — ты того стоишь! Огромное уважение и спасибо!
Спасибо, толковая статья! Я новичок в этих делах. Не могу зайти на сайт tfile.ru написано 500- Internal Server Error. Чтобы исправить надо выставить права 755 и 644. А как это сделать практически? Куда и как зайти, для этого файла не могу понять. Будьте добры подскажите.
вот я доигрался с правами, теперь в админ панель жумлы вообще не могу войти. Что делать, кто подскажет? Сайт работает, фтп пускает нормально.
Александр: Filezilla в помощь. Открываешь сайт, подводить мышь к файлу. Правый щелчок и выбрать права доступа.
При при переносе сайта с локального сервера в интернет возникли проблемы с чмод на папки, то есть в разделе «Помощь — Информация о системе — папки недоступны на запись, хотя 755. Помогает, только когда меняю на 777. Это нормально вообще с точки зрения безопасности или нужно решать вопрос с техподдержкой хостинга?
Такой вопрос при установки нового модуля, шаблона, компонента выходит ошибка 500. Что это может быть.
Удается установить вручную, но после активации модуля — та же ошибка на сайте 500.
Здравствуйте, вопрос таков.
Я прочитал статью. У себя на фтп сайта chmodы отрегулировал.
Но браузер директорию всё равно не открывает.
You don’t have permission to access /abc/ on this server.
Где я чего не доглядел?
Здравствуйте! У меня на блоге выставлены следующие права доступа:
root directory 700
WP — Security Scan орет благим матом. Все подчеркнул красным. Ответьте, пожалуйста, чем грозят мне такие права? Что в них плохого?
Заранее благодарю за ответ!
Совсем ничего не понятно где устанавливается доступ к файлам. А тупо доверять FileZilla, которая неизвестно что и где пропишет нет желания. Как будто сговорились, ни слова о главном, копипастите что-ли друг у друга информацию один в один и ничего по существу.
Самурай, возможно вам надо больше почитать про это, а доверять инструменту Вам в любом случае прийдется, не зилле так другому).
«Оставить 777 нужно будет на папки с кешем, с бекапом и с картинками.»
Для чего картинкам такие широкие привилегии, разве картинки могут быть исполняемыми? Не опасно ли ставить полные права на картинки для всех (публичных) пользователей?
Спасибо большое за статью. Помогло. Проблема решена.
Здравствуйте! Помогите, пожалуйста, советом: пытаюсь запустить инстал скрипта, стандартно заполняю
но как только нажимаю далее — все данные просто исчезают.
Заранее благодарен за ответ!
А Скрипт то какой?И Ссылку на скрипт
Спасибо помогло. Нужно было поменять права на изображение, а с помощью filezila не получалось. Оказывается как просто если знать что делать.
А акие последствия если поставить доступ к корневой папке не 755, а 750?
Я благодарю вам, только с ваших примеров ко мне дошло эти 777 )), так как u+rwx осилил, а с восьмеричной как то туго было. Спасибо большое за написанное.
Дмитрий, добрый день.
Помогите, пожалуйста советом. Как объясниться с хостером?
Люди подскажите что делать? Ломанули сайт на движке джумла и теперь не магу зайти в админку, Ввожу логин и пароль но открывается чистый лист. Что не так?
Спасибо тебе Человечище! Я тоже в 40 лет иду по твоим стопам. И это ЕДИНСТВЕННЫЙ встреченный мною ресурс где все написано человеческим языком. Чувствуется МЭИ)))
r — право на чтение данных.
w — на изменение содержимого (запись – только изменение содержимого, но не удаление).
x — на исполнение файла
Зная англооснову гораздо проще понимать, в основном у вас это прописывается кстати, тут только.
Добрый день в статье есть ошибка во второй таблице с верху:
—x Пользователь может выполнить двоичный файл о существовании которого ему известно, зайти или прочитать каталог запрещено
это не верно зайти как раз таки пользователь может, и увидеть дерево каталогов, но прочитать содержимое не может.
«В Windows фактически для всех файлов устанавливаются максимальные полномочия» — бредовоеhttp://windata.ru/windows-7/bezopasnost-7/prava-dostupa-k-fajlam-i-papkam-v-windows-7/ заявление. На самом деле в Windows можно настроить права доступа к любой папке или файлу как захочешь — информации по этой теме в интернете — море.
меня интересует такой вопрос: если я выставлю права на папку 777, а затем в hptaccess разрешу доступ только определенным ip, это будет работать?
ситуация следующая: в папки сапы и других бирж с правами закачиваются вирусняки и прочая дрянь. Изменить права на 755 или другое я не могу: робот биржы должен иметь возможность заходить и менять файлы. Следовательно я подумал о таком решении вопроса. но не знаю будет ли это работать.
Спасибо за статью, но немного не понимаю про права на каталог, и вложенный в него файл для тех или иных команд. К примеру, какие должны быть права на каталог и вложенный файл, если я хочу создать жесткую ссылку на файл, которая будет вести в вышележащий каталог? А если я хочу переместить файл в соседнюю ветку дерева? В конце концов, какие минимально возможные права на файл и каталог, если я хочу удалить этот каталог?
Права в Linux (chown, chmod, SUID, GUID, sticky bit, ACL, umask)
Всем привет. Это перевод статьи из книги RedHat RHCSA RHCE 7 RedHat Enterprise Linux 7 EX200 and EX300.
От себя: Надеюсь статья будет полезна не только начинающим, но и поможет более опытным администраторам упорядочить свои знания.
Чтобы получить доступ к файлам в Linux, используются разрешения. Эти разрешения назначаются трем объектам: файлу, группе и другому объекту (то есть всем остальным). В этой статье вы узнаете, как применять разрешения.
Статья начинается с обзора основных понятий, после чего обсуждаются специальные разрешения (Special permissions) и списки контроля доступа (ACL). В конце этой статьи рассматривается настройка прав доступа по умолчанию через umask, а также управление расширенными атрибутами пользователя.
Управление владением файлами
Прежде чем обсуждать разрешения, вы должны знать о роли владельца файла и каталога. Владение файлами и каталогами жизненно важно для работы с разрешениями. В этом разделе вы сначала узнаете, как вы можете увидеть владельца. Затем вы узнаете, как изменить владельца группы и пользователя для файлов и каталогов.
Отображение владельца файла или каталога
В Linux у каждого файла и каждого каталога есть два владельца: пользователь и группа.
Эти владельцы устанавливаются при создании файла или каталога. Пользователь, который создаёт файл становится владельцем этого файла, а первичная группа, в которую входит этот же пользователь, так же становится владельцем этого файла. Чтобы определить, есть ли у вас как у пользователя права доступа к файлу или каталогу, оболочка проверяет владение ими.
Это происходит в следующем порядке:
Вы также можете использовать find для поиска файлов, у которых определенная группа является их владельцем.
Например, следующая команда ищет все файлы, принадлежащие группе users:
Изменение владельца
Чтобы применить соответствующие разрешения, первое, что нужно учитывать, это владение. Для этого есть команда chown. Синтаксис этой команды несложен для понимания:
Например, следующая команда меняет владельца каталога /home/account на пользователя linda:
Команда chown имеет несколько опций, одна из которых особенно полезна: -R. Вы можете догадаться, что она делает, потому что эта опция доступна и для многих других команд. Это позволяет вам рекурсивно устанавливать владельца, что позволяет вам установить владельца текущего каталога и всего, что находится ниже. Следующая команда меняет владельца для каталога /home и всего, что находится под ним, на пользователя lisa:
Сейчас владельцы выглядят так:
Теперь пользователь lisa стал владельцем каталога account:
Изменение владельца группы
Есть два способа изменить владение группой. Вы можете сделать это, используя chown, но есть специальная команда с именем chgrp, которая выполняет эту работу. Если вы хотите использовать команду chown, используйте . или : перед названием группы.
Следующая команда изменяет какого-либо владельца группы /home/account на группу account:
Вы можете использовать chown для изменения владельца пользователя и/или группы несколькими способами. Вот несколько примеров:
Как и в случае с chown, вы можете использовать опцию -R с chgrp, а также рекурсивно менять владельца группы.
Понимание владельца по умолчанию
Вы могли заметить, что когда пользователь создает файл, применяется владение по умолчанию.
Пользователь, который создает файл, автоматически становится владельцем этого файла, а основная группа этого пользователя автоматически становится владельцем этого файла. Обычно это группа, которая указана в файле /etc/passwd в качестве основной группы пользователя. Однако если пользователь является членом нескольких групп, он может изменить эффективную основную группу.
Чтобы показать текущую эффективную первичную группу, пользователь может использовать команду groups:
Если текущий пользователь linda хочет изменить эффективную первичную группу, он будет использовать команду newgrp, за которой следует имя группы, которую он хочет установить в качестве новой эффективной первичной группы. После использования команды newgrp первичная группа будет активна, пока пользователь не введет команду exit или не выйдет из системы.
Ниже показано, как пользователь lisa использует эту команду, что бы первичной группой стала группа sales:
После изменения действующей основной группы все новые файлы, созданные пользователем, получат эту группу в качестве группы-владельца.Чтобы вернуться к исходной настройке первичной группы, используйте exit.
Чтобы иметь возможность использовать команду newgrp, пользователь должен быть членом той группы, которую он хочет использовать в качестве первичной. Кроме этого, групповой пароль может быть использован для группы с помощью команды gpasswd. Если пользователь использует команду newgrp, но не является членом целевой группы, оболочка запрашивает пароль группы. После того, как вы введете правильный групповой пароль, будет установлена новая эффективная первичная группа.
Управление основными правами
Система разрешений Linux была изобретена в 1970-х годах. Поскольку вычислительные потребности были ограничены в те годы, базовая система разрешений была довольно ограничена. Эта система разрешений использует три разрешения, которые можно применять к файлам и каталогам. В этом разделе вы узнаете, как использовать и изменять эти разрешения.
Понимание прав на чтение, запись и выполнение
Три основных разрешения позволяют вам читать, записывать и выполнять файлы. Эффект этих разрешений отличается при применении к файлам или каталогам. Применительно к файлу разрешение на чтение дает вам право открыть файл для чтения. Следовательно, вы можете прочитать его содержимое, но это означает, что ваш компьютер может открыть файл, чтобы что-то с ним сделать.
Программный файл, которому требуется доступ к библиотеке, должен, например, иметь доступ для чтения к этой библиотеке. Из этого следует, что разрешение на чтение — это самое основное разрешение, которое вам нужно для работы с файлами.
Применительно к каталогу чтение позволяет отображать содержимое этого каталога. Вы должны знать, что это разрешение не позволяет вам читать файлы в каталоге. Система разрешений Linux не знает наследования, и единственный способ прочитать файл — использовать разрешения на чтение для этого файла.
Как вы, вероятно, можете догадаться, разрешение на запись, если оно применяется к файлу, позволяет записывать в файл. Иначе говоря, позволяет изменять содержимое существующих файлов. Однако он не позволяет создавать или удалять новые файлы или изменять права доступа к файлу. Для этого вам нужно дать разрешение на запись каталогу, где вы хотите создать файл. В каталогах это разрешение также позволяет создавать и удалять новые подкаталоги.
Разрешение на выполнение — это то, что вам нужно для выполнения файла. Оно никогда не будет установлено по умолчанию, что делает Linux практически полностью невосприимчивым к вирусам. Только кто-то с правами записи на каталог может применять разрешение на выполнение.
Ниже обобщается использование основных разрешений:
Использование chmod
Для управления правами используется команда chmod. При использовании chmod вы можете устанавливать разрешения для пользователя (user), группы (group) и других (other). Вы можете использовать эту команду в двух режимах: относительный режим и абсолютный режим. В абсолютном режиме три цифры используются для установки основных разрешений.
При настройке разрешений рассчитайте необходимое вам значение. Если вы хотите установить чтение, запись и выполнение для пользователя, чтение и выполнение для группы, а также чтение и выполнение для других в файле /somefile, то вы используете следующую команду chmod:
Когда вы используете chmod таким способом, все текущие разрешения заменяются установленными вами разрешениями.
Если вы хотите изменить разрешения относительно текущих разрешений, вы можете использовать chmod в относительном режиме. При использовании chmod в относительном режиме вы работаете с тремя индикаторами, чтобы указать, что вы хотите сделать:
При работе в относительном режиме вы также можете использовать более сложные команды. Например, эта команда добавляет разрешение на запись в группу и удаляет чтение для других:
Верхний регистр X гарантирует, что файлы не получат разрешение на выполнение, если файл уже не установил разрешение на выполнение для некоторых объектов. Это делает X более разумным способом работы с разрешениями на выполнение; это позволит избежать установки этого разрешения на файлы, где оно не требуется.
Расширенные права
Помимо основных разрешений, о которых вы только что прочитали, в Linux также есть набор расширенных разрешений. Это не те разрешения, которые вы устанавливаете по умолчанию, но иногда они предоставляют полезное дополнение. В этом разделе вы узнаете, что они из себя представляют и как их настроить.
Понимание расширенных прав SUID, GUID и sticky bit
Есть три продвинутых разрешения. Первое из них — это разрешение на установку идентификатора пользователя (SUID). В некоторых особых случаях вы можете применить это разрешение к исполняемым файлам. По умолчанию пользователь, запускающий исполняемый файл, запускает этот файл со своими собственными разрешениями.
Для обычных пользователей это обычно означает, что использование программы ограничено. Однако в некоторых случаях пользователю требуются специальные разрешения, только для выполнения определенной задачи.
Рассмотрим, например, ситуацию, когда пользователю необходимо сменить пароль. Для этого пользователь должен записать свой новый пароль в файл /etc/shadow. Однако этот файл недоступен для записи пользователям, не имеющим прав доступа root:
Разрешение SUID может выглядеть полезным (и в некоторых случаях так оно и есть), но в то же время оно потенциально опасно. При неправильном применении вы можете случайно раздать права доступа root. Поэтому я рекомендую использовать его только с максимальной осторожностью.
Большинству администраторов никогда не придется его использовать; вы увидите его только в некоторых файлах, где операционная система должна установить его по умолчанию.
Второе специальное разрешение — это идентификатор группы (SGID). Это разрешение имеет два эффекта. При применении к исполняемому файлу, он дает пользователю, который исполняет файл, разрешения владельца группы этого файла. Таким образом, SGID может выполнить более или менее то же самое, что SUID. Однако для этой цели SGID практически не используется.
Как и в случае с разрешением SUID, SGID применяется к некоторым системным файлам в качестве настройки по умолчанию.
Когда применяется к каталогу, SGID может быть полезен, потому что вы можете использовать его для установки владельца группы по умолчанию для файлов и подкаталогов, созданных в этом каталоге. По умолчанию, когда пользователь создает файл, его эффективная первичная группа устанавливается как владелец группы для этого файла.
Это не всегда очень полезно, особенно потому, что у пользователей Red Hat/CentOS в качестве основной группы задана группа с тем же именем, что и у пользователя, и из которых пользователь является единственным участником. Таким образом, по умолчанию файлы, которые создает пользователь, будут групповыми для общего доступа.
Представьте себе ситуацию, когда пользователи linda и lori работают в бухгалтерии и являются членами группы account. По умолчанию эти пользователи являются членами частной группы, единственным членом которой они являются. Однако оба пользователя являются членами группы account, но также и в качестве параметра вторичной группы.
Ситуация по умолчанию состоит в том, что когда любой из этих пользователей создает файл, основная группа становится владельцем. Поэтому по умолчанию linda не может получить доступ к файлам, созданным lori, и наоборот. Однако, если вы создаете общий каталог группы (скажем, /groups/account) и убедитесь, что разрешение SGID применено к этому каталогу и что учет группы установлен как владелец группы для этого каталога, все файлы, созданные в этом каталоге и во всех его подкаталогах, также получают account группы как владельца группы по умолчанию.
По этой причине разрешение SGID является очень полезным разрешением для установки в каталогах общих групп.
Третий из специальных разрешений — sticky bit. Это разрешение полезно для защиты файлов от случайного удаления в среде, где несколько пользователей имеют права на запись в один и тот же каталог. Если применяется закрепленный sticky bit, пользователь может удалить файл, только если он является пользователем-владельцем файла или каталога, в котором содержится файл. По этой причине он применяется в качестве разрешения по умолчанию для каталога /tmp и может быть полезен также для каталогов общих групп.
Без sticky bit, если пользователь может создавать файлы в каталоге, он также может удалять файлы из этого каталога. В общедоступной групповой среде это может раздражать. Представьте себе пользователей linda и lori, которые оба имеют права на запись в каталог /data/account и получают эти разрешения благодаря участию в группе account. Поэтому linda может удалять файлы, созданные lori, и наоборот.
Когда вы применяете sticky bit, пользователь может удалять файлы, только если выполняется одно из следующих условий:
Применение расширенных прав
Чтобы применить SUID, SGID и sticky bit, вы также можете использовать chmod. SUID имеет числовое значение 4, SGID имеет числовое значение 2, а sticky bit имеет числовое значение 1.
Если вы хотите применить эти разрешения, вам нужно добавить четырехзначный аргумент в chmod, первая цифра которого относится к специальным разрешениям. Следующая строка, например, добавит разрешение SGID на каталог и установит rwx для пользователя и rx для группы и других:
Это довольно непрактично, если вам нужно посмотреть текущие права доступа, которые установлены, прежде чем работать с chmod в абсолютном режиме. (Вы рискуете перезаписать разрешения, если вы этого не сделаете.) Поэтому я рекомендую работать в относительном режиме, если вам нужно применить какое-либо из специальных разрешений:
Пример работы со специальными правами
В этом примере вы используете специальные разрешения, чтобы членам группы было проще обмениваться файлами в каталоге общей группы. Вы назначаете ID-бит установленного идентификатора группы, а также sticky bit, и видите, что после их установки добавляются функции, облегчающие совместную работу членов группы.
Управление ACL (setfacl, getfacl) в Linux
Даже если расширенные права, которые обсуждались выше, добавляют полезную функциональность к тому, как Linux работает с разрешениями, это не позволяет вам предоставлять разрешения более чем одному пользователю или одной группе в одном файле.
Списки контроля доступа предлагают эту функцию. Кроме того, они позволяют администраторам устанавливать разрешения по умолчанию сложным способом, при котором установленные разрешения могут различаться в разных каталогах.
Понимание ACL
Хотя подсистема ACL добавляет отличные функциональные возможности вашему серверу, у нее есть один недостаток: не все утилиты поддерживают ее. Следовательно, вы можете потерять настройки ACL при копировании или перемещении файлов, а программное обеспечение для резервного копирования может не выполнить резервное копирование настроек ACL.
Утилита tar не поддерживает ACL. Чтобы убедиться, что настройки ACL не будут потеряны при создании резервной копии, используйте star вместо tar. star работает с теми же параметрами, что и tar; он просто добавляет поддержку настроек ACL.
Отсутствие поддержки некоторыми инструментами не должно быть проблемой. Списки ACL часто применяются к каталогам как структурная мера, а не к отдельным файлам.
Поэтому их будет не много, а всего лишь несколько, примененных в умных местах файловой системы. Следовательно, восстановить исходные списки ACL, с которыми вы работали, относительно легко, даже если ваше ПО для резервного копирования их не поддерживает.
Подготовка файловой системы для ACL
Перед началом работы с ACL может потребоваться подготовить файловую систему для поддержки ACL. Поскольку метаданные файловой системы необходимо расширять, не всегда есть поддержка по умолчанию для ACL в файловой системе. Если при настройке списков ACL для файловой системы вы получаете сообщение «operation not supported», возможно, в вашей файловой системе отсутствует поддержка ACL.
Чтобы это исправить, вам нужно добавить опцию acl mount в файле /etc/fstab, чтобы файловая система была смонтирована с поддержкой ACL по умолчанию.
Изменение и просмотр настроек ACL с помощью setfacl и getfacl
Команда setfacl имеет много возможностей и опций. Один вариант особенно важен, параметр -R. Если используется, опция делает настройку ACL для всех файлов и подкаталогов, которые в настоящее время существуют в каталоге, где вы устанавливаете ACL. Рекомендуется всегда использовать эту опцию при изменении списков ACL для существующих каталогов.
Работа с ACL по умолчанию
Одним из преимуществ использования списков ACL является то, что вы можете давать разрешения нескольким пользователям или группам в каталоге. Еще одним преимуществом является то, что вы можете включить наследование, работая с ACL по умолчанию.
Установив ACL по умолчанию, вы определите разрешения, которые будут установлены для всех новых элементов, создаваемых в каталоге. Имейте в виду, что ACL по умолчанию не меняет разрешения для существующих файлов и подкаталогов. Чтобы изменить их, нужно добавить и обычный ACL!
ACL и обычные разрешения не всегда хорошо интегрированы. Проблемы могут возникнуть, если вы применили ACL по умолчанию к каталогу, после чего элементы были добавлены в этот каталог, и затем попытаетесь изменить обычные разрешения. Изменения, которые применяются к обычным разрешениям, не будут хорошо отражены в обзоре ACL. Чтобы избежать проблем, сначала установите обычные разрешения, после чего установите ACL по умолчанию (и после этого старайтесь не изменять их снова).
Пример управления расширенными правами с использованием ACL
В этом примере вы продолжите работу с каталогами /data/account и /data/sales, которые вы создали ранее. В предыдущих примерах вы гарантировали, что группа sales имеет разрешения на /data/sales, а группа account имеет разрешения на /data/account.
Сначала убедитесь, что группа account получает разрешения на чтение в каталоге /data/sales, а группа sales получает разрешения на чтение в каталоге /data/account.
Затем вы устанавливаете списки ACL по умолчанию, чтобы убедиться, что для всех новых файлов правильно установлены разрешения для всех новых элементов.
Установка прав по умолчанию с помощью umask
Выше вы узнали, как работать с ACL по умолчанию. Если вы не используете ACL, есть параметр оболочки, который определяет права по умолчанию, которые вы получите: umask (обратная маска). В этом разделе вы узнаете, как изменить разрешения по умолчанию с помощью umask.
Вы, наверное, заметили, что при создании нового файла устанавливаются некоторые разрешения по умолчанию. Эти разрешения определяются настройкой umask. Этот параметр оболочки применяется ко всем пользователям при входе в систему. В параметре umask используется числовое значение, которое вычитается из максимальных разрешений, которые могут быть автоматически установлены для файла; максимальная настройка для файлов — 666, а для каталогов — 777.
Однако некоторые исключения относятся к этому правилу. Вы можете найти полный обзор настроек umask в таблице внизу.
Из цифр, используемых в umask, как и в случае числовых аргументов для команды chmod, первая цифра относится к разрешениям пользователя, вторая цифра относится к разрешениям группы, а последняя относится к разрешениям по умолчанию, установленным для других. Значение umask по умолчанию 022 дает 644 для всех новых файлов и 755 для всех новых каталогов, созданных на вашем сервере.
Полный обзор всех числовых значений umask и их результатов в таблице ниже.
Простой способ увидеть, как работает параметр umask, выглядит следующим образом: начните с разрешений по умолчанию для файла, установленного на 666, и вычтите umask, чтобы получить действующие разрешения. Сделайте то же самое для каталога и его разрешений по умолчанию 777.
Есть два способа изменить настройку umask: для всех пользователей и для отдельных пользователей. Если вы хотите установить umask для всех пользователей, вы должны убедиться, что параметр umask учитывается при запуске файлов среды оболочки, как указано в /etc/profile. Правильный подход — создать сценарий оболочки с именем umask.sh в каталоге /etc/profile.d и указать umask, который вы хотите использовать в этом сценарии оболочки. Если в этом файле изменяется umask, он применяется ко всем пользователям после входа на сервер.
Настройки, примененные в этом файле, применяются только для отдельного пользователя; следовательно, это хороший метод, если вам нужно больше детализации. Мне лично нравится эта функция, чтобы изменить значение umask по умолчанию для пользователя root на 027, тогда как обычные пользователи работают с umask по умолчанию 022.
Работа с расширенными атрибутами пользователя
Это заключительный раздел о правах в Linux.
При работе с разрешениями всегда существует связь между объектом пользователя или группы и разрешениями, которые эти объекты пользователя или группы имеют для файла или каталога. Альтернативный метод защиты файлов на сервере Linux — работа с атрибутами.
Атрибуты выполняют свою работу независимо от пользователя, который обращается к файлу.
Как и в случае с ACL, для атрибутов файла может потребоваться включить параметр mount.
Это опция user_xattr. Если вы получаете сообщение «operation not supported» при работе с расширенными атрибутами пользователя, обязательно установите параметр mount в файле /etc/fstab.
Многие атрибуты задокументированы. Некоторые атрибуты доступны, но еще не реализованы. Не используйте их; они ничего вам не принесут.
Ниже приведены наиболее полезные атрибуты, которые вы можете применить:
A Этот атрибут гарантирует, что время доступа к файлу файла не изменяется.
Обычно каждый раз, когда файл открывается, время доступа к файлу должно быть записано в метаданные файла. Это отрицательно влияет на производительность; поэтому для файлов, к которым осуществляется регулярный доступ, атрибут A можно использовать для отключения этой функции.
a Этот атрибут позволяет добавлять, но не удалять файл.
c Если вы используете файловую систему, в которой поддерживается сжатие на уровне тома, этот атрибут файла гарантирует, что файл будет сжат при первом включении механизма сжатия.
D Этот атрибут гарантирует, что изменения в файлах записываются на диск немедленно, а не в кэширование в первую очередь. Это полезный атрибут в важных файлах базы данных, позволяющий убедиться, что они не теряются между файловым кешем и жестким диском.
d Этот атрибут гарантирует, что файл не будет сохранен в резервных копиях, где используется утилита дампа.
I Этот атрибут включает индексирование для каталога, в котором он включен. Это обеспечивает более быстрый доступ к файлам для примитивных файловых систем, таких как Ext3, которые не используют базу данных B-tree для быстрого доступа к файлам.
i Этот атрибут делает файл неизменным. Следовательно, в файл нельзя вносить изменения, что полезно для файлов, которые нуждаются в дополнительной защите.
j Этот атрибут гарантирует, что в файловой системе ext3 файл сначала записывается в журнал, а затем — в блоки данных на жестком диске.
s Перезаписать блоки, в которых файл был сохранен, на 0 с после удаления файла. Это гарантирует, что восстановление файла невозможно после того, как он был удален.
u Этот атрибут сохраняет информацию об удалении. Это позволяет разрабатывать утилиту, которая работает с этой информацией для спасения удаленных файлов.
Резюме
В этой статье вы узнали, как работать с разрешениями. Вы прочитали о трех основных разрешениях, расширенных разрешениях и о том, как применять ACL-списки в файловой системе. Вы также узнали, как использовать параметр umask для применения разрешений по умолчанию. В конце этой статьи вы узнали, как использовать расширенные пользователем атрибуты для применения дополнительного уровня безопасности файловой системы.
Если вам понравился этот перевод, то прошу написать об этом в комментариях. Будет больше мотивации делать полезные переводы.
В статье исправил некоторые опечатки и грамматические ошибки. Уменьшил некоторые громоздкие абзацы на более мелкие для удобства восприятия.
Вместо «Только кто-то с административными правами на каталог может применять разрешение на выполнение.» исправил на «Только кто-то с правами записи на каталог может применять разрешение на выполнение.», что будет более правильным.
Заменил:
Если вы не являетесь владельцем пользователя, оболочка проверит, являетесь ли вы участником группы, которая также называется группой файла.
На:
Если вы не являетесь владельцем файла, оболочка проверит, являетесь ли вы участником группы, у которой есть разрешения на этот файл. Если вы являетесь участником этой группы, вы получаете доступ к файлу с разрешениями, которые для группы установлены, и оболочка прекратит проверку.
Команда chmod Linux. Как установить права доступа 777 на файл или папку в Linux
Команды для управления правами на файлы и директории
Все, что нужно для разрешения проблем, связанных с правами в Linux.
sudo gksudo название приложения, нуждающееся в запуске от имени администратора
chown имя учетной записи, которому надо передать правапуть до файла, права на который нужно передать
Команды для управления пользователями
Linux — многопользовательская система. Ей одновременно могут управлять несколько людей. Поэтому здесь достаточно сложная система добавления и редактирования учетных записей.
userdel имя учетной записи, которую нужно стереть
Базовые понятия прав доступа к файлам и папкам
Если же все пустить это дело на самотек и не заморачиваться с установкой нужных привилегий, то вероятность взлома вашего ресурса или заражения его вредоносным кодом будет очень велика. Хорошо, если вы осуществляли резервное копирование (бэкап) всех ваших данных, а если нет?!
Поэтому лучше сразу же, не откладывая в долгий ящик, произвести настройку и изменение Чмод для всех важных объектов вашего движка, исходя из принципа минимализма. Т.е. давать объектам минимально необходимые для корректной работы вебсайта права.
Давайте сначала разберемся в сути вопроса, чтобы понимать, что именно и каким образом мы настраиваем. Итак, приступим. Права доступа разделяются по отношению к файлам и к директориям. Обозначаются они одинаково, но означают немного разное.
В свою очередь, по отношению к файлам возможно:
Остановимся чуть подробнее на возможности исполнения файла. Дело в том, что в linux любой файлик может быть исполнен. Является ли он исполнительным — определяется не по его расширению (понятие расширение отсутствует в файловой системе Unix), а по правам доступа Chmod. Если у какого-либо файлика установлено право на исполнение “X”, то это означает, что его можно запустить на выполнение.
По отношению к директориям возможно:
В системах Линукс все это раздает главный администратор компьютера, доступ к которому он получает путем ввода пароля. И если большинство объектов будут иметь права только для чтения, то вирусам на таком компьютере делать будет практически нечего, т.к. они не смогут себя туда ни записать, ни затем исполниться. Именно этого результата нам нужно добиться, выставляя нужные Chmod на объекты нашего сайта.
Привилегии для групп пользователей
Сами привилегии подразделяются на три категории в зависимости от того, кто обращается к объекту:
Сервер определяет, к какой группе пользователей вас отнести в момент подключения вас к серверу. Когда вы, например, подключаетесь к серверу по протоколу FTP, то вы входите под своим именем пользователя (и паролем), и тогда сервер относит вас к группе «user» («u)».
Прочие пользователи, которые тоже подключаются по FTP к серверу, будут отнесены к группе «group» («g»), а посетитель, который приходит к вам на вебсайт, используя свой браузер, попадает в группу «world» («o»).
Вариации трех возможных значений «r», «w» и «x» для трех категорий «u», «g» и «o» и определяют Chmod к файлам. Если не задана какая-то категория, то она заменяется знаком дефисом «-». Привилегии указываются последовательно в заданном порядке:
После того, как сервер отнесет посетителя к определенной группе, он предоставляет ему права на действия с объектами, после чего посетитель сможет прочитать, записать или выполнить файл (в зависимости от того, что разрешено делать с данным объектом его группе).
Чтобы посмотреть содержимое каталога, он должен иметь атрибут чтения «r» (для той группы, к которой сервер отнес посетителя). Чтобы создать файлик или папку в уже существующей необходимо, чтобы этот существующий каталог имел атрибут на запись «w».
Для наглядности давайте разберем пример, где владелец файла («user» — «u») имеет все права: на чтение, запись в него и исполнение, а все остальные пользователи только привилегию на чтение. Запись таких Chmod будет выглядеть так: «rwx r– r–».
Рассмотрим ее в деталях: «rwx» (эта запись задает права на объект для владельца — «u»), «r–» (эта запись задает права на тот же объект, но в случае, если посетитель отнесен сервером к группе — «g»), «r–» (эта запись задает привилегии на объект для всех остальных пользователей — «o»).
Чем отличаются права файлов и папок
Получается, что существует три группы пользователей и три возможных действия с объектами. Еще не запутались? Разложим все сказанное выше по полочкам в виде табличек. Сначала наглядно посмотрим, чем они отличаются:
Можно прочитать содержимое каталога
Можно изменять содержимое каталога —
писать и удалять объекты
Запуск файлика на выполнение
Позволяет зайти в каталог и обратиться к его файликам
А так же табличка, показывающая разнообразные комбинации Chmod для разных типов объектов:
Ничего нельзя делать
Доступ к каталогу и его подкаталогам запрещен
Можно читать содержимое
Можно прочитать содержимое каталога
Можно видеть и изменять содержимое
Можно добавить, удалить, изменить файл каталога
Читать, изменять и выполнять файлик
Можно читать, удалять, изменять файлики, сделать каталог текущим, т.е. “войти” в этот каталог.
Можно прочитать, либо выполнить
Можно зайти в каталог и прочитать его содержимое, удалять или добавлять файлы нельзя.
Выполнить, если файлик двоичный
Пользователь может выполнить двоичный файл о существовании которого ему известно, зайти или прочитать каталог запрещено
Базовые команды для работы с терминалом
То, что поможет при работе с консолью в целом.
Команда chmod Linux
Эта команда имеет типичный для команд linux синтаксис, сначала команда, затем опции, а в конце файл или папка, к которой ее нужно применить:
$ chmodопцииправа/путь/к/файлу
Сначала рассмотрим какими бывают права доступа linux и как они устанавливаются. Пред этим рекомендую прочитать статью про права, ссылка на которую есть выше. Есть три основных вида прав:
Также есть три категории пользователей, для которых вы можете установить эти права на файл linux:
Синтаксис настройки прав такой:
группа_пользователейдействиевид_прав
В качестве действий могут использоваться знаки “+” – включить или “-“ – отключить. Рассмотрим несколько примеров:
Но права можно записывать не только таким способом. Есть еще восьмеричный формат записи, он более сложен для понимания, но пишется короче и проще. Я не буду рассказывать как считать эти цифры, просто запомните какая цифра за что отвечает, так проще:
Права на папку linux такие же, как и для файла. Во время установки прав сначала укажите цифру прав для владельца, затем для группы, а потом для остальных. Например, :
Каждая из цифр не зависит от предыдущих, вы вбираете именно то, что вам нужно. Теперь давайте рассмотрим несколько опций команды, которые нам понадобятся во время работы:
Теперь, когда вы знаете опции и как настраиваются права доступа chmod, давайте рассмотрим несколько примеров как работает команда chmod linux.
Синтаксис chmod
chmod [OPTION]… MODE[,MODE]… FILE…
chmod [OPTION]… OCTAL-MODE FILE…
chmod [OPTION]… –reference=RFILE FILE…
Параметры chmod
-c, –changes Подобно –verbose, но выдает подробный вывод только тогда, когда изменение действительно сделано.
-f, –silent, –quiet Бесшумный режим; подавлять большинство сообщений об ошибках.
-v, –verbose Подробный режим; вывести диагностическое сообщение для каждого обработанного файла.
–no-preserve-root Не обрабатывать ‘/’ (корневой каталог) каким-либо особым образом, который является настройкой по умолчанию.
–preserve-root Не работать рекурсивно на «/».
–reference=RFILE Установить разрешения, соответствующие разрешениям файла RFILE, игнорируя любой указанный РЕЖИМ.
-R, –recursive Менять файлы и каталоги рекурсивно.
–help Показать справочное сообщение и выйти.
–version Вывести информацию о версии и выйти.
Техническое описание
chmod изменяет режим файла каждого указанного ФАЙЛА в соответствии с MODE, который может быть либо символическим представлением вносимых изменений, либо восьмеричным числом, представляющим битовую комбинацию для битов нового режима.
Формат символического режима:
где perms – это ноль или более букв из набора r, w, x, X, s и t, или одна буква из набора u, g и o. Можно указать несколько символьных режимов, разделенных запятыми.
Комбинация букв u, g, o и элементов управления, которые изменят доступ пользователей к файлу: пользователь, которому он принадлежит (u), другие пользователи в группе файла (g), другие пользователи, которых нет в файле группа (o) или все пользователи (a). Если ничего из этого не дано, эффект будет таким, как если бы был задан a, но биты, которые установлены в umask, не затрагивались.
Буквы r, w, x, X, s и t выбирают биты режима файла для затронутых пользователей: чтение (r), запись (w), выполнение (x), выполнение только в том случае, если файл является каталогом или уже имеет разрешение на выполнение для некоторого пользователя (X) установите идентификатор пользователя или группы при выполнении (s), флаг ограниченного удаления или фиксированный бит (t). Для каталогов параметры выполнения X и X определяют разрешение на просмотр содержимого каталога.
Вместо одной или нескольких из этих букв вы можете указать одну из букв u, g или o: разрешения, предоставленные пользователю, которому принадлежит файл (u), разрешения, предоставленные другим пользователям, которые являются членами группы файла (g) и разрешения, предоставленные пользователям, которые не входят ни в одну из двух предыдущих категорий (o).
Числовой режим – от одной до четырех восьмеричных цифр (0-7), полученных путем сложения битов со значениями 4, 2 и 1. Предполагается, что пропущенные цифры являются ведущими нулями. Первая цифра выбирает заданный идентификатор пользователя (4) и заданный идентификатор группы (2) и атрибуты ограниченного удаления или закрепления (1). Вторая цифра выбирает права доступа для пользователя, которому принадлежат операции чтения (4), записи (2) и выполнения (1); третий выбирает права доступа для других пользователей в группе файла с теми же значениями; и четвертый для других пользователей, не входящих в группу файла, с теми же значениями.
chmod никогда не меняет права доступа к символическим ссылкам; системный вызов chmod не может изменить их разрешения. Но это не проблема, поскольку разрешения символических ссылок никогда не используются. Однако для каждой символической ссылки, указанной в командной строке, chmod изменяет права доступа к указанному файлу. Напротив, chmod игнорирует символические ссылки, встречающиеся во время рекурсивных обходов каталогов.
Биты Setuid и Setgid
chmod очищает бит set-group-ID обычного файла, если идентификатор группы файла не совпадает с эффективным идентификатором группы пользователя или одним из идентификаторов дополнительной группы пользователя, если только у пользователя нет соответствующих привилегий. Дополнительные ограничения могут привести к игнорированию битов set-user-ID и set-group-ID в MODE или RFILE. Это поведение зависит от политики и функциональности основного системного вызова chmod. В случае сомнений проверьте поведение системы.
chmod сохраняет биты set-user-ID и set-group-ID каталога, если вы не укажете иное. Вы можете установить или очистить биты с помощью символических режимов, таких как u + s и g-s, и вы можете установить (но не очистить) биты с помощью числового режима.
Флаг ограниченного удаления (или «Sticky Bit»)
Ограниченный флаг удаления или закрепленный бит – это один бит, интерпретация которого зависит от типа файла. Это предотвращает удаление или переименование файла в каталоге пользователям, которые не владеют файлом или каталогом; это называется флагом ограниченного удаления для каталога и обычно встречается в каталогах, доступных для записи во всем мире, таких как / tmp. Для обычных файлов в некоторых старых системах этот бит сохраняет текстовое изображение программы на устройстве подкачки, поэтому при запуске он загружается быстрее; это называется липким битом.
Как посмотреть разрешения файла
Быстрый и простой способ составить список прав доступа к файлу с помощью опции длинного списка (-l) команды ls. Например, чтобы просмотреть разрешения для file.txt, вы можете использовать команду:
… который будет отображать вывод, который выглядит следующим образом:
rwxrw-r– 1 user usergroup 123 Feb 03 15:36 file.txt
Примеры использования chmod
Я не буду приводить много примеров, так как там и так все более-менее понятно после пояснения правил создания выражений установки прав. Сначала самый частый случай – разрешить выполнения скрипта владельцу:
Или можно воспользоваться цифровой записью:
chmod 766 file
ls – l file
Недостаток цифровой записи в том, что вы не можете модифицировать уже существующие права доступа linux. Например, в первом варианте вы просто добавили флаг выполнения для владельца файла, а все остальные права оставили неизменными. В восьмеричном варианте мы полностью заменили текущие права новыми – все для владельца и чтение/запись для группы и остальных. Как видите, права установлены как и ожидалось. Теперь отключим выполнение владельцем:
Дальше разрешим только чтение всем, кроме владельца:
Или отберем все права:
Файлы с правами 000 недоступны никаким пользователям, кроме суперпользователя и владельца. Вернем права обратно:
Также вы можете смотреть подробную информацию про вносимые изменения, например:
Связанные команды
chown – Изменить владельца файлов или каталогов.
getfacl – Показать списки контроля доступа к файлам.
ls – список содержимого каталога или каталогов.
Запись прав доступа числом
В данном формате права доступа задаются не символами rwx, как описано выше, а трехзначным числом. Каждая цифра числа означает определенный набор прав доступа.
В таблице ниже приводятся все возможные комбинации разрешений rwx и соответсвующие им числа (которые используются в команде chmod):
ЧислоРазрешенияСимвольное обозначение0 | разрешения отсутствуют | — |
1 | x — запуск | –x |
2 | w — изменение | -w- |
3 | x+w — запуск+изменение | -wx |
4 | r — чтение | r– |
5 | r+x — чтение+запуск | r-x |
6 | r+w — чтение+изменение | rw- |
7 | r+w+x — чтение+изменение+запуск | rwx |
Рассмотрим использование команды chmod с записью прав доступа числом на примере. Установим для файла права доступа 764:
Это означает (см. таблицу выше), что для файла myfile мы устанавливаем права доступа 764, которые означают:
Если записать 764 с помощью символов (см. таблицу), то мы получим: «rwxrw-r-».
В таблице ниже приведены некоторые часто используемые значения числовых значений прав доступа:
Числовоеобозначение”rwx”-обозначениеОписание
400 | -r——– | Владелец файла может только читать файл. Для всех остальных все действия с файлом запрещены. |
644 | -rw-r–r– | Все пользователи могут читать файл. Владелец может изменять файл. |
660 | -rw-rw—- | Владелец и группа могут читать и изменять файл. Для всех остальных все действия с файлом запрещены. |
664 | -rw-rw-r– | Все могут читать файл. Владелец и группа могут изменять. |
666 | -rw-rw-rw- | Все могут читать и изменять файл. |
700 | -rwx—— | Владелец может читать, изменять и запускать файл. Для всех остальных все действия с файлом запрещены. |
744 | -rwxr–r– | Все могут читать файл. Владелец может также изменять и запускать файл. |
755 | -rwxr-xr-x | Все могут читать и запускать файл. Владелец может также изменять файл. |
777 | -rwxrwxrwx | Все пользователи могут читать, изменять и редактировать файл. |
Запись прав доступа символами
chmod +x myfile1
chmod g=rw myfile2
chmod u-w myfile3
Как вы можете видеть, в данном формате права доступа задаются символами rwx, но в синтаксисе используются и другие вспомогательные символы, например, математические операции «+» и «-» и такие символы как, например, «g» или «u».
Общий синтаксис можно записать примерно так:
chmod (владелец)(математическая операция)(разрешения) имя_файла
Обозначения для владельцев файла следующие:
ОбозначениеОписаниеu | Владелец-пользователь. |
g | Группа. |
o | Все остальные. |
a | Вообще все. |
Математические операции означают следующее:
ОператорОписание+ | Добавляет к текущим правам доступа новое разрешение. |
– | Удаляет из текущих прав доступа определенное разрешение. |
= | Устанавливает полностью новые разрешения (предыдущие перезаписываются новыми). |
В одной команде можно перечислять владельцев и их разрешения через запятую (см. пример ниже).
В данном случае мы не используем обозначения для владельцев, а значит разрешения устанавливаются для всех пользователей. «+x» означает — установить разрешение на запуск (x) файла для всех пользователей. Это эквивалентно выполнению команды: chmod a+x myfile1.
Здесь используется обозначение g и символ равенства «=». Это означает, что для группы мы устанавливаем права доступа на чтение и запись файла (rw).
Для владельца файла (u) мы удаляем разрешение на изменение (w) файла.
Разрешаем владельцу (u) и группе (g) запускать файл (x).
Это как раз тот случай, когда мы перечисляем владельцев через запятую и устанавливаем для них разрешения. Для владельца файла (u) мы разрешаем запуск файла, для группы (g) мы запрещаем изменять файл, для всех остальных (o) мы запрещаем читать файл.
Рекурсивное изменение прав доступа
И еще один момент. Если пользователь не является владельцем файла, но ему нужно изменить права доступа у данного файла, то команду chmod необходимо выполнять с использованием sudo, например:
sudo chmod 644 file
Видео-обзор команды chmod
Примеры команд Chmod в Linux
Использование команды chmod очень просто, если вы знаете, какие права доступа вы должны установить для файла.
Например, если вы хотите, чтобы владелец имел все разрешения и не имел разрешений для группы и публики, вам нужно установить разрешение 700 в абсолютном режиме:
chmod 700 filename
Вы можете сделать то же самое в символическом режиме.
chmod u=rwx filename
Если вам нужен простой способ узнать разрешение файла Linux в числовом или символьном режиме, вы можете использовать этот калькулятор chmod. Просто выберите соответствующие разрешения, и они сообщат вам разрешения как в абсолютном, так и в символическом режиме.
Изменить разрешение на все файлы в каталоге рекурсивно
У chmod есть рекурсивная опция, которая позволяет вам изменять права доступа ко всем файлам в каталоге и его подкаталогах.
Изменение прав доступа командой chmod
chmod 777: все для всех
Возможно, вы слышали о chmod 777. Эта команда предоставит права на чтение, запись и выполнение владельцу, группе и общедоступным.
Если вы хотите изменить режим на 777, вы можете использовать следующую команду:
chmod 777 filename
chmod 777 считается потенциально опасным, поскольку вы даете разрешение на чтение, запись и выполнение файла/каталога всем (кто находится в вашей системе). Вы должны полностью избежать этого.
Как изменить права доступа
Команда chmod может изменить режим пользовательского доступа к файлу. Как-либо менять эти права разрешено исключительно его владельцу либо суперпользователю. В Unix-системах код принято задавать в виде числа в восьмеричной форме, или при помощи специальных мнемонических знаков (букв). Использование каждого способа имеет свои преимущества и недостатки. Так, с помощью цифрового указания прав доступа системный администратор сможет быстрее настроить нужный тип доступа, а с помощью мнемонических кодов он сможет сделать это более точно – например, добавить или удалить право на запись, либо запретить право на чтение.
В качестве первого аргумента консольной команды chmod выступает спецификация пользовательских прав доступа, а это есть мнемоническое обозначение, или восьмеричное число. Второй и следующий аргументы это названия файлов, к которым мы пытаемся изменить права доступа. При установке прав в виде трех чисел, первая цифра определяет права для владельца, 2-ая для группы, и третья для всех остальных юзеров.
Мнемонические обозначения прав доступа
Доступ к файлам в системе прав имеет такие вариации:
По отношению к каталогам действует такия система прав:
Всего возможно 8 различных комбинаций, которые приведены на рисунке ниже.
С помощью таблицы ниже вы сможете понять, как реализовать сложные варианты назначения прав, а также как установить права доступа 777, используя мнемонические спецификации chmod.
Как установить права доступа 777 через SSH
Приведем некоторые примеры использование команды chmod:
Использование такого сценария распределения файлов приведет к тому, что у владельца будут все права на файл, а все остальные группы пользователей смогут только выполнять его.
При использования кода 775 мы предоставим владельцу и всей его группе полный перечень прав. Остальные же пользователи не смогут выполнять изменения в файле. Нужно сказать, что для указания файла только по его собственному имени, необходимо находится в директории, где расположен этот файл. В ином случае вы можете переместиться в эту директорию командой cd имя_директории/имя_вложеной_директории или использовать следующую структуру:
В итоге, как выставить права доступа 777 для файла или каталога, не будет проблемой – просто необходимо залогиниться на вашем веб-сервере через SSH и выполнить команду:
Никогда не используйте chmod 777
Установка 777 разрешений для файла или каталога означает, что он будет доступен для чтения, записи и выполнения всеми пользователями и может представлять огромную угрозу безопасности.
Например, если вы рекурсивно измените разрешения всех файлов и подкаталогов в каталоге /var/www на 777, любой пользователь в системе сможет создавать, удалять или изменять файлы в этом каталоге.
Если у вас возникают проблемы с правами доступа к веб-серверу, вместо рекурсивной установки разрешения 777, измените владельца файла на пользователя, запустившего приложение, и установите права доступа к файлу и разрешения для каталога с 644 на 755.
Владелец файла может быть изменен с помощью chownкоманды и разрешений с командой chmod.
Допустим, на вашем сервере есть приложение PHP, работающее от имени пользователя «andreyex». Чтобы установить правильные разрешения, вы должны запустить:
Только root, владелец файла или пользователь с правами sudo могут изменять права доступа к файлу. Будьте особенно осторожны при использовании chmod, особенно при рекурсивном изменении разрешений.
chmod + x или chmod a + x: выполнение для всех
Вероятно, один из наиболее часто используемых случаев chmod – дать файлу бит выполнения. Часто после загрузки исполняемого файла вам необходимо добавить это разрешение перед его использованием. Чтобы дать владельцу, группе и всем остальным разрешение на выполнение файла:
chmod +x /path/to/file
CHMOD 755: только владелец может писать, читать и выполнять для всех
Эта следующая команда установит следующее разрешение для файла: rwxr-xr-x. Только владельцу будет разрешено писать в файл. Владелец, члены группы и все остальные будут иметь разрешение на чтение и выполнение.
chmod 755 /path/to/file
chmod 700: все только для владельца
Эта команда предоставит владельцу права на чтение, запись и выполнение. Группа и другие не будут иметь никаких разрешений, даже читать.
chmod 700 /path/to/file
CHMOD 666: никто не выполняет
Чтобы дать владельцу, группе и всем остальным права на чтение и запись в файл.
CHMOD 644: каждый может читать, только владелец может писать
С этим следующим, владелец будет иметь право на чтение и запись, в то время как группа и все остальные имеют разрешение на чтение.
chmod 644 /path/to/file
CHMOD 600: владелец может читать и писать, больше ни для кого
С этим следующим, владелец будет читать и писать, в то время как группа и все остальные не будут иметь никаких разрешений вообще.
chmod 600 /path/to/file
Примеры команд chmod в символическом режиме
В приведенных выше примерах мы использем битовую маску для установки нового РЕЖИМА. Это легко рассчитать. Требуется простое дополнение. Учтите следующее:
Хотя это может показаться сложным, это довольно просто. Сначала вы набираете chmod и нужные вам ОПЦИИ. Затем спросите себя: для кого я меняю права доступа? Пользователь, Группа, Другие. Это даст вам первый раздел команды:
На следующем шаге для завершения команды вы решаете добавить биты прав доступа (+), удалить права доступа (-) или установить разрешение (
. Последнее добавит или удалит разрешения по мере необходимости, чтобы установить разрешение по вашему запросу.
В следующем разделе вы решаете РЕЖИМ разрешения применить (+), удалить (-) или сопоставить (
. Вы можете указать любую комбинацию RWX.
В следующем примере будет применено разрешение на чтение/запись для файла для владельца. Подробная опция заставит chmod сообщать о действии.
Следующим будет установлено разрешение на запись группы в каталог и все его содержимое рекурсивно. Он будет сообщать только об изменениях.
Вы можете объединить несколько операций, которые будут выполнены с разрешения, как в следующем примере. Он убедится, что владелец имеет права на чтение/запись/выполнение, а также добавит разрешение на запись для группы и удалит выполнение для всех остальных:
chmod u=rwx,g+w,o-x /path/to/file
chmod –reference=/path/to/rFile /path/to/file
Есть больше опций и режимов, которые можно использовать с chmod, которые не описаны или не упомянуты здесь. Мы хотели сохранить это в общих чертах и, надеюсь, помочь нескольким новым пользователям Linux.
Команда chmod в Linux
Команда chmod, команда chown и команда chgrp.
Команда chmod
Команда chmod предназначена для изменения прав доступа файлов и директорий в Linux. Название команды произошло от словосочетания «change mode».
Синтаксис команды chmod следующий:
Разрешения можно задавать двумя способами:
Изменение прав доступа командой chmod
Запись прав доступа числом
В данном формате права доступа задаются не символами rwx, как описано выше, а трехзначным числом. Каждая цифра числа означает определенный набор прав доступа.
В таблице ниже приводятся все возможные комбинации разрешений rwx и соответсвующие им числа (которые используются в команде chmod):
Число | Разрешения | Символьное обозначение |
---|---|---|
0 | разрешения отсутствуют | — |
1 | x — запуск | —x |
2 | w — изменение | -w- |
3 | x+w — запуск+изменение | -wx |
4 | r — чтение | r— |
5 | r+x — чтение+запуск | r-x |
6 | r+w — чтение+изменение | rw- |
7 | r+w+x — чтение+изменение+запуск | rwx |
Рассмотрим использование команды chmod с записью прав доступа числом на примере. Установим для файла права доступа 764:
Если записать 764 с помощью символов (см. таблицу), то мы получим: «rwxrw-r-».
В таблице ниже приведены некоторые часто используемые значения числовых значений прав доступа:
Числовое обозначение | «rwx»-обозначение | Описание |
---|---|---|
400 | -r——— | Владелец файла может только читать файл. Для всех остальных все действия с файлом запрещены. |
644 | -rw-r—r— | Все пользователи могут читать файл. Владелец может изменять файл. |
660 | -rw-rw—- | Владелец и группа могут читать и изменять файл. Для всех остальных все действия с файлом запрещены. |
664 | -rw-rw-r— | Все могут читать файл. Владелец и группа могут изменять. |
666 | -rw-rw-rw- | Все могут читать и изменять файл. |
700 | -rwx—— | Владелец может читать, изменять и запускать файл. Для всех остальных все действия с файлом запрещены. |
744 | -rwxr—r— | Все могут читать файл. Владелец может также изменять и запускать файл. |
755 | -rwxr-xr-x | Все могут читать и запускать файл. Владелец может также изменять файл. |
777 | -rwxrwxrwx | Все пользователи могут читать, изменять и редактировать файл. |
Запись прав доступа символами
Как вы можете видеть, в данном формате права доступа задаются символами rwx, но в синтаксисе используются и другие вспомогательные символы, например, математические операции «+» и «—» и такие символы как, например, «g» или «u».
Общий синтаксис можно записать примерно так:
Обозначения для владельцев файла следующие:
Обозначение | Описание |
---|---|
u | Владелец-пользователь. |
g | Группа. |
o | Все остальные. |
a | Вообще все. |
Математические операции означают следующее:
Оператор | Описание |
---|---|
+ | Добавляет к текущим правам доступа новое разрешение. |
— | Удаляет из текущих прав доступа определенное разрешение. |
= | Устанавливает полностью новые разрешения (предыдущие перезаписываются новыми). |
В одной команде можно перечислять владельцев и их разрешения через запятую (см. пример ниже).
Здесь используется обозначение g и символ равенства «=». Это означает, что для группы мы устанавливаем права доступа на чтение и запись файла (rw).
Для владельца файла (u) мы удаляем разрешение на изменение (w) файла.
Разрешаем владельцу (u) и группе (g) запускать файл (x).
Это как раз тот случай, когда мы перечисляем владельцев через запятую и устанавливаем для них разрешения. Для владельца файла (u) мы разрешаем запуск файла, для группы (g) мы запрещаем изменять файл, для всех остальных (o) мы запрещаем читать файл.
Рекурсивное изменение прав доступа
Если необходимо изменить права доступа на все файлы в директории, включая вложенные директории, то для этого существует опция -R, что означает рекурсивное изменение прав доступа для директорий и их содержимого. Например, изменим права доступа у всех файлов в директории Mydir:
И еще один момент. Если пользователь не является владельцем файла, но ему нужно изменить права доступа у данного файла, то команду chmod необходимо выполнять с использованием sudo, например:
Видео-обзор команды chmod
Команда chown — изменение владельца и группы
Для изменения владельца и группы файла используется команда chown.
Для изменения владельца файла используется следующий синтаксис:
Например, установим для файла myfile нового владельца vasya:
Для изменения владельца и группы файла используется следующий синтаксис:
Например, установим для файла myfile нового владельца vasya и группу sambashare:
Команда chgrp — изменение группы
Есть еще одна команда — chgrp. Она позволяет изменить только группу. Например:
Резюме
В Linux у каждого файла есть права доступа — это разрешения, владелец и группа.
Разрешения задаются для владельца, группы и для всех остальных.
Есть три вида разрешений — r — чтение, w — изменение, x — запуск.
Чтобы изменить разрешения у файла используется команда chmod.
Чтобы изменить владельца или группу используется команда chown.
Чтобы изменить группу используется chgrp.
Как установить разрешение 777 для папки в Windows 10?
Как мне дать разрешение на папку в 777?
Как изменить разрешения на 777?
Установка прав доступа к файлам в командной строке
Чтобы изменить эти разрешения, щелкните любую из маленьких стрелок и выберите «Чтение и запись» или «Только чтение». Вы также можете изменить разрешения с помощью команды chmod в Терминале. Короче говоря, «chmod 777» означает сделать файл доступным для чтения, записи и выполнения для всех.
Как дать разрешение на папку в Windows 10?
Предоставление доступа к файлу или папке
Как изменить разрешения в командной строке Windows 10?
Изменить права доступа в командной строке
Чем опасен chmod 777?
С разрешениями 777 это означает, что любой, кто является пользователем на том же сервере, может читать, записывать и выполнять файл. …… «Chmod 777» означает сделать файл доступным для чтения, записи и выполнения для всех. Это опасно, потому что любой может модифицировать или изменять контент.
Как мне дать разрешение на папку?
Чтобы установить разрешения для объекта:
Что означает chmod 777?
Если вы управляете системой Linux, очень важно знать, как работают разрешения Linux. Вы никогда не должны устанавливать права доступа 777 (rwxrwxrwx) для файлов и каталогов. 777 означает, что с этими файлами может делать что угодно.
Как изменить права доступа к файлу?
Команда chmod позволяет вам изменять права доступа к файлу. Чтобы изменить права доступа, вы должны быть суперпользователем или владельцем файла или каталога.
.
Изменение прав доступа к файлам.
Восьмеричное значение | Установлены права доступа к файлам | Описание разрешений |
---|---|---|
5 | гх | Чтение и выполнение разрешений |
6 | RW | Разрешения на чтение и запись |
7 | RWX | Разрешения на чтение, запись и выполнение |
Какие разрешения даст chmod 777 следующая команда?
Command | (эквивалентная команда с использованием системы счисления) | Разрешения |
---|---|---|
chmod a = rwx myfile.txt | chmod 777 myfile.txt | rwxrwxrwx |
chmod o = myfile.txt | chmod 770 myfile.txt | -rwxrwx— |
chmod g = w myfile.txt | chmod 720 myfile.txt | -rwx-w—- |
chmod go = r myfile.txt | chmod 744 myfile.txt | -rwxr – r– |
Как сделать папку доступной для записи в Windows 10?
Как получить полное разрешение в Windows 10?
Вот как стать владельцем и получить полный доступ к файлам и папкам в Windows 10.
Как изменить разрешения в Windows 10?
Как получить доступ к файлам и папкам
Как получить разрешение администратора в Windows 10?
Проблемы с правами администратора в окне 10
Как изменить разрешения в Windows из командной строки?
Прочтите полную справку, набрав следующую команду: C:> cacls /?
.
Windows меняет права доступа из командной строки
Как запустить Windows 10 от имени администратора?
Если вы хотите запустить приложение Windows 10 от имени администратора, откройте меню «Пуск» и найдите приложение в списке. Щелкните правой кнопкой мыши значок приложения, затем выберите «Еще» в появившемся меню. В меню «Еще» выберите «Запуск от имени администратора».
Что означает chmod 777
В этой статье объясняется базовая модель разрешений Linux и что означают числа, соответствующие разрешениям.
Понимание прав доступа к файлам в Linux
В Linux доступ к файлам контролируется операционной системой с использованием разрешений, атрибутов и прав собственности на файлы. Понимание модели разрешений файловой системы Linux позволяет вам ограничить доступ к файлам и каталогам только авторизованным пользователям и процессам и сделать вашу систему более безопасной.
Каждый файл принадлежит определенному пользователю и группе и имеет права доступа для трех разных классов пользователей:
Существует три типа разрешений для файлов, которые применяются к каждому классу пользователей и позволяют указать, каким пользователям разрешено читать файл, записывать в файл или выполнять файл. Те же атрибуты разрешений применяются как для файлов, так и для каталогов с разным значением:
Следующие девять символов представляют права доступа к файлу, три тройки по три символа каждая. Первый триплет показывает разрешения владельца, второй — разрешения группы, а последний триплет — разрешения для всех остальных.
Номер разрешения
Разрешение файла может быть представлено в числовом или символьном формате. В этой статье мы сосредоточимся на числовом формате.
Номер разрешения может состоять из трех или четырех цифр от 0 до 7.
Когда используется трехзначный номер, первая цифра представляет права владельца файла, вторая — группу файла, а последняя — всех остальных пользователей.
Разрешения на запись, чтение и выполнение имеют следующее числовое значение:
Цифра разрешений определенного класса пользователей — это сумма значений разрешений для этого класса.
Каждая цифра номера разрешений может быть суммой 4, 2, 1 и 0:
Например, если номер разрешения установлен на 750, это означает, что владелец файла имеет разрешения на чтение, запись и выполнение, группа файла имеет разрешения на чтение и выполнение, а другие пользователи не имеют разрешений:
Когда используется четырехзначный номер, первая цифра имеет следующее значение:
Чтобы просмотреть права доступа к файлу в числовом (восьмеричном) представлении, используйте команду stat :
Никогда не используйте chmod 777
Установка разрешений 777 для файла или каталога означает, что он будет доступен для чтения, записи и выполнения для всех пользователей и может представлять огромную угрозу безопасности.
Допустим, у вас есть приложение PHP на вашем сервере, работающее от имени пользователя «linuxize». Чтобы установить правильные разрешения, вы должны запустить:
Выводы
Если вы управляете системой Linux, очень важно знать, как работают разрешения Linux.
Вы никогда не должны устанавливать rwxrwxrwx доступа 777 ( rwxrwxrwx ) для файлов и каталогов. 777 означает, что с этими файлами может делать что угодно.
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.
Источники информации:
- http://losst.ru/komanda-chmod-linux
- http://tehnopost.info/site/16-prava-dostupa-chmod-vida-777.html
- http://goldbusinessnet.com/dvizhok-wordpress/chmod-prava-dostupa-k-fajlam/
- http://ktonanovenkogo.ru/vokrug-da-okolo/optimalnye-prava-dostupa-dlya-fajlov-i-papok-vashego-sajta.html
- http://habr.com/ru/post/469667/
- http://gitjournal.tech/komanda-chmod-linux-kak-ustanovit-prava-dostupa-777-na-fajl-ili-papku-v-linux/
- http://pingvinus.ru/note/chmod
- http://frameboxxindore.com/ru/windows/how-do-i-set-777-permission-to-a-folder-in-windows-10.html
- http://routerus.com/what-does-chmod-777-mean/