Вредоносное ПО (malware) - это назойливые или опасные программы,...
![Лучшие утилиты для удаления вирусов и вредоносных программ](https://i2.wp.com/webhelper.info/images/danger.jpg)
При удалении папки, будь-то она системная, или осталась после удаления программы, вы можете столкнутся с ошибкой Folder Access Denied. И никакими способами не удалить ее. Я не буду разбирать эту ошибку и искать способы ее устранения — я просто вам дам совет что делать в такой ситуации. Для решения давно уже придуман инструмент под названием Unlocker — данная крохотная утилита способна удалить почти любой файл/папку, который простым способом удалить не получается. Иногда удалить удается сразу, иногда необходима перезагрузка.
Unlocker можно скачать в интернете, есть на каждом углу, но качать рекомендую с проверенных софт-ресурсов.
Пример ошибки Folder Access Denied при удалении системной папки Windows Media Player:
Папку Windows Media Player удалять категорически не рекомендуется, так как она системная и ее удаление может повлиять на работу других программ. Но скажу вам по секрету — я утилитой Unlocker, в целях эксперимента, удалял не только вышеуказанную папку, но и папку Internet Explorer. И даже как-то умудрился удалить Program Files (x86). Разумеется без проблем не обошлось, но это был эксперимент, да и на другом диске был создан образ системы как раз на случай проблем. Образ системы — полная резервная копия всего системного диска. Рекомендую регулярно создавать — при возникновении любых проблем поможет.
Пример похожей ошибки:
Как удалять при помощи Unlocker? Все предельно просто — нажимаете правой кнопкой по файлу/папке, выбираете пункт Unlocker:
Может появиться примерно такое окно:
Я постоянно путаюсь что с этим окном нужно делать. Окно означает что какой-то процесс блокирует удаление папки. Сперва необходимо завершить процесс — это и нужно сделать, нажав на кнопку Удалить процесс. Но в меню слева должно быть указано Удалить — для удаления выбранной папки/файла. Но такое окно появляется нечасто. Мне видимо не суждено понять алгоритм работы.
На этом все. Удачи вам.
19.10.2017Утром в службу поддержки обратился один из разработчиков корпоративного приложения. Он не мог сделать копию с базы данных MS SQL Server, и просил выяснить причину ошибки.
Первое с чего стоит начать - проверить ошибку на воспроизводимость.
Попробуем снять копию командой:
BACKUP DATABASE TO DISK=N"\\FS1\Backup\sdb_full.bak" WITH COPY_ONLY
Что еще за COPY_ONLY?
WITH COPY_ONLY - очень полезный ключ. Он позволит не нарушить в системе резервного копирования последовательность дифференциальных копий
Действительно, попытка снять копию заканчивалась ошибкой:
Что может вызвать такую проблему?
SQL Server запускается от встроенной учетной записи «Network Service»
На всякий случай проверяем разрешение имени сервера FS1 по короткому имени и по FQDN. Оба имени разрешаются и, что важно, указывают на один и тот же сервер. Открываем сетевую папку, проверяем разрешения на NTFS и Share Permissions. Все в порядке, учетная запись сервера SQL1 имеет разрешение на запись.
Может быть проблемы с NTLM, Kerberos? Попробуем снять резервную копию, используя FQDN сервера.
BACKUP DATABASE TO DISK=N"\\FS1.contoso.test\Backup\sdb_full.bak" WITH COPY_ONLY
Интересно. С использованием FQDN резервная копия успешно создалась. Что это значит? Разве что ситуация стала еще более запутанной.
SQL Server перезапускать в рабочее время нельзя. Оставаться в ночь не хотелось бы.
Когда ничего непонятно, лучший друг администратора - Wireshark или Microsoft Network Monitor. Если снять хороший дамп, то можно или разобраться, или уж запутаться так запутаться.
Ставить на ответственный сервер Microsoft Network Monitor теоретически безопасное мероприятие, но жизнь так часто вносит коррективы в самые безопасные начинания.
Перезагружаться нельзя, ставить монитор нежелательно. Тогда воспользуемся службой Windows Event Tracing .
Включили трассировку:
netsh trace start persistent=yes capture=yes tracefile=c:\temp\trace.etl
Повторили команду резервного копирования несколько раз:
BACKUP DATABASE TO DISK=N"\\FS1\Backup\sdb_full.bak" WITH COPY_ONLY
BACKUP DATABASE TO DISK=N"\\FS1\Backup\sdb_full.bak" WITH COPY_ONLY
BACKUP DATABASE TO DISK=N"\\FS1\Backup\sdb_full.bak" WITH COPY_ONLY
Остановили трассировку:
netsh trace stop
Открываем файл в Microsoft Network Monitor на рабочей станции администратора:
Каждый раз при попытке снятия копии появляется событие KDC_ERR_PREAUTH_REQUIRED с загадочным пользователем DBAdmin. Это не учетная запись сотрудника, администратора, под ней не запускается SQL Server.
KDC_ERR_PREAUTH_REQUIRED означает, что учетные данные неверны.
Но резервное копирование выполняется в контексте службы «MS SQL Server», а она запущена под «Network Service». Причем здесь DBAdmin?
В Windows есть «Диспетчер учетных данных», он же «Credentials Manager», позволяющий сохранять учетные данные для различных сетевых ресурсов. Его можно вызвать командой «control userpasswords2» или «netplwiz»:
Давайте проверим, нет ли в контексте учетной записи компьютера «SQL1\Network Service» сохраненных альтернативных учетных данных для сервера FS1.
Для того, чтобы запустить процесс от имени другого пользователя, воспользуемся psexec.
Если запустить psexec с ключем "-s", мы попадем в контекст «Local System». Не подойдет.
Для того, чтобы попасть в контекст «Network Service» запускаем утилиту со следующими ключами:
psExec.exe -i -u “nt authority\network service” cmd.exe
Проверим, повторяется ли в контексте «Network Service» ошибка Access Denied при обращении к серверу FS1:
Ошибка воспроизводится.
Проверим сохраненные учетные данные. Запустить «control userpasswords2» без колдовства с Explorer не получится. Да и не надо, для работы с «Credentials Manager» из командной строки есть утилита cmdkey.exe.
Для того, чтобы вывести сохраненные учетные данные выполним команду:
cmdkey /list
Никаких сохраненных учетных данных не обнаружено. Еще интереснее.
Итак, что мы знаем на текущий момент:
Если подключить диск с параметром /savecred, то учетные данные сохранятся в Credentials Manager:
Net use \\FS1\Backup /persistent:yes /savecred
Если опустить параметр /savecred, то учетные данные сохранятся в памяти службы до перезагрузки
net use \\FS1\Backup /persistent:yes /user:DBAdmin
Проверим нет ли у нас сохраненных подключений:
net use
Есть! Теперь понятно, почему при обращении к FS1 возвращалась ошибка, а к FS1.contoso.test - нет.
Удалим сохраненные подключения:
Net use * /delete
Проверяем резервное копирование:
Проблема решена.
А в чем же было дело? Причина ошибки весьма нетривиальна. Внутри корпоративного приложения от имени SQL Server был подключен сетевой диск под пользователем DBAdmin, который из-за ошибки в приложении не был в дальнейшем отключен. Спустя некоторое время у пользователя DBAdmin, вероятно сменился пароль, или сервер был перезагружен. И вот он, загадочный Access denied!
Какие для себя можно сделать выводы?
Спасибо за внимание.
Работая с сервисом PayPal, клиент столкнётся с рядом ограничений и запретов. Это касается как новых, так и старых пользователей. Первые ограничения обнаруживаются сразу после регистрации, а при нарушении правил, накладывается блокировка или запрет на доступ к системе. Избежать большинства проблем можно соблюдая требования сервиса и предоставляя запрашиваемую информацию. Разберемся что означает статус PayPal «access denied» или PayPal ограниченный доступ и как поступать в таких случаях.
После создания аккаунта, в платёжном сервисе PayPal, новые клиенты сталкиваются с целым рядом ограничений. К многим операциям в PayPal доступ запрещён. Связанно это с отсутствием важной информации о клиенте. Если пользователь отказался привязать карту или банковский счёт, предоставить личные данные, его аккаунту присуждается статус «Анонимный». Запреты с функций снимаются после получения компанией требуемой информации.
Для клиента, выполнившего все пункты, снимаются все запреты. Перевод средств, принятие платежа, вывод денег, работа с картой и многое другое, становится доступно пользователю с проверенным аккаунтом.
Клиенты, только создавшие аккаунт в системе, часто не могут зайти в PayPal. Причиной, в большинстве случаев, становится неверное введение данных при авторизации. Рекомендуется перепроверить пароль и адрес электронной почты. Если вспомнить правильную информацию не получается, следует нажать на «Не удаётся войти в счёт». С помощью появившегося окна восстанавливается утерянная информация. Для выполнения процедуры потребуется , ответы на проверочные вопросы.
Однако не всегда причина кроется в неверно введённых данных. Ошибка при входе может появиться из-за используемого браузера либо «мусора» в нём. Поэтому, перед тем как рекомендуется почистить кэш, историю и куки. Попробовать стоит и работу с другим браузером.
Согласно своду правил, принятому во время регистрации, компания PayPal способна закрывать доступ на сайт и накладывать любые запреты и ограничения на клиента. Заметив, что какая-то функция сервиса или счёт перестали работать, следует проверить почту. При блокировке или запрете, на имейл пользователя поступает письмо, содержащие информацию о причинах и решении проблемы.
Причины ограничения доступа:
Система не зря считается надёжной. Постоянные проверки и ограничения служат гарантом сохранности денег клиентов. Конечно, под санкции нередко попадают и простые, честные пользователи, не изучившие соглашение. В договоре прописаны все рекомендации, соблюдая которые, можно избежать закрытия доступа на сайте.
Серьёзное нарушение правил влечёт за собой полную блокировку счёта, запрет на дальнейшую работу с системой и получить сообщение: » PayPal, доступ запрещен». Однако полное закрытие доступа на применяется только к мошенникам или при целом ряде несоответствий. На добропорядочных пользователей накладывается только временное ограничение.
Закрывается доступ к:
Любое ограничение или блокировка сопровождается получением письма на почту. В уведомлении указана причина запрета и бумаги, требуемые для его снятия. Для дальнейшей работы с PayPal владельцу необходимо собрать и отправить на рассмотрение все указанные документы.
Система запрашивает:
Собранные бумаги можно выслать через аккаунт или факс. Важно использовать надёжное соединение, чтобы информация не попала в чужие руки. Первый способ проще всего, от клиента требуется войти в аккаунт, загрузить сканы бумаг и нажать «Отправить». Пересылка через факс сложнее, поскольку требует распечатки и заполнения титульной страницы.
Многие пользователи, увидев сообщение: PayPal access denied , что делать не знают, и попадают из-за этого в ловушку мошенников. Каждая блокировка и ограничение сопровождается информирующим письмом. Однако такое уведомление может быть попыткой мошенников украсть аккаунт у напуганного клиента. Сразу следует определить, настоящее письмо или липа.
Нужно обратить внимание на:
Вернуть доступ к системе и её функциям не проблема, главное следовать инструкциям и вести диалог с техподдержкой. Платёжный сервис помогает клиенту на всех этапах снятия ограничений.
еУМЙ РТЙ РПРЩФЛЕ РПДУПЕДЙОЕОЙС Л УЕТЧЕТХ MySQL ЧЩ УФБМЛЙЧБЕФЕУШ У ПЫЙВЛПК Access denied , ФП ЧПУРПМШЪХКФЕУШ РТЙЧЕДЕООЩН ОЙЦЕ УРЙУЛПН. ч ОЕН РЕТЕЮЙУМЕОЩ НЕТЩ, ЛПФПТЩЕ НПЦОП РТЙОСФШ ДМС ТЕЫЕОЙС ЬФПК РТПВМЕНЩ:
Если не удается добиться, чтобы пароль работал, помните, что функция PASSWORD() должна использоваться, если вы задаете пароль с помощью операторов INSERT , UPDATE или SET PASSWORD . Если же вы задаете пароль с помощью оператора GRANT ... INDENTIFIED BY или команды mysqladmin password , функция PASSWORD() не нужна. Обратитесь к разделу See Раздел 4.3.7, «Задание паролей» .
localhost - это синоним имени вашего локального хоста, и, если хост явно не задан, также устанавливаемое по умолчанию имя хоста, к которому клиенты пытаются подключиться. Однако подсоединения к localhost не действуют, если в вашей рабочей системе используются MIT-потоки и MySQL старше версии 3.23.27 (подсоединения к localhost осуществляются с использованием сокетов Unix, а они не поддерживались тогда технологией MIT-потоков). Чтобы в таких системах эта проблема не возникала, следует явным образом задать имя серверного хоста с помощью опции --host . Таким образом будет установлено подсоединение к серверу mysqld по протоколу TCP/IP. В этом случае в записях таблицы user , хранящейся на серверном хосте, должно быть указано реальное имя хоста. (Это справедливо даже для тех случаев, когда клиентская программа и сервер запускаются на одном хосте).
Если при попытке подсоединения к базе данных с помощью команды mysql -u user_name db_name возникает ошибка Access denied , причина этого, возможно, кроется в таблице user . Чтобы проверить это, выполните команду mysql -u root mysql и введите следующий SQL-оператор:
Mysql> SELECT * FROM user;
В результате будет выведена запись со столбцами Host и User , соответствующими имени вашего компьютера и вашему имени пользователя MySQL.
Сообщение об ошибке Access denied информирует вас о том, под каким именем вы пытаетесь войти в систему, об имени хоста, с которого вы пытаетесь установить соединение, и о том, использовали ли вы при этом пароль или нет. Как правило, в таблице user будет одна запись, точно соответствующая имени хоста и имени пользователя, указанным в сообщении об ошибке. Например, если вы получите сообщение об ошибке, в котором сказано Using password: NO , это означает, что вы пытались войти в систему, не указав пароль.
Если при попытке подсоединения не с того компьютера, на котором работает сервер MySQL, а с другого, вы получите сообщение об ошибке, приведенное ниже, то в таблице user отсутствует строка с таким именем хоста:
Host ... is not allowed to connect to this MySQL server
Чтобы исправить эту ошибку, с помощью утилиты командной строки mysql (на серверном хосте!) добавьте строку в таблицу user , db или host с комбинацией имени пользователя/хоста, соответствующей той, которую вы используете при попытке подсоединения. Затем выполните команду mysqladmin flush-privileges . Если вы используете MySQL версии, отличной от Version 3.22, и вам неизвестно имя хоста или IP-адрес компьютера, с которого вы подсоединяетесь, введите в таблицу user запись со значением "%" в поле Host и перезапустите mysqld на серверной машине с опцией --log . Когда соединение с клиентской машины будет установлено, вы найдете в журнале регистрации MySQL информацию об имени хоста, с которого вы подсоединились. (После этого следует заменить в записи таблицы user значение "%" настоящим именем хоста, из журнала регистрации. Иначе ваша система останется незащищенной.)
В Linux причиной такой ошибки может быть то, что бинарная версия MySQL скомпилирована с версией glibc, отличной от используемой вами. В этом случае нужно будет либо обновить ОС/glibc, используемые вами, либо загрузить исходный код MySQL и скомпилировать сервер самостоятельно. Как правило, исходный RPM компилируется и инсталлируется элементарно, так что это не составит серьезной проблемы.
Если будет выдано сообщение об ошибке, в котором имя хоста не указано вообще или указан IP-адрес, хотя вы при попытке подсоединения указывали имя хоста:
Shell> mysqladmin -u root -pxxxx -h some-hostname ver Access denied for user: "root@" (Using password: YES)
то это означает, что ошибка возникает при попытке MySQL сопоставить IP-адрес с именем хоста. В этом случае вы можете выполнить команду mysqladmin flush-hosts , чтобы сбросить внутреннюю кэш-память DNS. Обратитесь к разделу See Раздел 5.5.5, «Как MySQL использует DNS» . Вот некоторые способы решения этой проблемы:
Попробуйте выяснить, что не так с вашим сервером DNS, и устраните неисправность.
Задайте IP-адреса вместо имен хостов таблицах привилегий MySQL.
Запустите mysqld с опцией --skip-name-resolve .
Запустите mysqld с опцией --skip-host-cache .
Подключитесь к localhost если ваш сервер и клиент работают на одном и том же компьютере.
Поместите имена клиентских машин в каталог /etc/hosts .
Если команда mysql -u root test работает успешно, а команда mysql -h your_hostname -u root tes t приводит к ошибке Access denied , то, возможно, в таблице user имя вашего хоста указано неверно. Одна из распространенных проблем здесь заключается в том, что в поле Host записи, хранящейся в таблице user , задается только имя хоста, в то время как процедуры разрешения имен, используемые вашей системой, возвращают полностью определенное доменное имя (или наоборот). Например, если в таблице user имеется запись со значением "tcx" в поле host , а DNS при этом сообщает MySQL, что имя хоста - "tcx.subnet.se" , эта запись действовать не будет. Попробуйте добавить в таблицу user запись, указав в колонке Host IP-адрес хоста. (В качестве альтернативы можно добавить в таблицу user запись со значением в поле Host , содержащим шаблонный символ, например "tcx.%" . Но использовать имена хостов, оканчивающиеся на "%" - небезопасно и делать это не рекомендуется!)
Если команда mysql -u user_name test работает успешно, а команда mysql -u user_name other_db_nam e - нет, то в таблице db нет записи, соответствующей other_db_name .
Если команда mysql -u user_name db_name выполняется успешно на том компьютере, где установлен сервер, а mysql -u host_name -u user_name db_name не работает при выполнении ее на другой клиентской машине, то в таблицах user или db эта клиентская машина не зарегистрирована.
Если не удается выяснить причину ошибки Access denied , удалите из таблицы user все записи, в которых значение в поле Host включает шаблонные символы (записи, содержащие символы " "%" " или " "_" "). Очень распространенной ошибкой является следующая: пользователь вставляет новую запись со значением "%" в поле Host и со значением "some user" - в поле User , полагая, что после этого для подсоединения с той же самой машины он сможет использовать localhost . Такой расчет неверен, и причина здесь в том, что устанавливаемые по умолчанию привилегии включают запись со значением "localhost" в поле Host и пустым полем User . И поскольку в этой записи значение "localhost" более конкретно, чем "%", то именно она при подсоединении с localhost предшествует новой записи и, соответственно, будет выбрана и сработает! Правильным в этом случае будет вставить вторую запись со значением "localhost" в поле Host и значением "some_user" - в поле User или удалить запись со значением "localhost" в поле Host и пустым полем User .
Если вы получите следующую ошибку, то эта проблема, возможно, связана с таблицей db или таблицей host:
Access to database denied
Если в записи, выбранной из таблицы db , столбец Host - пустой, удостоверьтесь, что в таблице host имеется по крайней мере одна соответствующая запись, указывающая, к каким хостам относится запись из таблицы db . Если ошибка возникает при выполнении SQL-команды SELECT ... INTO OUTFILE или LOAD DATA INFILE , то в вашей записи из таблицы user , вероятно, отсутствует разрешение на предоставление привилегии FILE .
Помните, что клиентские программы будут использовать параметры подсоединения, указанные файлах конфигурации или переменных окружения. Обратитесь к разделу See Приложение E, Переменные окружения . Если есть подозрение, что клиент отсылает неверные устанавливаемые по умолчанию параметры подсоединения, в случае, когда вы не задаете их в командной строке, проверьте ваше окружение и файл my.cnf в своей домашней директории. Можете также проверить конфигурационные файлы MySQL относящиеся ко все системе, хотя параметры клиентского подсоединения вряд ли указаны именно здесь. Обратитесь к разделу See . Если ошибка Access denied возникает при выполнении вашей клиентской программы без каких-либо опций, убедитесь, что ни в одном из ваших файлов опций не указан старый пароль! Обратитесь к разделу See Раздел 4.1.2, «Файлы параметров my.cnf » .
Если вы вносите изменения в таблицы привилегий непосредственно (с помощью операторов INSERT или UPDATE), а ваши изменения, похоже, игнорируются, то следует выдать оператор FLUSH PRIVILEGES или выполнить команду mysqladmin flush-privileges - для того, чтобы заставить сервер перечитать таблицы привилегий. В противном случае ваши изменения вступят в силу лишь при последующем перезапуске сервера. Помните, что после того, как вы зададите пароль от имени пользователя, вам нужно будет указывать его только после сброса привилегий, т.к. серверу еще не будет известно о том, что вы изменили пароль!
При возникновении проблемы с доступом при использовании Perl-, PHP-, Python- или ODBC-программ, попробуйте установить соединение с сервером при помощи команды mysql -u user_name db_name или команды mysql -u user_name -pyour_pass db_name . Если ваш клиент mysql обеспечивает подсоединение, то проблема связана не с привилегиями доступа, а с вашей программой. (Заметим, что между -p и паролем пробела нет; для задания пароля можно также использовать синтаксическую структуру --password=your_pass . Если вы используете только саму опцию -p , MySQL запросит у вас пароль)
При тестировании запускайте демон mysqld с опцией --skip-grant-tables . Тогда вы сможете изменять таблицы привилегий MySQL и с помощью скрипта mysqlaccess проверять, произвели ли сделанные вами изменения желаемый эффект. Если результаты вас устраивают, выполните команду mysqladmin flush-privileges , чтобы приказать серверу mysqld приступить к использованию новых таблиц привилегий. Внимание : перезагрузка таблиц привилегий отменяет опцию --skip-grant-tables . Это позволяет заставить сервер приступить к использованию новых таблиц привилегий без завершения его работы и перезагрузки.
Если ничего не помогает, запустите демон mysqld daemon с опцией отладки (например --debug=d,general,query). В результате будет выведена информация о неудачных подсоединениях, с указанием хоста и пользователя, а также обо всех обработанных командах. Обратитесь к разделу See Раздел D.1.2, «Создание трассировочных файлов» .
Если у вас имеется какая-либо проблема с таблицами привилегий MySQL и вы полагаете, что необходимо сообщить о ней в список рассылки, нужно обязательно приложить к своему отчету распечатку таблиц привилегий MySQL. Это можно сделать с помощью команды mysqldump mysql . Отчет о проблеме, как и в других случаях, отправляется с помощью скрипта mysqlbug . Обратитесь к разделу See Раздел 1.8.1.3, «Как отправлять отчеты об ошибках или проблемах» . В некоторых случаях для выполнения скрипта mysqldump возможно, потребуется перезапустить mysqld с опцией --skip-grant-tables .