Права на папки и файлы. Маленький линуксно-компьютерный каламбур на тему 666 или "Откуда берётся сатанизм"


Диалог двух root-ов [*]
- Ты какие права предпочитаешь: 644 или 664 [**]? (Имеется ввиду в доступе к конфигурационному файлу такому-то…)
- Предпочитаю я 600 на момент редактирования и 400 в период работы. А вот давать приходится 666 [***] (Весёлый закадровый смех).
–-
ПРИМЕЧАНИЕ
* root — Корень. Обозначение пользователя №1, то есть администратора с максимальными привилегиями
** 644 — первая цифра наделяет правами пользователя-владельца, вторая — одноимённую с пользователем-владельцем группу, третья — всех прочих зарегистрированных в системе пользователей. Так 6 — это право и на чтение, и на запись в этот файл [лучше только 7 — с дополнительным правом ещё и на исполнение, но в большинстве своём исполнение конфигурационных файлов не требуется и даже противопоказано]
Таким образом 644 — себе можно и читать и писать, а вот всем остальным [пользователям данного компьютера] — только читать [с уважением приоткрыв рот].
664 — более свободная настройка прав, когда и себе и своей группе дали права на чтение и на запись, А вот всем остальным пользователям компьютера только право на чтение.
*** Второй админ признаёт, что хвалёная компьютерная БЕЗОПАСНОСТЬ — это полный фуфел, так он хотел бы влепить строгача, ибо 600 — дать исключительно себе право на чтение и запись пока это нужно для редактирования конфиг-файла, а вот сразу после этого ужать права до права только чтения даже себе, а вот всем остальным не давать никаких прав.
Но жизнь — сложная штука [разное программное обеспечение, которое запускается и требует доступа к данному конфигурационному файлу, имеет разных пользователей-владельцев ИЛИ конфигураионных файлов слишком много и лень к каждому прикручивать и проверять аккуратно права безопасности]. И админу приходится самому организовывать здоровенную дырень в безопасности, называемую 666, давая всем вообще пользователям компьютера права и на чтение и на запись указанного конфигурационного файла.
**** - и помните, читатели, что право на смену прав к данному файлу [НА УРОВНЕ ФАЙЛОВОЙ СИСТЕМЫ] настраивается на уровень выше от файла:
-  ЛИБО «..» [символ в верху панели каталога-директория, обозначающий текущую папку изнутри, которому нужно дать права 700 или 755]
- ЛИБО «Имя_Каталога» непосредственно к данному каталогу [извне].
Оригинальная штукень, когда изнутри и снаружи от папки-каталога-директория права на этот каталог могут стоять почему-то разные - это очень уже тонкий вопрос и требует длительнейших экспериментов по-факту.
---

CПРАВОЧНО 1:

Битное счисление 111 = десятичное 1*2^2+1*2^1+1*2^0= 1*2+1*2+1*1 = десятичное 7

Десятичное:

1 - исполнение (для каталога = смена прав)

2 - запись

4 - чтение

И, следовательно, всё разрешить = 7

---

CПРАВОЧНО 2:

Страшнейшая "демократическая" пара команд:  

cd /   &&   sudo chmod 777 -R ./ 
# то есть переход в корень OS и дать всем право на всё

просто УНИЧТОЖАЕТ безвозвратно Операционную систему. Проверено.

---

CПРАВОЧНО 3:

На файловых серверах, когда пользователи получают доступ к общедоступному ресурсу из разных OS и из-под разных пользователей файлового сервера, то наступает проблема, когда они не могут нормально работать с документами друг-друга. Пожтому ИСКЛЮЧИТЕЛЬНО к общедоступным папкам в автоматическом режиме с частым интервалом применяется следующая программка (= скрипт), которая сначала ко всем объектам (файлам и папкам)  ставит права 666 (= "расхлебай"), а потом повторно проходит там же, ищет исключительно папки и к ним применяет права 777 (то есть ещё и возможность удалять/переименовывать файлы в этих подпапках).

Подробнее см. scripts/chmod.Everyday.scripts/vas_chmode_sh

---
ССЫЛКИ
1. "СБРОС MySQL root password" http://tula-it.ru/node/1331 "Правда жизни о дырах и взломе" http://tula-it.ru/comment/5593#comment-5593

---
Перенесено отсюда: http://tula-it.ru/node/1333

Связанное (ближе к курсу "Сетевой администратор Windows / Linux", здесь же оставлено для понимания важности проблемы прав на папки и файлы):

Из net.adm. Откуда лезут черти или первоисточник хак-взломов сайтов и компьютеров = Права вида dlwrx от сервера Etype Eserv для Windows

Предыстория 1. Идея отдельных/разнотипных носителей для записи данных [магнитофонная лента -то есть с правом перезаписи пользователем] и для записи исполнимых инструкций [перфокарты, то есть без права перезаписи/изменения содержимого пользователем].
---
Предыстория 2. Файловые таблицы FAT/FAT16/FAT32 - без ограничений доступа к ним разных групп пользователей.
Тогдашний конца 1990-х фурор web-сервера Eserv от Etype, который на уровне сервера ввёл в отношении файлов и каталогов права dlwrx
По памяти [2]:
d — удаление. Ценнейшее право [d-блокировка], чтобы при взломе не могли выполнить угрозу удаления данных, а так же чтобы хакеру было сложно «заметать следы присутствия». Ибо даже если содержимое файла, "заметая следы" и стёрты, то сам файл с датой создания мог "светиться" в каталоге.
l — просмотр содержимого каталога [список файлов]
w — запись
r — чтение
x — исполнение

Соответственно, у веб-администратора появлялась ИДЕОЛОГИЯ [2] вида:
Базы Данных — требуют прав на запись и прочтение
Каталоги с пользовательскими картинками — то же
HTML классический — только право на чтение + может быть листинг файлов [если лень описывать содержимое и создавать в каталоге индексные index.htm файлы]
Исполнимое [PHP ?, CGI?] - к таким каталогам давалось только право на исполнение, но без права на запись. А со страху ещё и право на чтение ограничить, чтобы хакер не получил информации.

Выводы опо предыстории 2. Это была очень перспективная программа. Жаль, пришлось от неё отказаться в связи с малым платёжеспособным спросом на неё и резким ростом доступности Линукса.
---
ЧАСТЬ 1. Анализ недостатков Ext2/3/4 [rwx - безопасность] — когда параметр x в отношении каталога это всего-навсего просмотр содержимого.
При этом в отношении целого каталога отсутствует как таковой параметр X — исполнение/не исполнение того, что выполняется командным интерпретатором [shell] и параметра P — блокировки исполнения интерпретируемого кода [того же PHP, perl].

К слову - исполнимое содержимое в современных реализация ПО давным-давно находится даже там, где ему вроде бы совсем нечего делать - в документах MS Word, например. И система NTFS  совместно с ядром OS Windows не имеет никаких параметров блокировки такого рода интерпретируемого содержимого. Даже если очень-очень хочется, то было бы логичнее с точки зрения идеологии MS использовать MS Binder (Подшивку), в которонй, например, Excel документ соседствовал бы с программным кодом на Visual Basic, который упрощал бы ту или иную обработку. В результате блокировка вирусоподобного интерпретируемого кода на уровне NTFS была бы вполне решаемой задачей.

Но так как параметра, названного здесь "P" никто не ввёл в обиход, то в результате вся система безопасности Операционных Систем и превращается в здоровенное "решето".
...
---
ЧАСТЬ 2. Анализ недостатков CMS Drupal
Когда в ядро почему-то не встроена защита от записи в /tmp в любых состояниях, кроме нахождения в режиме обслуживания (и, гарантированно, под администратором сайта, то есть под тем, кто и выполняет update.php и связанное с ним).
Когда почему-то ради создания миниатюр с загружаемого изображения РАЗРЕШЕНО исполнение PHP из общей папки файловой системы sites/default/files
Что при этом мешало разработчикам, чтобы выделить отдельную папку под исполнимое-генерируемое в процессе, чтобы туда в принципе нельзя было писать файлы со стороны клиента, а только лишь с уровня php-интерпретатора сервера — не понятно совершенно.
…. {будет время и желание - допишу}
---
Ссылки
1. «Eserv от Etype. Разработчик Андрей Черезов, ЗАО «Компания Етайп»» https://ru.wikipedia.org/wiki/Eserv
2. Курс «Сетевой администратор Windows / Linux» Первые прочтения этого семинара — см. аудиозаписи. http://tula-it.ru/node/126


Перенесено отсюда: http://tula-it.ru/node/1333
---