Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Windows 7 (http://forum.oszone.net/forumdisplay.php?f=95)
-   -   как запретить удаление папки (http://forum.oszone.net/showthread.php?t=353313)

megabyte1 24-03-2023 23:02 3006118

как запретить удаление папки
 
как запретить удаление папки? но внутри папки оставить разрешённым удаление подпапок.
почему я ставлю на папку разрешения в "безопасности" - запретить удаление, "всем", "только для этой папки" (а не для подпапок и файлов), а от администратора - удалить могу?
у "система" и "администраторы" - полный доступ ("для этой папки, подпапок и файлов"), но "элементы запрета имеют более высокий приоритет, чем элементы разрешения".

Avatar-Lion 24-03-2023 23:11 3006119

Владельца смените на соответствующей вкладке. Не уверен, правда, что тогда останется доступ к содержимому папки.

megabyte1 24-03-2023 23:22 3006120

владельца менял на администраторы, система, и обратно на пользователя.


Avatar-Lion 24-03-2023 23:57 3006122

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

bredych 25-03-2023 01:05 3006128

Цитата:

Цитата megabyte1
владельца менял на администраторы, система, и обратно на пользователя. »

на другого пользователя. НЕ себя.

megabyte1 25-03-2023 01:44 3006133

непустая папка - тоже не работает.
и на другом ПК - тоже.

Avatar-Lion 25-03-2023 15:23 3006178

Пощупал сейчас всю эту тему более детально... Короче, неудобный это вариант, забейте на него. Сделать папку неудаляемой можно только при условии, что и объекты внутри нее будут неудаляемыми. В итоге вам придется либо вручную каждые N месяцев снимать запрет и чистить мусор, либо смириться с бесконечным ростом папки.

Если так интересно, то все упирается в галочку "Содержание папки / чтение данных". Если ее снять, то удалить папку нельзя будет. Но и доступа внутрь тогда не будет. Как только мы эту галочку обратно ставим, доступ внутрь папки снова появляется - и вместе с доступом появляется возможность удалить папку. Что очень странно, поскольку разрешение на чтение содержимого объекта не должно приводить к возможности удаления этого самого объекта. А оно приводит. Вывод: баг.

megabyte1 26-03-2023 08:36 3006213

спас.
хотя если внутрь положить одну "неудаляемую папку", и запретить ей полный доступ, тогда не удаляется.
но если запретить "чтение/запись разрешений", и "смену владельца", тогда, получается, сам не отменишь.
и он может выдавать ошибки на установку разрешений, но всё равно изменяется.
кто может отменить разрешения, если всем запрещено?

а если сделать не с папкой, а с junction, то не работает.
в принципе, и не важно, но пригодится.

если интересно, то дело было не так, а так:

Цитата:

If you need to reclaim this space, your safest bet is to avoid "deleting" anything, but to instead, move this folder and all it's files.
<>
Once moved, in order to "link" the old mount point/location (in most cases C:\ProgramData\Package Cache\), you simply create a directory junction to it.
Цитата:

Did the trick with moving to another drive and making a junction. Running VS2015 SP3 installer today, the installer caused the junction to devolve to a normal directory (possibly when uninstalling an older version of some component, it recursed through "empty" parent directories removing them -- there are known problems with junctions and naive empty directory tests). So it placed new components in C:\ProgramData\Package Cache and then failed to find items in the new location where the junction formerly pointed. Just a warning to future readers the junction may need to be re-established.
Цитата:

As a more permanent fix, use NTFS permissions and deny "delete" permission on the junction itself.
но это не работает

DJ Mogarych 26-03-2023 23:28 3006247

https://superuser.com/questions/1696...ted-in-windows
https://alternativeto.net/software/folder-protect/

Ну и вообще https://www.google.com/search?q=prot...+from+deletion

megabyte1 27-03-2023 01:55 3006254

почему тогда сразу не так?
https://www.google.com/search?q=did+...+but+i+condemn

megabyte1 27-03-2023 15:05 3006278

на самом деле, не так, а так:
https://mskb.pkisolutions.com/kb/152763
Цитата:

Windows NT supports a hidden permission called File Delete Child (FDC) on NTFS volumes. Users who have full control permission on a volume or directory also have the FDC permission. This permission allows a user to delete files at the root level of the directory where they have full control, even if they do not have any permissions on the specific file itself.
Цитата:

I have found another difference.

Symbolic Link - Link's permissions only affect delete/rename operations on the link itself, read/write access (to the target) is governed by the target's permissions
Junction - Junction's permissions affect enumeration, revoking permissions on the junction will deny file listing through that junction, even if the target folder has more permissive ACLs
вместо junction - делаем symlink, запретить доступ, "Все", "Полный доступ", "Для этой папки, её подпапок и файлов", а потом меняем владельца на non-admin, и non-user

а теперь - повторить, только с обычной папкой.

bredych 28-03-2023 08:35 3006312

"но если запретить "чтение/запись разрешений", и "смену владельца", тогда, получается, сам не отменишь."
на юзера, которым не будешь пользоваться, и который для верности дисейблнут, чтоб не мешал.
Будет надо - включишь его.

Avatar-Lion 28-03-2023 13:13 3006316

Вообще, мне видится довольно-таки бессмысленным запрет на удаление папки, если при этом можно будет удалять любые элементы внутри нее. :)

bredych 28-03-2023 16:40 3006320

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

а еще можно издевательство типа батника с циклом "if not exist, mkdir", повешенного на событие логона. И пусть удаляет хоть до муркиного заговения..


Время: 13:32.

Время: 13:32.
© OSzone.net 2001-