Команда chmod - Примеры использования. Команда chmod - Примеры использования Команда разрешения для папки linux 777

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

Однако подобная защитная функция (например, права доступа 777) имеет смысл только для многопользотельских ОС, поскольку в ином случае её установка будет скорее бесполезной тратой временных ресурсов.

Что обозначает данный термин?

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

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

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

Права доступа 777: значение числа

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

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

Как установить права 777?

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

Ответ на вопрос о том, на папку, ничем не отличается от инструкции для файла: на сервере следует выделить желаемый объект и вызвать контекстное меню кликом по правой клавише мыши. Далее - выбрать «файл» и «изменить атрибуты».

В открывшемся окне менеджера нужно вбить комбинацию цифр или же поставить галочки напротив пунктов для каждой из групп пользователей. Для серверной системы Unix также предусмотрен более простой способ, требующий лишь ввода команды в формате: chmod 777 %filename% (имя файла или папки) в панели управления хостера.

Только для многопользовательских серверов

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

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

И, конечно же, следует помнить о том, что выставить этот вид доступа для пакета «Денвер» не получится, поскольку он имитирует работу сетевого веб-сервиса, однако, таковым на деле не является, осуществляя деятельность на платформе Windows. Данная ОС не относится к разряду серверных, потому при установке скриптов на «Денвер» требования об изменении прав доступа следует просто проигнорировать.

Недостатки прав полного доступа

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

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

Перед тем как установить права доступа 777, стоит хорошо подумать, не приведёт ли подобная небрежность к взлому ресурса.

У меня есть веб-каталог /www и папка в этом каталоге, называемая store .

Внутри store находятся несколько файлов и папок. Я хочу предоставить store папок и все файлы и папки в папке store все разрешения.

Как мне это сделать? Я догадываюсь через.htaccess.

Если по всем разрешениям вы имеете в виду 777

Перейдите в папку и

Вы также можете использовать chmod 777 *

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

ПРИМЕЧАНИЕ. Это должно быть сделано в папке, где находятся файлы. Для меня это были образы, у которых была проблема, поэтому я пошел в папку с изображениями и сделал это.

для mac, должен быть «суперпользователем»;

поэтому сначала:

Sudo -s password:

Chmod -R 777 directory_path

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

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

В идеале дайте 755 разрешение по причинам безопасности для веб-папки.

sudo chmod -R 755 /www/store

Каждый номер имеет смысл в разрешении. Не предоставляйте полные разрешения.

N Description ls binary 0 No permissions at all --- 000 1 Only execute --x 001 2 Only write -w- 010 3 Write and execute -wx 011 4 Only read r-- 100 5 Read and execute r-x 101 6 Read and write rw- 110 7 Read, write, and execute rwx 111

  • Первый номер 7 - Чтение, запись и выполнение для пользователя.
  • Второй номер 5 - Чтение и исполнение для группы.
  • Третий номер 5 - Чтение и исполнение для другого.

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

Больше информации

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

$ chmod a-x file (rw-rw-rw-)

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

$ chmod go-w file (rw-r–r–)

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

$ chmod u+x file (rwxr–r–)

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

$ chmod g=u file (rwxrwxr–)

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

$ chmod go-rw file (rwx–x-)

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

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

$ chmod 777 file (rwxrwxrwx)

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

$ chmod 666 file (rw-rw-rw-)

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

$ chmod 744 file (rwxr–r–)

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

$ chmod 700 file (rwx--)

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

$ chmod 644 file (rw-r–r–)

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

$ chmod 640 file (rw-r-–)

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

$ chmod 444 file (r–r–r–)

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

$ chmod 755 file (rwxr-xr-x)

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

$ chmod 505 file (r-x-r-x)

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

$ chmod 755 *

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

$ chmod -R 777 *

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

Смена прав только у директорий (рекурсивно)

$ find /path/to/base/dir -type d -exec chmod 755 {} +

$ chmod 755 $(find /path/to/base/dir -type d)

$ chmod 755 `find /path/to/base/dir -type d`

$ find /path/to/base/dir -type d -print0 | xargs -0 chmod 755

Смена прав только у файлов (рекурсивно)

$ find /path/to/base/dir -type f -exec chmod 644 {} +

$ chmod 644 $(find /path/to/base/dir -type f)

$ chmod 0755 `find ./ -type f`

$ find /path/to/base/dir -type f -print0 | xargs -0 chmod 644

Синтаксис Chmod для папок и файлов

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

Права доступа (Chmod) к файлам подразделяются на:

    r - право на чтение данных.

    w - право на изменение содержимого (запись – только изменение содержимого, но не удаление).

    x - право на исполнение файла.

Остановимся чуть подробнее на праве исполнения файла. Дело в том, что в linux (Unix), любой файл может быть исполнен. Является ли он исполнительным - определяется не по его расширению (понятие расширение отсутствует в файловой системе Unix), а по правам доступа Chmod. Если у какого-либо файла установлено право “X” (chmod x), то это означает, что его можно запустить на выполнение.

Теперь о правах доступа (Chmod) к папке (директории):

    r - право на чтение директории (можно прочитать содержимое директории, т.е. получить список объектов, находящихся в ней)

    w - право на изменение содержимого директории (можно создавать и удалять объекты в этой директории, причем если вы имеете право на запись, то удалять вы сможете даже те файлы, которые вам не принадлежат)

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

В системах linux (Unix) все эти права раздает главный администратор компьютера, доступ к которому он получает путем ввода пароля. И если большинство объектов будут иметь права доступа (Chmod) только для чтения, то вирусам на таком компьютере делать будет практически нечего, т.к. они не смогут себя туда ни записать, ни затем исполниться. Именно этого результата нам нужно добиться, выставляя права доступа (Chmod) на объекты нашего сайта.

Синтаксис Chmod для групп пользователей

Сами права доступа (Chmod) подразделяются на три категории, в зависимости от того, кто обращается к объекту:

    «user» - u (непосредственно владелец файла)

    «group» - g (член той же группы, к которой принадлежит владелец)

    «world» - o (все остальные)

Сервер определяет, к какой группе пользователей вас отнести в момент подключения вас к серверу. Когда вы, например, подключаетесь к серверу по протоколу FTP , то вы входите под своим именем пользователя (и паролем), и тогда сервер относит вас к группе «user» («u)». Прочие пользователи, которые тоже подключаются по FTP к серверу, будут отнесены к группе «group» («g»), а пользователь, который приходит к вам на сайт, используя свой браузер, попадает в группу «world» («o»).

Вариации трех возможных значений «r», «w» и «x» для трех категорий «u», «g» и «o» и определяют Chmod к файлам. Если не задана какая-то категория, то она заменяется знаком дефисом «-». права доступа (Chmod) указываются последовательно в заданном порядке:

    сначала права для владельца - «u»

    затем для группы - «g»

    и в конце права для всех остальных - «o»

После того, как сервер отнесет пользователя к определенной группе, он предоставляет ему права на действия с объектами, после чего пользователь сможет прочитать, записать или выполнить файл (в зависимости от того, что разрешено делать с данным объектом его группе). Чтобы посмотреть содержимое папки, она должна иметь атрибут чтения «r» (для той группы, к которой сервер отнес пользователя). Чтобы создать файл или папку в уже существующей, необходимо, чтобы она имела атрибут Chmod на запись «w».

Для наглядности давайте разберем пример, где владелец файла («user» - «u») имеет все права: право на чтение, запись в него и исполнение, а все остальные пользователи только право на чтение. Запись таких Chmod будет выглядеть так: «rwx r-- r--». Рассмотрим ее в деталях: «rwx» (эта запись задает права на объект для владельца - «u»), «r--» (эта запись задает права на тот же объект, но в случае если пользователь отнесен сервером к группы - «g»), «r--» (эта запись задает права на объект для всех остальных пользователей - o").

Чем отличаются Chmod файлов и папок

Ничего нельзя делать

Доступ к каталогу и его подкаталогам запрещен

Можно видеть и изменять содержимое

Можно добавить, удалить, изменить файл папки

Выполнить, если файл двоичный

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

Синтаксис Chmod выраженных в цифрах (777)

Вы видите, что здесь для описания прав доступа используются записи с использованием латинских букв и дефисов, но вы, наверное, уже сталкивались с тем, что обычно Chmod задают в цифровом виде, например, всем известная комбинации: Chmod 777, разрешающая все и всем. Действительно, права доступа (Chmod) так же обозначают и цифрами:

    w (запись) заменяют на 2

    x (исполнение) заменяют на 1

0 означает – ничего не делать (то, что в буквенной записи обозначается дефисом) Давайте опять вернемся к примеру записи прав доступа, приведенному мною чуть ранее: rwx r-- r--. Если заменить в ней буквы и дефисы на цифры, в соответствии с только что описанным правилом и при этом сложить цифры в каждой тройке, то получим цифровой вид этой записи: 744. Т.е. получается, что сумма этих цифр и показывает Chmod к файлам или папке. Например:

    7 (rwx) = 4 + 2 +1 (полные права)

    5 (r-x)= 4 + 0 + 1 (чтение и выполнение)

    6 (rw-) = 4 + 2 + 0 (чтение и запись)

    4 (r--) =4 + 0 + 0 (только чтение)

В этой таблицы приведены все возможные комбинации Chmod записанные в цифровом виде:

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

«„Владелец“»

«„Группа“»

«„Остальные“»

исполнять

исполнять

исполнять

Вы сами (кроме того случая, когда вы получаете доступ к сайту по FTP) и все остальные посетители вашего сайта, относитесь к группе “word” (все остальные), поэтому для работы с вебсайтом нам нужно в первую очередь смотреть на последнюю (третью) цифру Chmod. Для того чтобы при работе пользователя с сайтом «запускался файл» скрипта достаточно будет, чтобы на него были установлены права доступа (Chmod), начиная от «4» (r-- – только чтение) (5,6,7 тоже подойдут, но это будет лишнее в плане безопасности).

«Для папки» же, в которой лежит файл этого скрипта, нужно выставить минимум «5» (r-x - можно зайти в папку и прочитать его содержимое, удалять или добавлять нельзя). 7 тоже подойдет, но тоже будет уже лишним в плане безопасности. Если нужно, чтобы скрипт не только читался, но и «записывал» какие-то данные (например, введенные пользователем), то минимальные права на «папку» по-прежнему будут «5», но для «файла» уже понадобятся права «6» (читать и записывать).

Скорей всего на сервере, куда вы скопировали содержимое движка вашего сайта, будут установлены следующие Chmod к объектам:

Папки 755

владелец (user) может всё, группа и все остальные могут только читать папки и заходить в них, но им запрещено записывать файлы, изменять названия и стирать их в директориях. (rwxr-xr-x)

Файлы 644

Если бы у вас был сайт, состоящий из одних html, то можно было бы все так и оставить. Но современные сайты построены на движках, и там могут быть объекты, в которые нужно будет производить запись от имени пользователей из группы «world» - o (все остальные). Это могут быть папки, используемые для кэширования страниц или те, в которые по ходу работы с сайтом будут загружаться картинки и др. Само собой, что если вы зайдете на сайт по FTP , то сможете призвести запись в эти файлы или папки, но работая с интерфейсом вебсайта, как обычный пользователь, у вас могут возникнуть проблемы. Поэтому к установке тех или иных Chmod надо подходить избирательно.

Многие начинающие пользователи ОС Linux часто теряются при назначении прав доступа при помощи команды chmod .


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

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

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

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

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

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

(Изначальное значение прав доступа файла file - rwxrwxrwx - полный доступ для всех)

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

$ chmod a-x file (rw-rw-rw-)

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

$ chmod go-w file (rw-r--r--)

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

$ chmod u+x file (rwxr--r--)

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

$ chmod g=u file (rwxrwxr--)

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

$ chmod go-rw file (rwx--x---)

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

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

$ chmod 777 file (rwxrwxrwx)

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

$ chmod 666 file (rw-rw-rw-)

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

$ chmod 744 file (rwxr--r--)

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

$ chmod 700 file (rwx------)

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

$ chmod 644 file (rw-r--r--)

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

$ chmod 640 file (rw-r-----)

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

$ chmod 444 file (r--r--r--)

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

$ chmod 755 file (rwxr-xr-x)

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

$ chmod 505 file (r-x---r-x)

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

$ chmod 755 *

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

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

$ chmod -R 777 *

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

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

Рад видеть вас снова или впервые, подписчики и гости блога сайт ! Изучая сайтостроение, вы обязательно столкнетесь с важным вопросом: как выставить права доступа 777 на документ? Зачем это делать и как, мы с вами сегодня и поговорим.

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

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

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

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

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

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

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

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

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

Нажмите на «Атрибуты » или аналогичный значок и внесите правки.

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

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

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

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

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

Укажите полномочия в цифрах, которые желаете поставить и нажмите «ОК ».

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

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

До новых встреч!

P/S

С уважением, Александр Сергиенко