Как сделать папку доступной только для чтения в Windows?

Как сделать папку доступной только для чтения в Windows?

Поэтому я хочу запретить себе писать в некоторые файлы в папке. Я всегда работаю с папками резервных копий, в которых я сравниваю, переношу данные в целевые проекты. Проблема в том, что иногда по ошибке я редактирую файлы резервных копий. Есть ли способ запретить себе редактирование/запись? Я не хочу, чтобы файлы переименовывались/удалялись. Установка флага «только для чтения» для папки — это то, что абсолютно ничего не делает — после этого я снова могу редактировать/удалять файлы без проблем (по крайней мере, в Win 8.1). Это очень важно для меня — потому что на данный момент я испортил много файлов резервных копий таким образом, и это доставляет мне массу хлопот. Есть идеи?

Я использую последнюю версию Windows 8.1 x64.

решение1

Оригинальный ответ:

Если это NTFS, вы можете использовать функцию безопасности файловой системы.

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

  2. Убедитесь, что UAC включен.

Теперь, когда вы попытаетесь редактировать/добавлять/удалять что-либо внутри этой папки, UAC выдаст предупреждение; вы даже можете установить более высокий уровень, при котором вам придется вводить пароль каждый раз.

Редактировать: Описанный выше метод — это простое и надежное руководство, которое применимо только к Windows Vista+ и требует прав администратора, а также незащищенных настроек безопасности файлов/папок.

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

Предположим, что ваша обычная рабочая учетная запись — A, а другая «безопасная» учетная запись — B. Вы можете назначить владельцем папки B и предоставить ей полные привилегии (не забудьте отметить «заменить все разрешения дочерних объектов на разрешения, наследуемые от этого объекта»), затем добавить учетную запись A как доступную только для чтения, и теперь вы сможете писать в нее только с помощью учетной записи B, при этом продолжая читать/использовать ее в повседневной учетной записи A.

Без прав администратора вы не сможете удалить администратора из списка доступа, а также изменить владельца, если он был администратором. Но этот метод должен работать в любом случае, также если вы создаете папку, владельцем по умолчанию должны быть вы.

P.S. Все вышеизложенное основано на моем опыте, буду рад советам, если у вас есть лучший метод.

решение2

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


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

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

Ниже представлен пакетный скрипт с %userdomain%\%username%переменными среды для определения текущего домена (или имени локальной машины) и имени пользователя, вошедшего на машину, от имени которой вы запускаете пакетный скрипт (например, <domain>\<username>), чтобы запретить доступ к учетной записи; при необходимости его можно легко заменить любым допустимым именем группы безопасности домена (например, <domain>\<securitygroupname>).

Пакетный скрипт

Замените значение переменной Folder=на полный явный путь к папке (или UNC-путь) к нужному месту, чтобы сделать существующие файлы доступными только для чтения.

@ECHO ON

SET Folder=C:\Users\User\Desktop\Test
SET Security=%userdomain%\%username%

ICACLS "%Folder%\*" /deny "%Security%":(OI)(WA)
EXIT

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

введите описание изображения здесь

Вот папка с тестовыми документами V1, V2 и т. д., для которых уже был запущен пакетный скрипт.

введите описание изображения здесь

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

введите описание изображения здесь

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

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

введите описание изображения здесь


Дополнительные материалы и ресурсы

  • Переменные среды

  • ICACLS

    /deny Sid:perm explicitly denies the specified user access rights.
        An explicit deny ACE is added for the stated permissions and
        the same permissions in any explicit grant are removed.
    
    WA - write attributes
    
    
        inheritance rights may precede either form and are applied
        only to directories:
    (OI) - object inherit
    

решение3

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

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

Откройте командную строку и введите команду, attrib +r [path]используя подстановочный знак*

решение4

Щелкните правой кнопкой мыши по папке, выберите «Свойства», в разделе «Атрибуты» установите значение «Только чтение», выберите «Применить».

Это сделает все файлы в этой папке (и вложенных папках, если вы выберете) доступными только для чтения. Когда вы попытаетесь сохранить файл R/O, программа предложит вам сохранить его под другим именем

Связанный контент