Права 644

Права доступа 644

Народ , подскажите как решить проблему…
Есть Red Hat 9 , FTP , PHP5 , Apache-2 и виртуальные хосты.
Проблема с правами! Когда человек закачивает файл через FTP , в свою директорию , то он автоматом становится 644 и его владелец и группа присваиваются "Andrej" (ну это пользователь кто закачивает). А если РНР создаёт какой-то новый файл , то он тоже 664 , но уже пользователь и группа — apache.
Если РНР попробует писать в закаченный через FTP файл — он не сможет! Потому что РНР работает от имени Апача , а файл закачен через FTP от имени Андрея.
И тоже самое наоборот — если файл создал РНР , то когда подсоединишься через FTP — его не получится отредактировать.
ЧТО ДЕЛАТЬ? Я искал по всему форуму , и так и не нашёл решения , хотя пару раз тема обсуждалась , но заходила в тупик.
Думал что можно решить проблему прописав User и Group равными Andrej в разделе <VirtualHost> , но Apache говорит что эти параметры нельзя писать в секциях (может быть конечно и можно если РНР запускается как CGI , но мне надо чтобы РНР стоял именно как модуль).
Поняв что с помощью смены владельца проблему не решить , я решил менять права и поставил в FTP фильтр , чтобы все поступающие файлы имели права доступа 777.
ало гораздо лучше — теперь РНР стал без проблем записывать в закаченные файлы. Но вот когда файл создан самим РНР , его через FTP уже нельзя откорректировать. :(
Может кто-то с талкивался с таким? Как решить это?
Несколько раз слышал тут что эта проблема в Апачи-2 решена , но я так и не понял как. Конечно — хотелось бы научить Апачи и модульный РНР работать от имени пользователя , а не от имени apache , но если это невозможно — то хотябы чтобы РНР накладывала на файлы маску 777 (причём АВТОМАТИЧЕСКИ , так как ясное дело , что можно это можно делать самому , но не один я с этим хостингом буду пользоваться , да и не только свои программы ставить). Вроде можно один раз прописать в каждом РНР файле umask=777 , и он будет автоматом сохранять всё с этими правами доступа , но это опять же подразумевает что надо всегда влезать в РНР файлы при переносе их с другого сервера.

phpclub.ru


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

Какие бывают права доступа? Право на выполнение, на запись в папку и на чтение. Это важно сделать при появлении нового сайта и это нужно сделать при добавлении Вашего сайта на определенные сервисы, например, биржу продажи ссылок Sape.  Если хотите узнать поподробнее о правах доступа, поищите в Интернете: у меня блог не теоретической, а практической направленности, т.е. я немного говорю о том, ЧТО надо сделать и подробно разбираю, КАК это надо сделать.

Рассматривать процесс изменения прав доступа будем на примере Total Commander (далее -ТС). Разберем подробненько, что и как надо сделать при появлении на свет нового сайта.

Что надо сделать?

Надо установить права доступа на папки и файлы, расположенные в корне Вашего сайта:

1. до начала внесения изменений (изменения настроек)

— папка «uploads» (загрузки) – права 777 (установить),

— остальные папки – права 775 (проверить, при необходимости — установить),

— все файлы во всех папках – права 644 (проверить, при необходимости – установить).


2. после изменения настроек:

— файл sitemap.xml (если Вы уже установили xml-карту сайта. Она создается автоматически при активации плагина Google XML Sitemaps и нажатии ссылки «создать впервые») – права 777,

— остальные файлы, расположенные в корне сайта (во всех!) – права 444. Это означает – «только для чтения» и внесение изменений в файлы невозможны. Для редактирования файлов в будущем, Вам необходимо будет изменить права на 644 и сразу после окончания опять поставить права 444. Это в Ваших интересах! – повысится безопасность блога.

Как все это сделать?

Открываете ТС и заходите в корневой каталог, в нем открываете папку  wp-content. Щелкаете один раз по папке uploads (тем самым выделяете ее и даете понять ТС, что Вы намерены работать с ней). Далее, в левом верхнем углу нажимаете «Файл», откроется длинный список команд. В верхней части увидите строчку «Изменить атрибуты»:

Установить права доступа на папку

Рис.1

Кликаете по «Изменить атрибуты», появляется окно «Изменение атрибутов»:

Установить права доступа на папку

Рис.2

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


Установить права доступа на папку

Рис.3

Выставив 777, не забудьте нажать ОК. Теперь проверьте, что на остальных папках стоят права 775. Потом перейдите к работе с файлами и проверьте, что у них выставлены права 644:

Установить права доступа на папку

Рис.4

Теперь можно приступать к редактированию файлов. После завершения редактирования следует в файлах (повторяю, во всех файлах корня!) выставить права 444. Для этого во второй строчке окна «Изменения атрибутов» (см.рис.4) надо убрать флажок с «Запись». Для тех, кому трудно это проделать 😉 — другой путь. Напишите в окошке вместо 644 другие цифры – 444 и программа сама установит все как надо.

Постарайтесь не забыть, что Вы изменили права доступа к файлам, потому что при попытке последующей редакции программа покажет что-нибудь типа «У вас недостаточно прав». В этом случае Вам надо будет всего лишь изменить права на 644, а потом вернуть 444.


Удачи!

P.S. Ну, я и молодец сегодня: и статью эту написал, и  купил. Где? В интернет-магазине bag-box.ru (адрес сайта такой же — http://bag-box.ru/). Это такой специализированный магазин , где есть всякие багажники и боксы и очень недорого! Я так обрадовался, что, вот, решил с Вами поделиться этой радостью.

www.novichkoff.ru

CHMOD для пользователей и права доступа к файлам и папкам (директориям)

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

Согласитесь, грех не воспользоваться возможностью серьезно усилить безопасность вашего блога WordPress. Конечно, в этом случае редактирование некоторых  файлов будет занимать немного больше времени, но тут уж приходится выбирать: либо оптимизация безопасности системы, либо… Ниже я постараюсь систематизировать информацию по CHMOD (правам доступа), потому что здесь есть несколько нюансов, которые необходимо знать вебмастеру. Итак, начнем.

Права доступа различаются для различных групп пользователей. При попытке соединения сервер определяет, к какой группе отнести того или иного пользователя. Все пользователи разделяются на три категории:

  1. «user» — владелец файла
  2. «group» — один из членов группы, к которой принадлежит и владелец
  3. «world» — “остальной мир”, то есть все остальные пользователи

Если вы подключаетесь к серверу по протоколу FTP и заходите под своим логином и паролем, то будете идентифицированы как “user” (u), если кто-либо другой подключается по FTP, то будет определен как “group” (g), если же пользователь использует браузер, то попадает под категорию “world” (o).

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

  • r (read) — право на чтение данных файла
  • w (wright) — право на изменение содержимого (можно произвести только редактирование содержимого — запись, но удалять нельзя)
  • x (eXutive) — право на исполнение файла

Права доступа к папкам (директориям):

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

Значком дефиса «-» отмечают отсутствие каких-либо прав. Все эти права прописываются администратором, который получает эту возможность посредством ввода пароля. Если мы сможем установить максимально возможные ограничения на права доступа CHMOD к тем или иным файлам ресурса, то сможем практически исключить опасность реализации своего “черного дела” вирусным программам.

Для наглядности рассмотрим пример, когда владелец файла u имеет все возможные права: на чтение, запись и исполнение. Пользователи, отнесенные к категории g (group) —  только на чтение и запись, все остальные (w) имеют только право на чтение. Тогда  запись CHMOD будет выглядеть следующим образом: «rwx rw- r- -».

Права доступа к файлам и папкам в цифровом выражении: CHMOD (777, 755, 444)

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

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

Теперь вновь разберем вышеприведенный пример для назначения прав доступа «rwx rw- r- -». Для отображения прав каждого пользователя применяется сложение его прав (r чтение + w запись  + x исполнение). Таким образом часть записи для владельца файла u (user) — «rwx » превратится в 7 (4+2+1). Для члена группы g (group) — «rw-» в 6 (4+2+0) и для остальных пользователей o (world) — «r- -» в 4 (4+0+0). В качестве резюме представлю сводную таблицу со значениями прав доступа CHMOD, выраженными как в буквах, так и в цифрах:


«>

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

«>

Это основные комбинации, которые наиболее часто используются в работе вебмастера. Остальные формируются по аналогии. Если вы являетесь администратором сайта или блога, но работаете с проектом, не подсоединившись по FTP протоколу, вы также относитесь к группе “Остальные пользователи”.  В таком случае при работе с сайтом в таком режиме нужно учитывать последнюю цифру в значении CHMOD.

Обычно на сервере, где находятся файлы вашего WordPress блога, на папки выставляются права доступа 755, а на файлы, которые входят в их состав, 644. Это справедливо, когда ресурс построен с использованием файлов HTML, однако в современных условиях для построения сайта массово используются CMS (системы управления контентом), к которым относится и WordPress. А здесь могут находиться объекты, в которые нужно производить записи от группы пользователей “world”. Могут находиться папки кэширования, в которые загружается контент, в том числе изображения.


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

777 — для папок, в которых постоянно происходит запись и стирание файлов (для папки кэширования)
755 — применительно к папкам, в которые постоянно записываются файлы, но не удаляются
666 — для файлов, в которые необходимо время от времени добавлять запись (например, файл .htaccess)
644 — для файлов, которые используются только для чтения (.php, .html и др.)

Также рекомендую на папки, находящиеся в корне сайта, поставить код доступа CHMOD 444.

goldbusinessnet.com

Права на файлы и папки

У каждого файла и папки есть 3 атрибута (права) доступа:


  1. Право на чтение (обозначается буквой «r» от английского «read»).
  2. Право на редактирование и запись в файл (обозначается буквой «w» от английского «write»).
  3. Право на исполнение (запуск) скрипта (обозначается буквой «x» от английского «eXecute»). На виртуальном хостинге право на исполнение применимо только к папкам и CGI-скриптам. Для обычных файлов (HTML-страницы, картинки, PHP скрипты и т.п.) право на исполнение не будет применяться.

Для папок эти атрибуты означают:

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

Существует несколько способов записи прав доступа: буквенная и цифровая записи. Ниже приведены соответствия двух типов записи:

Категории пользователей

Для каждого файла (и папки) существует 3 категории пользователей:

  1. Владелец файла (папки).
  2. Группа пользователей, в которую входит владелец.
  3. Все остальные пользователи.

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

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

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

Примеры прав доступа в цифровой и буквенной записях и пояснения к ним:

Какие права следует выставлять?

Обычно корректными правами для папок являются «755», а для файлов — «644», но возможны исключения, о которых должен знать разработчик сайта. Также информацию по используемым атрибутам доступа можно найти в документации или на тематических форумах используемой вами CMS.

Как изменить права на файлы и папки?

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

Изменение прав в панели управления хостингом

Чтобы изменить права в панели управления хостингом:

  1. 1Войдите в панель управления и следуйте дальнейшим инструкциям в зависимости от используемой панели:

www.reg.ru

Содержание

  • 1 Какие права для файлов и папок использовать в cPanel?
    • 1.1 Почему именно 755 и 644?
  • 2 Как поменять права на файлы и папки в cPanel?
    • 2.1 Первый способ изменения прав из меню Диспетчер Файлов:
    • 2.2 Второй способ изменения прав из меню Диспетчер Файлов:
  • 3 Как поменять права на файлы и папки по FTP?
  • 4 Как поменять права на файлы и папки по SSH?

Какие права для файлов и папок использовать в cPanel?

Стандартные права доступа, актуальные и для нашего виртуального хостинга:

Файлы – 644

Папки – 755.

Они предполагает следующие привилегии:

644 = rw- r— r—
Owner чтение и редактирование
Group только чтение
Others только чтение
755 = rwx r-x r-x
Owner чтение, редактирование и вход
Group только чтение и вход
Others только чтение и вход

Почему именно 755 и 644?

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

Работа сайта в большинстве случае связана с использованием различных скриптов, которые добавляют ему интерактивности. Для запуска скриптов на наших серверах виртуального хостинга реализован suPHP, который запускает PHP как cgi и исполняет скрипт от имени его владельца. Поэтому не нужно предоставлять права на запись всему веб-серверу Apache (777), как это бывает на некоторых хостингах с mod_PHP. Ведь если дать максимальные права на системные файлы и папки, есть риск, что открытым доступом воспользуются злоумышленники.

Работа со скриптами через suPHP, и соответственно, настройка прав 755 и 644 рекомендуется разработчиками многих cms, например, популярных WordPress и Joomla.

Как поменять права на файлы и папки в cPanel?

Иногда, при смене хостингового провайдера и переносе данных на новый сервер, на данных остаются старые права. Чтобы сменить их, нужно:

1. Зайти в cPanel от имени пользователя

2. В разделе Файлы выбрать Диспетчер файлов (в WHM недоступен, только через сPanel)

Как поменять права на файлы и папки в cPanel
3. Перейти в каталог, в котором необходимо изменить права для файлов/папок. Например, в каталог public_html.

4. Изменить права для файла/каталога можно двумя способами.

Первый способ изменения прав из меню Диспетчер Файлов:

1) Выделить нужную папку/файл и кликнуть на права (непосредственно на цифры, например, 0755). Подробнее на скриншоте ниже.

Изменения прав из меню Диспетчер Файлов
2) Вписать нужные права и нажать Save.

Права файлов и директорий

Второй способ изменения прав из меню Диспетчер Файлов:

1) Выделить нужную папку или файл и нажать на иконку Разрешения (функция доступна также при нажатии правой клавиши мыши по файлу/папке).

Второй способ изменения прав из меню Диспетчер Файлов
2) В новом окне выставить нужные права и нажать Change Permissions.

Смена прав

Как поменять права на файлы и папки по FTP?

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

1. Нужно подключиться к хостинговой учетной записи по FTP;

2. Нажать на файл или папку правой клавишей мыши и выбрать Права доступа к файлу.

Как поменять права на файлы и папки по FTP
3. В новом окне выставить права. В случае директории, сменить права можно рекурсивно, выбрав опцию “Перенаправить во вложенные каталоги”.

Опция Перенаправить во вложенные каталоги

Как поменять права на файлы и папки по SSH?

Владельцы ВПС могут сменить права через терминал с помощью команды «chmod».

  • Например, настроить права 755 для папки media нужно следующим образом:
chmod 755 media

Обратите внимание: смена происходит в той директории, в которой вы сейчас находитесь.

  • Для смены прав для всех файлов текущей директории используется знак “звездочка”
chmod 644 *
  • Если нужно сменить права на файлы во всех подкаталогах определенной папки, то поможет рекурсивная смена, которая выполняется с помощью добавления ключа -R и звездочки:
chmod -R 644 *

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

chmod 644 file1.txt file2.txt file3.txt

Интересуетесь, сколько стоит хостинг для сайта? Хотите, чтобы хостинг и регистрация доменов дешево обходились? Наши предложения вам не просто понравятся! Вы сможете прилично сэкономить, выбрав любой из наших пакетов услуг.

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

hostiq.ua

Unix отслеживает не символьные имена владельцев и групп, а их идентификаторы (UID — для пользователей и GID для групп). Эти идентификаторы хранятся в файлах /etc/passwd и /etc/group соответственно. Символьные эквиваленты идентификаторов используются только для удобства, например, при использовании команды ls, идентификаторы заменяются соответствующими символьными обозначениями.

vipw allexserv:x:1000:0:allexserv,,,:/home/allexserv:/bin/bash
/etc/group allexserv:x:1000:

1000 — идентификатор (GID) дополнительной группы allexserv пользователя allexserv7)

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

vipw backup:x:34:34:backup:/var/backups:/bin/sh  /etc/group backup:x:34:

Что касается процессов, то с ними связано не два идентификатора, а 4-е: реальный и эффективный пользовательский (UID), а также реальный и эффективный групповой (GID). Реальные номера применяются для учета использования системных ресурсов, а эффективные для определения прав доступа к процессам. Как правило, реальные и эффективные идентификаторы совпадают. Владелец процесса может посылать ему сигналы, а также изменять приоритет.

Процесс не может явно изменить ни одного из своих четырех идентификаторов, но есть ситуации когда происходит косвенная установка новых эффективных идентификаторов процесса. Дело в том, что существуют два специальных бита: SUID (Set User ID — бит смены идентификатора пользователя) и SGID (Set Group ID — бит смены идентификатора группы). Когда пользователь или процесс запускает исполняемый файл с установленным одним из этих битов, файлу временно назначаются права его (файла) владельца или группы (в зависимости от того, какой бит задан). Таким образом, пользователь может даже запускать файлы от имени суперпользователя.

Вобщем, одним словом установка битов SUID или SGID позволит пользователям запускать исполняемые файлы от имени владельца (или группы) запускаемого файла. Например, как говорилось выше, команду chmod по умолчанию может запускать только root. Если мы установим SUID на исполняемый файл /bin/chmod, то обычный пользователь сможет использовать эту команду без использования sudo, так, что она будет выполнятся от имени пользователя root. В некоторых случаях очень удобное решение. Кстати по такому принципу работает команда passwd, c помощью которой пользователь может изменить свой пароль.

Установить SUID и SGID можно командой chmod:

Догадайтесь, что произойдет если выполнить такую команду:

Снять установленные биты можно различными способами:

Отображение SGID и SUID:

/media/Work/test > ls -l итого 20 drwxr-xr-x 2 root root 4096 2009-06-15 16:18 allex drwx------ 2 root root 4096 2009-06-15 14:20 qqq -rwxrwsrwx 1 root root 0 2009-07-24 19:42 qwert

Видно, что для файла qwert установлен SGID, о чем свидетельствует символ «s» (-rwxrwsrwx). Символ «s» может быть как строчная буква (s), так и прописная (S). Регистр символа только лишь дает дополнительную информацию об исходных установках, т.е. был ли до установки SGID установлен бит, в данном случае на выполнение (rwxrwsrwx). Если s строчная, то права на выполнение у группы этого файла были до установки SGID. Если S прописная, то группа для этого файла ранее не имела прав на выполнение до установки SGID.8)

Еще одно важное усовершенствование касается использования sticky-бита в каталогах.9) Каталог с установленным sticky-битом означает, что удалить файл из этого каталога может только владелец файла или суперпользователь. Другие пользователи лишаются права удалять файлы.10) Установить sticky-бит в каталоге может только суперпользователь. Sticky-бит каталога, в отличие от sticky-бита файла, остается в каталоге до тех пор, пока владелец каталога или суперпользователь не удалит каталог явно или не применит к нему chmod. Заметьте, что владелец может удалить sticky-бит, но не может его установить.

Установить sticky-бит на каталог можно используя команду chmod:

Убрать sticky-бит на каталог можно:

Отображение sticky-бит:

/media/Work/test > ls -l итого 20 drwxr-xr-t 2 root root 4096 2009-06-15 16:18 allex drwx------ 2 root root 4096 2009-06-15 14:20 qqq -rwxr--r-T 1 root root 0 2009-07-24 19:42 qwert -rw-r--r-- 1 root root 4099 2009-06-11 14:14 sources.list

Видно, что sticky-бит установлен на каталоге allex, а также на файле qwert, о чем свидетельствует символ (t). Символ «t» может быть как строчная буква (t), так и прописная (T). Строчная буква отображается в том случае, если перед установкой sticky bit произвольный пользователь уже имел право на выполнение (х), а прописная (Т) — если такого права у него не было. Конечный результат один и тот же, но регистр символа дает дополнительную информацию об исходных установках.

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

Пример с каталогом на котором установлен sticky:

/media/Work/test > ls -l итого 20 drwxrwxrwx 2 root root 4096 2009-07-24 20:54 allex drwx------ 2 root root 4096 2009-06-15 14:20 qqq  # Устанавливаю sticky-бит:  /media/Work/test > chmod +t allex /media/Work/test > ls -l итого 20 drwxrwxrwt 2 root root 4096 2009-07-24 20:54 allex drwx------ 2 root root 4096 2009-06-15 14:20 qqq  /media/Work/test > cd allex /media/Work/test/allex > ls -l итого 4 -rw-r----- 1 root fuse 215 2009-06-10 19:54 fuse.conf  # Создаю файл с разрешением 777 (полные права для всех):  /media/Work/test/allex > touch proverka  root@sytserver:/media/Work/test/allex# ls -l итого 4 -rw-r----- 1 root fuse 215 2009-06-10 19:54 fuse.conf -rw-r--r-- 1 root root 0 2009-07-24 21:20 proverka  root@sytserver:/media/Work/test/allex# chmod 777 * root@sytserver:/media/Work/test/allex# ls -l итого 4 -rwxrwxrwx 1 root fuse 215 2009-06-10 19:54 fuse.conf -rwxrwxrwx 1 root root 0 2009-07-24 21:20 proverka  # Захожу под обычным пользователем child и пытаюсь удалить файл proverka:  root@sytserver:/media/Work/test/allex# su child child@sytserver:/media/Work/test/allex$ cd /media/Work/test/allex child@sytserver:/media/Work/test/allex$ ls -l итого 4 -rwxrwxrwx 1 root fuse 215 2009-06-10 19:54 fuse.conf -rwxrwxrwx 1 root root 0 2009-07-24 21:20 proverka  child@sytserver:/media/Work/test/allex$ rm proverka rm: невозможно удалить `proverka': Operation not permitted child@sytserver:/media/Work/test/allex$ 

help.ubuntu.ru

Разрешение чтения, записи, выполнения файла 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, обратите внимание на эту статью.

docs.mirocow.com

Базовые понятия прав доступа к файлам и папкам

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

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

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

В свою очередь, по отношению к файлам возможно:

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

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

По отношению к директориям возможно:

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

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

Привилегии для групп пользователей

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

  • «user» — u (непосредственно владелец файлика)
  • «group» — g (член той же группы, к которой принадлежит владелец)
  • «world» — o (все остальные)

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

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

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

  1. сначала права для владельца — «u»
  2. затем для группы — «g»
  3. и в конце — для всех остальных — «o»

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

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

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

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

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

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

«Права»

« Файл»

«Папка»

r

Просмотр содержимого

Можно прочитать содержимое каталога

w

Изменение содержимого

Можно изменять содержимое каталога —
писать и удалять объекты

x

Запуск файлика на выполнение

Позволяет зайти в каталог и обратиться к его файликам

А так же табличка, показывающая разнообразные комбинации Chmod для разных типов объектов:

«Права»

«Файл»

«Папка»

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

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

r—

Можно читать содержимое

Можно прочитать содержимое каталога

rw-

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

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

rwx

Читать, изменять и выполнять файлик

Можно читать, удалять, изменять файлики, сделать каталог текущим, т.е. “войти” в этот каталог.

r-x

Можно прочитать, либо выполнить

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

—x

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

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

Chmod, выраженные в цифрах (777, 400, 666, 755, 444)

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

Действительно, привилегии так же обозначают и цифрами:

  1. r (читать) заменяют на 4
  2. w (запись) заменяют на 2
  3. x (исполнение) заменяют на 1
  4. 0 означает – ничего не делать (то, что в буквенной записи обозначается дефисом)

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

Т.е. получается, что сумма этих цифр и показывает Чмод по отношению к файлам или папке. Например:

  • 7 (rwx) = 4 + 2 +1 (полные права)
  • 5 (r-x)= 4 + 0 + 1 (чтение и выполнение)
  • 6 (rw-) = 4 + 2 + 0 (чтение и запись)
  • 4 (r—) =4 + 0 + 0 (только чтение)
  • и т.д.

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

«Права»

«Цифровая форма»

«Символьная форма»

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

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, то сможете произвести запись в эти файлики или директории, но работая с вебинтерфейсом как обычный пользователь у вас могут возникнуть проблемы. Поэтому к установке тех или иных прав надо подходить избирательно:

755

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

777

для папок, в которые должны записываться и стираться файлы (например, для кеша)

644

для простых файлов, используемых только для чтения (.html, .php и др.)

666

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

ktonanovenkogo.ru


You May Also Like

About the Author: admind

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

Adblock
detector