Ошибки «Отказано в доступе» для некоторых файлов в общей папке

Ошибки «Отказано в доступе» для некоторых файлов в общей папке

У меня система XP Pro, использующая Simple File Sharing. Общий доступ включен для определенной папки, а также «Разрешить сетевым пользователям изменять мои файлы».

При копировании (чтении) общих файлов с другого компьютера некоторые из них (около 20 из 1000) выдают ошибку «Отказано в доступе». Ни одна программа не открывает файлы.

Мне нужно перейти на машину, которая делится файлами, и запустить

CACLS C:\MySharedFolder\*.* /T /e /g Everyone:c

Это решает проблему, и все файлы становятся доступными. Но неудобно запускать эту команду. Через несколько дней или недель ошибка возвращается.

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

решение1

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

решение2

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

Вот как выглядят права доступа к «плохому» файлу в CACLS (права доступа не позволяют копировать его с другого компьютера):

C:\...\Mail\descmap.pce BUILTIN\Administrators:F
                        NT AUTHORITY\SYSTEM:F
                        MARS\Tim:F
                        BUILTIN\Users:R

Вот как выглядит «хороший» файл:

C:\...\Mail\In.mbx Everyone:C
                   BUILTIN\Administrators:F
                   NT AUTHORITY\SYSTEM:F
                   MARS\Tim:F
                   BUILTIN\Users:R

Вот как выглядят разрешения для папки «Почта» (родительской):

C:...>cacls mail
C:...\Mail Everyone:(OI)(CI)C
           BUILTIN\Administrators:F
           BUILTIN\Administrators:(OI)(CI)(IO)F
           NT AUTHORITY\SYSTEM:F
           NT AUTHORITY\SYSTEM:(OI)(CI)(IO)F
           MARS\Guest:F
           CREATOR OWNER:(OI)(CI)(IO)F
           BUILTIN\Users:R
           BUILTIN\Users:(OI)(CI)(IO)(special access:)
                                     GENERIC_READ
                                     GENERIC_EXECUTE

           BUILTIN\Users:(CI)(special access:)
                             FILE_APPEND_DATA

           BUILTIN\Users:(CI)(special access:)
                             FILE_WRITE_DATA

Атрибуты "Everyone:C" и "BUILTIN\Administrators:F" каким-то образом удаляются из проблемных файлов. Разные файлы затрагиваются в разное время. Кажется, нет никакой последовательности.

решение3

Это не решение, а просто возможность сравнить мнения...

У меня почти такая же проблема. Однако в моем случае у меня был идентификатор пользователя, который входил на сервер Samba-3, выступающий в качестве PDC (поэтому у меня есть машины, присоединенные к домену).

Этот идентификатор пользователя мог получить доступ к файлу с WinXP box, но на машине Win7-PRO они получали ошибку «Доступ запрещен». Файл не перемещался из общего ресурса в общий ресурс или из папки в папку. Это была просто публичная папка, к которой имели доступ все в компании.

Я перепробовал все способы решения проблемы, и единственное, что я обнаружил, — это повторная установка на рабочей станции чистой копии Windows-7. Это решило проблему.

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

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

Это было так, будто эта одна рабочая станция с Windows 7 вызывала проблему с идентификатором пользователя, которая затем распространялась с этим идентификатором пользователя на другие рабочие станции с Windows 7.

Переустановка одной рабочей станции Win-7 решила проблему.

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