How to Forcibly Close an Open File on a SMB Share?
To close an open file, find it in the list of files in Open File section and select Close Open File in the context menu.
If there are hundreds of open files on your file server, it won’t be easy to find the specific file in the console. It is more convenient to use the Openfiles command line tool. As we have already told, it returns the session ID of the open file. Using this session ID you can force close the file by resetting the SMB connection.
First, you need to find the session ID of the open file:
Disconnect the user from file using the received SMB session ID:
You can forcefully reset all sessions and unlock all files opened by a specific user:
Note. Forcibly closing a file opened by a client on an SMB server may result in the loss of unsaved data. Therefore, use the command or the cmdlet (discussed below) very carefully.
Описание проблемы
Есть RDS ферма из 15 хостов подключений на Windows Server 2012 R2. Сервера на то они и сервера, что работают постоянно. Если у вас на ферме не настроены тайм ауты времени беспрерывной работы, то пользователи могут неделями или месяцами висеть в авторизованных подключениях. Логично предположить, что это не очень хорошо и ведет к различным последствиям, одно из которых, это полное зависание сеанса, при котором человек не может подключиться к терминальному серверу и видит сообщение «Работает служба профилей пользователей» или еще вариант «Не удается завершить требуемую операцию», я уже не говорю про повреждение пользовательского профиля. В результате того, что RDS брокеры видят. что пользователь уже залогинен, они не дают ему переподключиться к другому Session Host серверу, даже если вы закроете на текущем новые подключения. Пока вы не сделаете выход пользователя из системы для этой сессии, она так и будет мешать. Давайте разбираться, как это делать.
Как определить дату последнего обращения к файлу или папке в Windows
Дата последнего обращения к файлу или папке — очень важный параметр, особенно когда начинаешь удалять ненужные файлы с диска. Иной раз видишь файл с довольно важным на первый взгляд названием и думаешь, нужен он или нет. Если в этот момент знать, что файл уже 3 года лежит и его никто не трогает, то вопрос решился бы быстрее.
Рис.1. Запуск консоли от имени администратора
Windows не хранит по умолчанию дату последнего доступа к файлу, поскольку это сильно скажется на производительности. Потому для включения этого параметра потребуются не только права администратора, но и некоторые навыки работы с консолью, чтоб снизить риск случайного нажимания пальцами куда не надо.
Для включения сохранения информации о дате последнего доступа к файлу потребуется включить соответствующий параметр. Чтобы определить, включен параметр сохранения и отслеживания информации о дате последнего доступа к файлу или нет, нужно в консоли, запущенной от имени администратора (Рис.1), ввести команду:
fsutil behavior query disablelastaccess
Если значение выключено, то результат будет такой:
DisableLastAccess = 1
Чтобы включить сохранение информации о дате последнего доступа к файлу, нужно в консоли ввести команду:
fsutil behavior set disablelastaccess 0
Рис.2. Включение поддержки сохранения информации о дате последнего доступа к файлу
Соответственно, для отключения параметра нужно изменить значение с 0 на 1:
fsutil behavior set disablelastaccess 1
После присвоения параметру disablelastaccess значения 1 можно посмотреть дату последнего обращения к файлу в Windows через обычный проводник. По умолчанию проводник ее не показывает, ограничиваясь такими полями как Имя, Дата изменения, Тип и Размер (Рис.3.). Но заставить отображаться еще один столбец – не проблема.
Рис.3. Отображаемые столбцы в проводнике по умолчанию
Чтобы показывать дату последнего обращения к файлу в проводнике Windows, нужно нажать правой кнопкой мыши на строку с названиями отображаемых полей, в контекстном выпадающем меню нажать на кнопку «Подробнее» (Рис.4).
Рис.4. Добавление нового поля в Проводнике Windows, шаг 1
В открывшемся окне будет показан список полей, которые можно добавить для отображения в проводнике. После манипуляций с консолью появится новое поле «Дата доступа» (Рис.5).
Рис.5. Добавление нового поля в Проводнике Windows, шаг 2.Новое поле Дата доступа
Теперь в проводнике при выбранном режиме отображения «Таблица» (как переключиться показано на Рис.7) будет отображаться поле Дата доступа, в котором показана дата последнего обращения к файлу (Рис.6).
Рис.6. Отображение табличного представления с полем Дата доступа
Рис.7. Переключиться к виду Таблица в проводнике
Если после добавления отображения поля «Дата доступа» в консоли отключить параметр отслеживания даты последнего изменения (fsutil behavior set disablelastaccess 1), то из представления столбец автоматически не пропадет, только будет показывать неверную информацию.
- 14 июля 2016, Alexey
- Windows и программы
- Тэги: windows, windows 10, Windows 8, консоль
Для чего отключать smb v1
Расскажу небольшую предысторию о появлении вирусов wannacrypt и petya. В начале 2017 года, одна хакерская команда, смогла взломать службу АНБ и похитить у нее данные, о всевозможных лазейках в компьютерных системах, благодаря которым можно получать удаленный доступ к нужному компьютеру и следить за жертвой, получая о ней все данные. Среди этих дыр безопасности, были лазейки для:
- Vmware ESXI 5 и выше
- Microsoft Windows XP и выше
- Linux системы
- Сетевое оборудование
Хакеры попытались продать все сворованное, но в итоге покупателей не нашли, не долго думая они выложили все это в сеть, тут и понеслось, другие хакеры и группы, быстро все это дело понахватали и создали свои вирусы, их очень много, но вот за май и июнь 2017 года, мир выучил названия двух, petya и wannacry (wannacrypt). Оба они используют старую уязвимость в протоколе smb v1, являющийся частью операционных систем Windos XP, вплоть до Windows 10, но у десятки все лучше, там по умолчанию работает версия SMB 3.1.1, поэтому она пока спит спокойно.
Вот посмотрите как выглядит экран блокировки после вируса petya. У пострадавшего компьютера просят 300 долларов в биткоинах, ни в коем случае не отправляйте деньги, вы ничего не получите, так как изначально данная зараза не включала в себя разблокировку.
А вот как выглядит экран после заражения wannacrypt. Как и в случае с Петей, все данные зашифрованы и уже являются цифровым мусором.
Что нужно чтобы не стать жертвой шифровальщиков
Давайте я приведу небольшой чек лист, который вам поможет сделать вашу систему более защищенной:
- Своевременно устанавливайте обновления в системе, так как это основная проблема большинства пораженных компьютеров
- Не устанавливайте не проверенный софт
- Посещайте только проверенные веб ресурсы
- Закройте лишние порты на фаэрволе
- Не открывайте электронные письма от неизвестных людей.
Как выкинуть пользователя из оснастки управления RDS
И так, у меня есть мой любимый, тестовый пользователь в Active Directory, по имени Барбоскин Геннадий Викторович. Предположим, что он зашел на терминальный стол и нам по причине зависания его сессии, нужно сделать ему выход. Первый метод, это использование оснастки по управлению RDS фермой, я вам рассказывал, как ее собирать. Открываем раздел с вашей коллекцией RDS фермы. В поисковом фильтре указываем логин или фамилию нужного сотрудника. В результате получаем хост, где он работает.
Щелкаем по нему правым кликом. В контекстном меню будет пункт «Выйти», это и соответствует завершению сессии (Log off). Так же есть пункт «Отключиться», если выберите его, то пользователь будет выброшен с терминального сервера, но его сессия останется на нем, данная операция равносильна тому, если пользователь просто нажал в окне с названием терминального сервера крестик.
После того, как вы выбрали пункт «Выйти», начнется корректное завершение сессии пользователя на RDS ферме. Сам пользователь увидит сообщение «Работает служба профилей пользователей» и у него закроется окно без ошибки.
Разрешения Linux для доступа без пароля
Во-первых нужно установить полные права на папку Linux, которая будет
сетевой. Полные права доступа на папку в Linux это разрешение на исполнение
и запись для: владельца, группы и всех остальных. В Linux
широко используется цифровое сокращение для
обозначения прав доступа — полный доступ для папки это 777. Если такие права
не установить на папку, тогда сетевые пользователи либо не смогут войти в
эту папку, либо не смогут в ней создавать новые файлы или папки.
Установить разрешения на файл (папку) в Linux
можно через файловый менеджер (через свойства папки) или в терминале, программой
chmod.
Во-вторых.
Если ограничиться только лишь настройкой Samba и установкой разрешений
на папку, тем не менее
возможно появление проблем с доступом к отдельным файлам в этой сетевой папке
Linux.
В двух случаях:
- если локальный пользователь Linux войдет в
эту папку через файловый менеджер и создаст в ней новый файл; - если локальный пользователь Linux
скопирует в эту папку файл из другой своей локальной папки.
В обоих случаях новый файл будет недоступен для редактирования сетевыми
пользователями. Почему это произойдет? Новый файл получит права доступа
Linux 644,
то есть полный доступ только для владельца файла. А если файл будет
скопирован из другой папки, то он сохранит свои права и после копирования.
Что делать для решения этой проблемы?
Есть разные способы решения. Кто-то советует периодически
(например по заданию cron) изменять права всем файлам в
папке на 666 (права полного доступ для всех без исключения). Это работает, но на мой взгляд не
вариант. Я считаю что такое присвоение прав должно происходит автоматически,
без лишних телодвижений.
Другие люди советуют включить ACL на файловой
системе Linux и затем указать
ACL по умолчанию для сетевой папки (со значением 777).
Это работает,
но только наполовину. Если локальный пользователь сам создаст новый файл,
этот файл получит атрибуты 666. Но если локальный пользователь скопирует
файл из другой папки, то файл сохранит свои старые атрибуты.
Однако есть два способа которые полностью решают проблему.
Первый способ, самый простой.
Локальному пользователю, нужно заходить в сетевую папку тоже через сеть!
В этом случае все его операции в папке будут проходить через сервер
Samba. А Самба настроена на полный доступ.
Достоинство этого способа в том, что ничего не нужно делать
дополнительно. Недостатка два:
- Скорость файловых операций для локального пользователя будет ниже
чем если бы он зашел в сетевую папку обычным образом. - Локальный пользователь может забыть и войти в папку обычным образом.
Второй способ — настройка сетевого доступа через bindfs
Использовать bindfs. Для этого нужно установить этот пакет и затем
вручную или автоматически смонтировать сетевую папку через bindfs.
Вот пример автоматического монтирования через fstab:
bindfs#/home/user/lan
/home/user/lan fuse perms=0777 0 0
В примере папка монтируется сама в себя, но можно указать другую точку
монтирования
Важно указать параметр монтирования perms=0777
— это полный доступ на все файлы и папки
При использовании bindfs, способ доступа к папке уже не имеет
значения, локально выполняется операция или через сеть, в любом случае у
объектов внутри этой папки будут атрибуты полного доступа.
В этом случае параметры create mask и directory mask в
файле smb.conf уже не нужны.
Как просмотреть открытые файлы в Windows Server (2008, 2012 и 2016)
Бывают случаи, когда файл открыт на сервере Windows, и вам нужно посмотреть, какой пользователь или процесс открыл его. Эти открытые файлы могут быть заблокированы и препятствовать редактированию пользователями, вызывать ошибки при обновлении программного обеспечения, задерживать перезагрузку и так далее.
В этой статье я покажу вам, как быстро просмотреть открытые файлы на сервере Windows и рабочих станциях.
Оба метода используют встроенные инструменты Windows и работают в большинстве версий Windows (я тестировал это на Server 2008, 2012, 2016 и Windows 10).
Видеоурок
Если вам не нравятся видео или вам нужна дополнительная информация, продолжайте читать.
Рекомендуемый инструмент: Анализатор разрешений SolarWinds
Теперь вы можете быстро увидеть, КТО имеет разрешение на ЧТО, и ответить на вопросы, которые отнимают ваше время и терпение.
SolarWinds FREE Permission Analyzer определит действующие разрешения NTFS пользователя для доступа к конкретному файлу, папке или общему сетевому ресурсу.Результаты отображаются на изящной панели инструментов рабочего стола.
Загрузите БЕСПЛАТНУЮ копию анализатора разрешений
Метод 1. Используйте Управление компьютером для просмотра общих файлов / папок
Этот первый метод используется для просмотра открытых файлов в общей папке. Это лучший способ устранения проблем с заблокированными файлами, которые пользователи оставили открытыми. Если вам нужно узнать, в каком процессе открыт файл, воспользуйтесь методом 2.
Шаг 1: Щелкните правой кнопкой мыши меню «Пуск» и выберите «Управление компьютером»
Другой способ получить доступ к управлению компьютером — ввести команду compmgmt.msc в поле поиска меню «Пуск».
Вам нужно будет открыть эту консоль на компьютере или сервере, на котором есть общая папка. Например, у меня есть сервер с именем file1 с общей папкой HR. Чтобы увидеть открытые файлы на этом общем ресурсе, мне нужно будет открыть консоль управления компьютером с сервера file1.
Шаг 2: Щелкните Общие папки, затем щелкните открытые файлы
Теперь я вижу, что у пользователя rallen есть папка HR и файл adpro.txt открытый.
При необходимости я могу щелкнуть файл правой кнопкой мыши и выбрать «Закрыть открытый файл». Это то, что нужно сделать, когда файл заблокирован.
Это все для метода 1.
Если вам нужно проверить, у кого есть права доступа к файлу или папке, ознакомьтесь с моим руководством Как просмотреть действующие разрешения NTFS.
Методы 2: просмотр сведений о процессе и файле с помощью монитора ресурсов
Шаг 1: Введите монитор ресурсов в поле поиска меню «Пуск»
Это самый быстрый способ доступа к монитору ресурсов.
Другой вариант — открыть диспетчер задач, щелкнуть вкладку производительности и затем щелкнуть «Открыть монитор ресурсов».
Шаг 2: Щелкните вкладку диска в мониторе ресурсов
Теперь, когда у меня открыт монитор ресурсов, мне просто нужно щелкнуть вкладку диска.
Теперь я могу видеть всевозможные подробности о дисковой активности, такие как открытие файлов, PID, чтение и запись байтов в секунду и многое другое.
Вы можете перемещать столбцы, чтобы видеть полный путь к файлу.
При большой активности диска остановите мониторинг в реальном времени, чтобы можно было просмотреть активность открытых файлов.
Чтобы остановить мониторинг в реальном времени, перейдите в режим мониторинга, затем выберите «Остановить мониторинг».
Если вам понравилась эта статья, то, пожалуйста, подпишитесь на наш канал YouTube для получения дополнительных руководств по Active Directory.
Рекомендуемый инструмент: SolarWinds Server & Application Monitor
Эта утилита была разработана для мониторинга Active Directory и других важных служб, таких как DNS и DHCP.Он быстро обнаруживает проблемы с контроллером домена, предотвращает сбои репликации, отслеживает неудачные попытки входа в систему и многое другое.
Что мне больше всего нравится в SAM, так это простая в использовании панель управления и функции оповещения. Он также имеет возможность контролировать виртуальные машины и хранилище.
Загрузите бесплатную пробную версию здесь
Требования к оборудованию
Для обеспечения прозрачной отказоустойчивости SMB необходимо соблюдать следующие требования.
- Отказоустойчивый кластер под управлением Windows Server 2012 или Windows Server 2016 по крайней мере с двумя настроенными узлами. Кластер должен пройти проверочный тест для кластеров, входящий в состав мастера проверки.
- Файловые ресурсы должны быть созданы со свойством «Постоянная доступность» (CA), что является настройкой по умолчанию.
- Файловые ресурсы нужно создавать на путях к тому CSV, чтобы обеспечить масштабирование SMB.
- Клиентские компьютеры должны работать под управлением Windows 8 или Windows Server 2012, которые содержат обновленный клиент SMB, поддерживающий постоянную доступность.
Примечание
Клиенты нижнего уровня могут подключаться к общим папкам со свойством «Постоянная доступность», но для таких клиентов прозрачная отказоустойчивость не поддерживается.
Для поддержки многоканальности SMB необходимо соблюдать следующие требования.
- Требуются по меньшей мере два компьютера под управлением Windows Server 2012. Установки дополнительных компонентов не требуется — эта технология включена по умолчанию.
- Сведения о рекомендуемых сетевых настройках см. в подразделе «Дополнительные сведения» в конце этого раздела.
Для поддержки прямой технологии SMB необходимо соблюдать следующие требования.
- Требуются по меньшей мере два компьютера под управлением Windows Server 2012. Установки дополнительных компонентов не требуется — эта технология включена по умолчанию.
- Сетевые адаптеры с поддержкой RDMA. На данный момент существует три типа таких адаптеров: iWARP, Infiniband и RoCE (RDMA over Converged Ethernet).
Как исправить 1231 ошибку передачи данных?
Прежде всего, необходимо «локализовать» проблему — определить, возникает ли 1231 ошибка подключения по вине провайдера, или «корень зла» надо искать в неполадках своего компьютера.
Для этого в командной строке «Пуск – Выполнить – cmd» необходимо ввести команду:
net view \domain:Имя_домена, где и мя домена — наименование домена, который предоставил вам провайдер для настройки интернет-подключения (вместе с логином и паролем).
Если после нажатия клавиши Enter, система выдает 53 ошибку, то сбой подключения с кодом 1231 произошел по причине технических проблем на стороне провайдера, и вам необходимо обратиться в круглосуточную службу поддержки вашего оператора.
Если же команда net view проходит без подобных оповещений, то ошибка 1231 возникла вследствие внутренних проблем на вашем компьютере.
В таком случае для устранения сбоя «сетевая папка недоступна» рекомендуется:
— отключить автоматическое обновление системы безопасности на ОС Windows 7, 8 и Vista и установить в «Параметрах обновления» пункт «Предоставить мне выбор установки обновлений». Как правило, код 1231 «радует» пользователей именно этих ОС, вследствие того, что автоматическое обновление здесь часто блокирует VPN подключение.
— проверить систему хорошей антивирусной программой: нередко даже небольшой вирус блокирует на компьютере любое подключение к интернету;
— проверить «Подключение по локальной сети». Для этого зайдите в «Пуск – Панель управления – Центр управления сетями и общим доступом – Изменение параметров адаптера»
и дважды щелкнув мышкой по значку «Подключение» проверьте состояние подключения к сети. Если подключение – «Отключено», то следует его «Включить».
- — проверить работоспособность сетевой карты;
- — удалить и заново установить с диска драйвер сетевой карты.
В случае, если ни один из перечисленных методов не возымел должного эффекта, а до этого вы успешно подключались к интернету с данной ОС, рекомендуется выполнить восстановление системы из резервной копии (если таковая имеется), или полностью переустановить windows 7 на данном компьютере.
При настройке локальной сети на Windows 7,8 и 10 требуется правильно назначать доступы пользователям и настраивать службы. Иначе возникает сетевая ошибка с кодами 0x800070035, 0x80004005 или 0x800704cf и появляется сообщение, что Windows не удается получить доступ к нужной сетевой папке, диску, устройству или файлу.
Сообщение об ошибке, в зависимости от версии ОС, может выглядеть следующим образом:
- Windows не может получить доступ к компьютеру в локальной сети. Не найден сетевой путь. Код ошибки:
- Windows не может получить доступ к сетевой папке/диску/иному расположению в локальной сети.
- Windows не может получить доступ к *Папка или файл*. Разрешение на доступ к *Путь до папки* отсутствует. Обратитесь к сетевому администратору для получения доступа.