Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 grant execute on xp_cmdshell to ibank2 выдает ошибку  [new]
NewIvanovec
Member

Откуда: Msk
Сообщений: 582
С детской проблемой не могу справиться.
Выполняю скрипт от sa
grant execute on xp_cmdshell to ibank2


Сообщение 15151, уровень 16, состояние 1, строка 1
Невозможно найти пользователь "ibank2", так как он не существует или отсутствуют разрешения.


Пользователь такой существует.

Как всё-таки дать права этому пользователю?
21 фев 12, 16:25    [12131557]     Ответить | Цитировать Сообщить модератору
 Re: grant execute on xp_cmdshell to ibank2 выдает ошибку  [new]
gds
Member

Откуда: Железнодорожный
Сообщений: 1842
Блог
NewIvanovec
С детской проблемой не могу справиться.
Выполняю скрипт от sa
grant execute on xp_cmdshell to ibank2


Сообщение 15151, уровень 16, состояние 1, строка 1
Невозможно найти пользователь "ibank2", так как он не существует или отсутствуют разрешения.


Пользователь такой существует.

Как всё-таки дать права этому пользователю?

Существует пользователь в БД или логин на сервере?
21 фев 12, 16:36    [12131666]     Ответить | Цитировать Сообщить модератору
 Re: grant execute on xp_cmdshell to ibank2 выдает ошибку  [new]
Prolog
Member

Откуда: Москва
Сообщений: 2793
не путайте пользователя и логин:
-пользователь живет в базе данных
- логин живет на сервере
- xp_cmdshell живет в базе данных master
21 фев 12, 16:37    [12131683]     Ответить | Цитировать Сообщить модератору
 Re: grant execute on xp_cmdshell to ibank2 выдает ошибку  [new]
Crimean
Member

Откуда:
Сообщений: 13147
ой, вы все еще свой netsend мучаете? :)
21 фев 12, 16:57    [12131831]     Ответить | Цитировать Сообщить модератору
 Re: grant execute on xp_cmdshell to ibank2 выдает ошибку  [new]
NewIvanovec
Member

Откуда: Msk
Сообщений: 582
Crimean
ой, вы все еще свой netsend мучаете? :)

не я netsend, а он меня :)
21 фев 12, 19:07    [12132730]     Ответить | Цитировать Сообщить модератору
 Re: grant execute on xp_cmdshell to ibank2 выдает ошибку  [new]
NewIvanovec
Member

Откуда: Msk
Сообщений: 582
gds
NewIvanovec
С детской проблемой не могу справиться.
Выполняю скрипт от sa
grant execute on xp_cmdshell to ibank2


Сообщение 15151, уровень 16, состояние 1, строка 1
Невозможно найти пользователь "ibank2", так как он не существует или отсутствуют разрешения.


Пользователь такой существует.

Как всё-таки дать права этому пользователю?

Существует пользователь в БД или логин на сервере?


пользователь бд.
Логина на сервере такого нет.
21 фев 12, 19:09    [12132740]     Ответить | Цитировать Сообщить модератору
 Re: grant execute on xp_cmdshell to ibank2 выдает ошибку  [new]
Crimean
Member

Откуда:
Сообщений: 13147
NewIvanovec
Crimean
ой, вы все еще свой netsend мучаете? :)

не я netsend, а он меня :)


дать WTS API либу? там просто все

HANDLE server = WTSOpenServer( HostName );
if( WTSEnumerateSessions( server, 0, 1, &info, &count ))
if( WTSSendMessage( server, info[i].SessionId, Header, strlen( Header ), Message, strlen( Message ), MB_OK, 0, &responce, false))
WTSCloseServer( server );

только надо будет на клиенте разрешить получение таких сообщений путем введения пользователя под кем работает сиквел в ремоут юзеров для xp и в админов для vista/7, что в принципе не есть большой криминал
раз вы легких путей не ищете. готовое / рабочее / собрано под обе платформы x32 / x64

с правами - читаете про db ownership chain. а то у вас с xp_cmdshell все равно грабли будут те еще
21 фев 12, 19:26    [12132807]     Ответить | Цитировать Сообщить модератору
 Re: grant execute on xp_cmdshell to ibank2 выдает ошибку  [new]
NewIvanovec
Member

Откуда: Msk
Сообщений: 582
NewIvanovec
пропущено...

не я netsend, а он меня :)


дать WTS API либу? там просто все

HANDLE server = WTSOpenServer( HostName );
if( WTSEnumerateSessions( server, 0, 1, &info, &count ))
if( WTSSendMessage( server, info[i].SessionId, Header, strlen( Header ), Message, strlen( Message ), MB_OK, 0, &responce, false))
WTSCloseServer( server );

только надо будет на клиенте разрешить получение таких сообщений путем введения пользователя под кем работает сиквел в ремоут юзеров для xp и в админов для vista/7, что в принципе не есть большой криминал
раз вы легких путей не ищете. готовое / рабочее / собрано под обе платформы x32 / x64

с правами - читаете про db ownership chain. а то у вас с xp_cmdshell все равно грабли будут те еще

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

Идеально было бы, если бы готовый скрипт написали для моей задачки и заодно дали бы ссылку на bol для того чтобы понять что скрипт делает
21 фев 12, 20:42    [12133155]     Ответить | Цитировать Сообщить модератору
 Re: grant execute on xp_cmdshell to ibank2 выдает ошибку  [new]
Crimean
Member

Откуда:
Сообщений: 13147
NewIvanovec,

у вас минимум 2 проблемы сугубо технических:

1.запук хранимок из мастера. это как раз решается цепочкой владения. без цепочки владения надо будет или явно пускать пользователей в мастер и давать права или решать это аналогично (например при помощи execute as и т.п.)
2.запуск собственно xp_cmdshell для не-админов. это делается прокси акаунтом

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

как по мне последнее сильно важнее и есть повод посмотреть в сторону асинхронной обработки начиная с сервис брокера, что ли
21 фев 12, 20:53    [12133201]     Ответить | Цитировать Сообщить модератору
 Re: grant execute on xp_cmdshell to ibank2 выдает ошибку  [new]
Crimean
Member

Откуда:
Сообщений: 13147
p.s.

то что я предлагал - своя dll, ее регистрим, вызов простой:

master..sc_sendmessage 'host', 'header', 'message'

внутренности уже описал выше. почему так? потому как net send давно уже не работает ни на отправку ни на получение
даже на последних xp надо сервис явно стартовать, что мс расценивает как уязвимость

К сообщению приложен файл. Размер - 1Kb
21 фев 12, 20:56    [12133219]     Ответить | Цитировать Сообщить модератору
 Re: grant execute on xp_cmdshell to ibank2 выдает ошибку  [new]
NewIvanovec
Member

Откуда: Msk
Сообщений: 582
[quot NewIvanovec]
NewIvanovec
пропущено...

не я netsend, а он меня :)


дать WTS API либу?

Примерчик не помешал бы:)
22 фев 12, 11:07    [12135368]     Ответить | Цитировать Сообщить модератору
 Re: grant execute on xp_cmdshell to ibank2 выдает ошибку  [new]
gds
Member

Откуда: Железнодорожный
Сообщений: 1842
Блог
NewIvanovec
gds
пропущено...

Существует пользователь в БД или логин на сервере?


пользователь бд.
Логина на сервере такого нет.

Как вы подклбчаетесь на сервер?
что вернут эти два запроса?
use [ВАША БАЗА]
go

select * from sys.syslogins s
where s.name = 'ibank2'
select * from sys.sysusers u
where u.name = 'ibank2'
go
22 фев 12, 11:13    [12135408]     Ответить | Цитировать Сообщить модератору
 Re: grant execute on xp_cmdshell to ibank2 выдает ошибку  [new]
NewIvanovec
Member

Откуда: Msk
Сообщений: 582
gds,

К сообщению приложен файл. Размер - 13Kb
22 фев 12, 12:41    [12136191]     Ответить | Цитировать Сообщить модератору
 Re: grant execute on xp_cmdshell to ibank2 выдает ошибку  [new]
Glory
Member

Откуда:
Сообщений: 104751
А говорли, что логина такого нет.
22 фев 12, 13:10    [12136475]     Ответить | Цитировать Сообщить модератору
 Re: grant execute on xp_cmdshell to ibank2 выдает ошибку  [new]
NewIvanovec
Member

Откуда: Msk
Сообщений: 582
Glory
А говорли, что логина такого нет.

попутал
22 фев 12, 13:26    [12136635]     Ответить | Цитировать Сообщить модератору
 Re: grant execute on xp_cmdshell to ibank2 выдает ошибку  [new]
Crimean
Member

Откуда:
Сообщений: 13147
еще и базу попутали

grant execute on xp_cmdshell to ibank2


надо делать на мастере ибо xp_cmdshell там живет
а на мастере этот логин как пользователь не заведен
попутно сразу читайте про прокси акаунты и настраивайте прокси иначе не-админы все равно не смогут использовать xp_cmdshell
22 фев 12, 13:33    [12136732]     Ответить | Цитировать Сообщить модератору
 Re: grant execute on xp_cmdshell to ibank2 выдает ошибку  [new]
NewIvanovec
Member

Откуда: Msk
Сообщений: 582
Crimean
еще и базу попутали

grant execute on xp_cmdshell to ibank2


надо делать на мастере ибо xp_cmdshell там живет
а на мастере этот логин как пользователь не заведен
попутно сразу читайте про прокси акаунты и настраивайте прокси иначе не-админы все равно не смогут использовать xp_cmdshell


Я могу для ibank2 завести такой логин?
22 фев 12, 14:15    [12137186]     Ответить | Цитировать Сообщить модератору
 Re: grant execute on xp_cmdshell to ibank2 выдает ошибку  [new]
Crimean
Member

Откуда:
Сообщений: 13147
NewIvanovec,

матчасть.... логин уже есть. пользователя нет. и вазелин покупайте сразу от аудита отбиваться за явные права на мастере
22 фев 12, 14:19    [12137218]     Ответить | Цитировать Сообщить модератору
 Re: grant execute on xp_cmdshell to ibank2 выдает ошибку  [new]
NewIvanovec
Member

Откуда: Msk
Сообщений: 582
Коллеги, запутался я.
То ли dll делать, то ли прокси аккаунты читать.
22 фев 12, 14:28    [12137290]     Ответить | Цитировать Сообщить модератору
 Re: grant execute on xp_cmdshell to ibank2 выдает ошибку  [new]
Crimean
Member

Откуда:
Сообщений: 13147
NewIvanovec,

доку читать для начал. чтобы не путаться в логинах, базах и пользователях + прокси акаунты
после освоения - заработает xp_cmdshell для неадминов, но не факт что это решит поставленную задачу :)
а когда получится решить описанным выше способом то от полученных осложнений возможна ситуация "да нехрен оно такое надо"
(ибо для начала net send отсутствует как класс для win7/2008 и запрещено получение в последних сп для xp)
после чего самое время будет изучить асинхронную обработку на примере, скажем, сервис брокера
и уже попутно - способы альтернативной доставки уведомлений
22 фев 12, 15:27    [12137767]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить