powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Не работает: exec master .. xp_cmdshell 'c:\temp\qq.exe'
16 сообщений из 16, страница 1 из 1
Не работает: exec master .. xp_cmdshell 'c:\temp\qq.exe'
    #32048424
alexbuilder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
exe-ник, написанный в C++Builder6 формирует текстовый файл и сам по себе успешно отрабатывает. Но если его запускать в Query Analyzer по команде:
exec master .. xp_cmdshell 'c:\temp\qq.exe', то он пересоздает файл для записи в него в режиме w+b данных, но записать в него ничего не может. Хотя exe-ник запускается в Query Analyzer под SA(под бюджетом системного администратора, имеющего самые большие права). Т.е. exe-ник, запущенный в операционной системе может записывать двоичные данные в файл, а запущенный в Query Analyzer(SQL Server) может только файл пересоздать, а записать в него ничего не может.
Pls, помогите разобраться!!!
...
Рейтинг: 0 / 0
Не работает: exec master .. xp_cmdshell 'c:\temp\qq.exe'
    #32048455
Panov Vitaly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
'c:\temp\qq.exe' - этот файл по указанному пути надеюсь на сервере находится?
...
Рейтинг: 0 / 0
Не работает: exec master .. xp_cmdshell 'c:\temp\qq.exe'
    #32048469
Slava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SA только на сервере админ. Полагаю Вам надо exe стартовать под логином который имеет админовы права на компе. Правда конечно не понятно почему перезапись идет. Но Вы все же попробуйте, а потом еще поговорим.
...
Рейтинг: 0 / 0
Не работает: exec master .. xp_cmdshell 'c:\temp\qq.exe'
    #32048680
alexbuilder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Запускаю Query Analyzer на самом серваке, используя NT authentication: Никакого эффекта!!! Запускаю exe-ник
из-под NT : все отрабатывает.
...
Рейтинг: 0 / 0
Не работает: exec master .. xp_cmdshell 'c:\temp\qq.exe'
    #32048689
Фотография Lexis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
включите аудит на NT и посмотрите, кому и каких прав не хватает, скорее всего проблема в правах
...
Рейтинг: 0 / 0
Не работает: exec master .. xp_cmdshell 'c:\temp\qq.exe'
    #32048692
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Из Query Analyzer внешние приложения запускаются от имени учетной записи под которой стартует SQL сервер(для роли sysadmin). Смотрите какими правами обладает эта учетная запись, не та, под которой вы залогинены на данной машине.
...
Рейтинг: 0 / 0
Не работает: exec master .. xp_cmdshell 'c:\temp\qq.exe'
    #32049124
alexbuilder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Определил, что в exe-нике не отрабатывает команда
findfirst("\\\\POST\\SKB\\09.09.2002\\*.skb",&ffblk,0);Т.е.
она не находит файлы по маске, если exe-ник запускать из Query Analyzer.
С чем бы это могло быть связано???
...
Рейтинг: 0 / 0
Не работает: exec master .. xp_cmdshell 'c:\temp\qq.exe'
    #32049130
Фотография akuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С тем, что правов не хватает.
См. сообщение Glory.
...
Рейтинг: 0 / 0
Не работает: exec master .. xp_cmdshell 'c:\temp\qq.exe'
    #32049319
alexbuilder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Получается, что мой exe-ник в принципе невозможно выполнить в Query Analyzer из-за того, что SA(роль sysadmins), имеющему самые большие права, просто не хватает прав??? А поскольку роли фиксированы, то недостающие права никак нельзя добавить???!!!
...
Рейтинг: 0 / 0
Не работает: exec master .. xp_cmdshell 'c:\temp\qq.exe'
    #32049324
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день

Ну почему же. Вероятно, учетная запись, используемая для запуска службы mssqlserver не
имеет прав доступа к сетевому ресурсу \\POST\SKB\09.09.2002\.

Вы можете:

1. Запускать SQL Server от доменной учетной записи, имеющей соответствующий доступ
2. В приложении (exe) предварительно подключиться к сетевому ресурсу под соответствующей учетной записью (имя и пароль придется передавать приложению некоторым образом - из SQL Server'а, например)

Удачи
...
Рейтинг: 0 / 0
Не работает: exec master .. xp_cmdshell 'c:\temp\qq.exe'
    #32049349
alexbuilder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SQL у меня стартует под System account, а значит используется учетная запись локальной системы - учетная запись Администратора сервера NT4.0, которая заведома имеет доступ к сетевому ресурсу, т.к. папка открыта всем но только на чтение. Но почему-то С++-шная команда findfirst возвращает -1, т.е. не находит файлы, хотя запущенный на этом же серваке exe-ник отрабатывает нормально. Видимо, дело в чем-то другом!!!
...
Рейтинг: 0 / 0
Не работает: exec master .. xp_cmdshell 'c:\temp\qq.exe'
    #32049354
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2alexbuilder

Вы путаете внутренние логины(logins) и роли(roles) SQL сервера и учетные записи (accounts) и группы (groups) операционной системы(Windows).
Для выполнения xp_cmdshell проверяются ваши права внутри сервера.
А все, что вы запустили с помощью xp_cmdshell, проверяется уже на уровне операционной системы.
...
Рейтинг: 0 / 0
Не работает: exec master .. xp_cmdshell 'c:\temp\qq.exe'
    #32049355
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Local system account не может иметь никаких прав на сетевой ресурс, хоть и открытый для доступа Everyone
...
Рейтинг: 0 / 0
Не работает: exec master .. xp_cmdshell 'c:\temp\qq.exe'
    #32049359
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Local system account не может иметь никаких прав на сетевой ресурс, хоть и открытый для доступа Everyone

Уточнение. Не мог иметь ранее и не имеет по умолчанию ныне. Начиная с Win2000 уже можно настроить права доступа учетной записи Local System компьютера в домене к любому сетевому ресурсу. Для этого доступ дается не группе/пользователю, а компьютеру .
...
Рейтинг: 0 / 0
Не работает: exec master .. xp_cmdshell 'c:\temp\qq.exe'
    #32049365
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще говоря, учетная запись LocalSystem и учетная запись Администратора сервера NT4.0 - разные вещи.
Но настораживает тот факт, что, как Вы пишите, разрешения на чтение даны всем (Everyone)...
Нельзя ли узнать что означает код ошибки (-1) для findfirst? Может быть, можно получить код ошибки ОС?

Удачи
...
Рейтинг: 0 / 0
Не работает: exec master .. xp_cmdshell 'c:\temp\qq.exe'
    #32049379
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Garya

А вы пробовали такой вариант ?
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Не работает: exec master .. xp_cmdshell 'c:\temp\qq.exe'
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]