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

Доброе время суток.

Исторически так сложилось, что для своих мелких проектов держу виртуалку. Однако, так как я не использую ее ресурсы на 100%, решил не жадничать и пустил похоститься несколько друзей. Сайтов не много, деньги за хостинг не беру, поэтому ставить что-то вроде cpanel счел перебором. К тому же я их тех, кто предпочитает настраивать все вручную. Структуру выбрал следующую:

/home/hostuser/vhosts/sitename.ru/{tmp,web,logs}
И тут возник вопрос: как запретить пользователю удалять/переименовывать папки в sitename.ru? Если будет отсутствовать папка web , то и apache и nginx выдадут предупреждение, но все-равно загрузятся. Но если удалить/переместит папку logs , то и apache и nginx не запустятся из-за ошибки (по мне довольно странное поведение). Папка hostuser полностью принадлежит данному пользователю и его личной группе (hostuser:hostuser ), а это означает, что при желании он сможет удалить любую внутреннюю папку/файл, даже если она будет принадлежать суперпользователю. Так как же запретить удаление/перемещение, чтобы пользователь (случайно или специально) не сломать весь хостинг?

После недолгого гугления решение было найдено. По мимо стандартных разрешений и acl, в файловых системах типа ext2, ext3, ext4 для файла можно выставлять дополнительные атрибуты. Подробней о всех атрибутах прочитать на Wiki , либо man chattr . Нас же интересует атрибут immutable . Данный атрибут для файла или папки может выставить только суперпользователь. Если назначит атрибут immutable на файл, то данный файл нельзя будет изменить или удалить (причем даже суперпользователь это не сможет сделать, пока не уберет данный атрибут). Если назначит атрибут immutable на папку, то данную папку нельзя будет удалить, а так же нельзя будет изменить структуру внутри нее. Тем самым получается, что если нам нужно защитить папку sitename.ru и структуру внутри нее, нам необходимо выполнить простую команду:

Chattr +i /home/hostuser/vhosts/sitename.ru
Для снятия атрибута необходимо использовать флаг -i .

Если же нужно защитить только одну папку (например, logs ), можно поступить следующим образом:

Touch /home/hostuser/vhosts/sitename.ru/logs/.keep chattr +i /home/hostuser/vhosts/sitename.ru/logs/.keep
Собственно так можно поставить «защиту от дурака» (даже с правами суперпользователя).

Спасибо за внимание.

Обращаю внимание!

Важно понимать, данная статья не об информационной безопасности . Замок на почтовом ящике - это информационная безопасность . Стекло на кнопке пожарной сигнализации - это защита от дурака .
Если создать файл.keep и дать ему атрибут -i , саму папку можно перенести и файл можно перенести. Нельзя удалить сам файл и структуру папок до этого файла.
Если вам требуется более надежный уровень безопасности, используйте атрибут immutable совместно с mount --bind . С помощью этой связки можно настроить защиту от намеренного изменения структуры.

У многих пользователей ПК есть особо важные данные, которые ни в коем случае нельзя потерять. Конечно, можно сделать десяток копий особо важного файла на самых разных носителях - от диска до ящика электронной почты. Но есть способ обойтись без дополнительных программ и затрат. Рассмотрим алгоритм действий в Windows 7.

Инструкция

  • Проверьте, что у вас есть права администратора компьютера. Иначе вы не сможете запустить и настроить необходимые параметры доступа. Проверить очень просто: нажмите кнопку «Пуск», затем откройте «Панель управления». Запустите двойным щелчком меню «Учетные записи пользователей». Там будут перечислены все учетные записи, которые есть на компьютере, и ниже имени будет запись «Администратор» или «Ограниченная учетная запись».
  • Второе, что необходимо проверить - это какая файловая система используется. Например, ваш файл находится на диске D, тогда откройте «Мой компьютер» и щелкните правой кнопкой по значку диска D. Выберите пункт меню «Свойства» - сразу же откроется окно с информацией о логическом диске. Найдите, что написано напротив слов «Файловая система». Необходимо, чтобы это была система NTFS - именно она поддерживает разделение прав доступа. Если система FAT32, то можно отформатировать логический диск в системе NTFS. Только не забудьте важный момент - форматирование удаляет все данные с диска.
  • Предположим, у вас права администратора компьютера, и файловая система подходящая - NTFS. Найдите файл, который нужно защитить от удаления. Щелкните правой кнопкой на значке файла и выберите меню «Свойства». Появится окно с разными закладками, в которых найдите и выберите закладку «Безопасность».
  • В верхней половине вы увидите список групп пользователей, у которых есть доступ к этому файлу. Чтобы запретить удаление файла, поменяйте права пользователей. Права бывают разных типов, например, «Полный доступ», «Изменение», «Чтение», «Чтение и изменение», «Особые разрешения». Чтобы никто, кроме вас, не мог удалить конкретный файл, подойдет доступ «чтение» - тогда файл можно будет открыть, но нельзя будет удалить его, изменить, повредить (если это текст).
  • Для того чтобы разграничить права доступа к файлу, нажмите кнопку «Изменить». Появится почти такое же окно: в верхней части перечислены пользователи, в нижней - категории прав доступа. Но с одним отличием: напротив прав будут два столбца - «Запретить» и «Разрешить» - с возможностью проставить галочки напротив каждой строки.
  • Чтобы запретить удаление файла, нажмите на кнопку «Дополнительно», а затем - «Изменить разрешения». Откроется новое окно, в котором снимите галочку с пункта «Наследовать разрешения». Появится окно с предупреждением о снятии наследованных разрешений. Выберите в этом окне кнопку «Удалить» и подтвердите нажатием кнопки «Применить». После этого повторите пункты 3, 4 и 5, проставьте запрет на полный доступ и нажмите «Применить».
  • Совет добавлен 23 мая 2011 Совет 2: Как запретить удаление При объединении нескольких компьютеров в сеть для осуществления доступа к некоторым папкам необходимо внести соответствующие изменения в настройки этих директорий. Общий доступ к папкам и файлам позволяет выполнять любые действия, которые могут привести к нежелательным последствиям, например, к удалению нужных файлов. Для блокировки файлов требуется сделать запрет на их удаление, причем опция редактирования файлов должна остаться активной.

    Вам понадобится

    • Редактирование настроек общего доступа.

    Инструкция

  • Чтобы создать папку общего доступа, выберите необходимую папку в проводнике, нажмите правой кнопкой мыши на ней, в контекстном меню выберите пункт «Общий доступ и безопасность». В открывшемся окне поставьте отметку напротив пункта «Открыть общий доступ к этой папке», затем отметьте пункт «Разрешить изменение файлов по сети». После нажатия на кнопку «Применить» на экране появится окно, в котором будет отображен процесс изменения атрибута файлов, которые содержатся в выбранной папке.
  • Создали общий доступ к папке, теперь стало возможным редактировать любой файл выбранной папки. Для запрета удаления файла из папки общего доступа необходимо нажать правой кнопкой мыши на папке, в контекстном меню выберите пункт «Свойства». В открывшемся окне перейдите к вкладке «Безопасность». Выберите имя пользователя, под которым вы зашли в систему, нажмите кнопку «Дополнительно».
  • В открывшемся окне, на вкладке «Разрешения», нажмите кнопку «Изменить». В новом окне «Элемент разрешения для папки» поставьте отметки напротив пунктов «Удаление подпапок и файлов» и «Удаление». Затем нажмите кнопку «ОК».
  • На вкладке «Разрешения» нажмите кнопку «Применить». Перед вами появится окно с предупреждением о смене элементов запрета, нажмите кнопку «Да». Затем нажмите 2 раза кнопку «ОК».
  • Откройте папку общего доступа и попробуйте удалить любой файл. После небольшого ожидания появится окно, которое вам сообщит об ошибке удаления файла.
  • Как запретить удаление - версия для печати

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

    Такой вопрос очень актуален для всех пользователей ПК, как опытных так и начинающих. Никто не желает терять важные данные, находящиеся на жестких дисках компьютера, например, в результате неграмотных действий других пользователей, у которых есть доступ к этому ПК, да и своих, в том числе! Бывает, что и профессионалы совершают ошибки, случайно и, к сожалению, безвозвратно удаляя файлы и папки. Вы можете возразить, что удалённые файлы попадают в корзину, откуда их можно благополучно вернуть на место…

    Как видно на скриншоте, в настройках корзины есть вариант удаления файлов безвозвратно, минуя корзину. И есть ещё один момент — файлы могут быть слишком большими и не помещаться в корзину, тогда ОС удаляет их игнорируя последнюю. Бесспорно, в целях сохранности, можно создавать резервные копии важных материалов на компьютере, даже хранить их на съёмных носителях во избежание потери при форс-мажорных обстоятельствах, на сервере своего сайта, на серверах других сайтов, предоставляющих такие возможности, например, на Dropbox, Яндекс и Гугл-дисках, в электронной почте и т.д.

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

    Эта статья содержит описание управления доступом в операционных системах Windows 8, Windows Server 2012 и Windows RT.

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

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

    Обладать правами администратора компьютера (панель управления учетные записи пользователей ).

    Проверить используемую файловую систему. Нажать правой кнопкой мыши на выбранный вами диск и открыть Свойства . Если у Вас файловая система NTFS, то она поддерживает разделение прав доступа:

    Правой кнопкой мыши сделайте щелчок по файлу, который желаете защитить и выберите Свойства . В открывшемся окне выберите вкладку Безопасность . В верхней части обратите внимание на заголовок Группы или пользователи . Выберите группу Пользователи :

    Жмите кнопку Изменить и меняйте разрешения для группы Пользователи . Выбирайте нужный вариант. При желании можно выбрать полный запрет доступа:

    Файл ни открыть, ни повредить или удалить не удастся. При попытке открытия будет появляться предупреждение:

    Возвращение файла (папки)

    1 . Для открытия доступа к файлу (папке), обладая правами администратора, нажимайте правую кнопку мыши, выбирайте Свойства → Безопасность … Производите все действия в обратном порядке. Здесь ничего сложного.

    2 . Если Вы выбирали вариант Полный запрет , то при попытке вернуть права и при открытии вкладки Безопасность , может открыться окно в котором пишут, что нам нужно получить разрешение на чтение. Жмем кнопку Дополнительно :

    3 . Открывается окно, читаем информацию на вкладке Разрешения , жмем кнопку Продолжить :

    4 . В очередном открывшемся окне на вкладке Разрешения смотрим на записи разрешения и в строке, где Запрещено Пользователи …, делаем двойной щелчок мышью, или выделяем запись и жмем кнопку Изменить :

    5 . Во вновь открывшемся окне в самом верху меняем тип: Запретить на Разрешить и смотрим, чтобы стояли все галки в Общих разрешениях и жмем везде ОК и Применить :

    Запрет на удаление позволяет бессрочно хранить данные в связи с юридическими или другими обязательствами.

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

    Важная информация о Диске и запретах на удаление

    Файлы, на которые распространяется запрет на удаление, видны пользователям.

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

    Зона действия запрета зависит от того, как он настроен

    • Запрет на удаление данных на Диске применяется к файлам, принадлежащим пользователю или организации, которые добавлены в этот запрет, а также к файлам, к которым этому пользователю или организации предоставлен непосредственный доступ. Сюда же относятся файлы на общих дисках, к которым предоставлен непосредственным доступ пользователю, независимо от того, является ли он участником диска.
    • Если запрет применяется к общим дискам, он также применяется и к общим дискам, участниками которых являются подпадающие под действие запрета пользователи.
    • Нельзя установить запрет на общий диск. Вместо этого настройте запрет для участников этого диска и установите флажок Применять к общим дискам .
    При каких условиях запрет на удаление данных на общих дисках не действует?

    Файлы на общих дисках не сохраняются в перечисленных ниже случаях.

    • Участник общего диска:
      • перемещает файл с общего диска, и этот участник не добавлен в запрет;
      • удаляет из общего диска единственного из участников, в отношении которого действует запрет.
    • Ни один из участников общего диска не добавлен в запрет на удаление данных.

    Как установить запрет на удаление данных Диска

    1. Создайте или откройте папку , которая будет содержать запрет.
    2. Нажмите Создать запрет .
    3. Укажите уникальное название запрета.
    4. Выберите Диск .
    5. Укажите, на кого будет распространяться запрет:
      • Аккаунты. Введите адреса электронной почты нужных пользователей.
      • Организация. Выберите подразделение из раскрывающегося списка.
      • Установите флажок Включать файлы со связанных общих дисков . Тогда запрет будет распространяться на тот контент общих дисков, который доступен нужным пользователям, а не только на их собственные данные на Диске.
    6. Нажмите Сохранить .

    Как изменить параметры запрета

    Вы можете изменить отдельные параметры запрета, но не тип данных.