xp_cmdshell (Final)

13/09/2004 - 23:05 por Isaías | Informe spam
Hola Ulises (por si lees esta posta).

Pues nada, que cerre, todas las conexiones que tenia en mi
Query Analyzer, abri una nueva conexion con el SA, ejecute
nuevamente:

sp_addsrvrolemember @loginame = 'iislas'
, @rolename = 'sysadmin'

Y al ejecutar:

sp_helpuser 'iislas'

En la columna: GroupName, ya me aparece: db_securityadmin

Con este mismo usuario ejecuto el xp_cmdshell y lo hace
sin ningun problema.

Saludos y gracias a todos.

Preguntas similare

Leer las respuestas

#1 ulises
14/09/2004 - 01:19 | Informe spam
Hola Isaias,

Pero la idea es precisamente no dar acceso de sysadmin a
un usuario para que pueda ejecutarse sin problemas el
proceso.

Por ejemplo, si deseo que un usuario logintest pueda
ejecutarlo, le creo la cuenta y le doy acceso expresamente
al procedimiento xp_cmdshell :

exec sp_addlogin 'logintest', 'logintest'
go
use master
go
exec sp_grantdbaccess 'logintest','usertest'
go
grant exec on xp_cmdshell to usertest
go

si el usuario se conecta trata de ejecutar :

exec master.dbo.xp_cmdshell 'dir c:\'

obtendra el mensaje de error siguiente :

Msg 50001, Level 1, State 50001
xpsql.cpp: Error 997 from GetProxyAccount on line 604

y esto se debe a que no tiene definida la cuenta proxy, si
el administrador la define :

EXEC master.dbo.xp_sqlagent_proxy_account N'SET',
N'dominio', N'usuarioadmlocal', N'claveadmlocal'

y el usuario vuelve a conectarse y ejecutar :

exec master.dbo.xp_cmdshell 'dir c:\'

ya podrá obtener lo que desea :

output

Volume in drive C is ULISESC
Volume Serial Number is B038-CDD0
NULL
Directory of c:\
NULL
13/09/2004 09:44a <DIR> ...

Saludos,
Ulises

Hola Ulises (por si lees esta posta).

Pues nada, que cerre, todas las conexiones que tenia en


mi
Query Analyzer, abri una nueva conexion con el SA,


ejecute
nuevamente:

sp_addsrvrolemember @loginame = 'iislas'
, @rolename = 'sysadmin'

Y al ejecutar:

sp_helpuser 'iislas'

En la columna: GroupName, ya me aparece: db_securityadmin

Con este mismo usuario ejecuto el xp_cmdshell y lo hace
sin ningun problema.

Saludos y gracias a todos.
.

Respuesta Responder a este mensaje
#2 Isaías
14/09/2004 - 16:51 | Informe spam
Ulises

Lo que me cuentas es "teoria", o de plano estoy haciendo
algo muy mal, la cuenta proxy esta establecida, el usuario
es el MISMO administrador de la red.

Pero aun asi, si el usuario NO pertenece a sysadmin, pues
nada, que no se ejecuta el xp_cmdshell.

Si ejecuto esto en mi maquina,
EXEC master.dbo.xp_sqlagent_proxy_account N'GET'

aparece:

Domain Username
-
Call_Domain Administrator

¿Entonces?

Gracias por tus comentarios
Respuesta Responder a este mensaje
#3 ulises
14/09/2004 - 17:27 | Informe spam
Todo lo que te he mencionado lo he probado y funciona
correctamente, pero creo saber cual es tu problema, debes
tener marcada en las propiedades del SQL Server Agent la
opción "Only users with sysadmin privilegies can execute
cmdshell...", he notado que cuando ejecutas el
procedimiento xp_sqlagent_proxy_account, no resetea esta
opción, la forma de solucionarlo es entrando a través del
EM y desmarcando la opción, también lo puedes modificar
usando :

EXECUTE msdb..sp_set_sqlagent_properties @sysadmin_only = 0

Saludos,
Ulises

Ulises

Lo que me cuentas es "teoria", o de plano estoy haciendo
algo muy mal, la cuenta proxy esta establecida, el


usuario
es el MISMO administrador de la red.

Pero aun asi, si el usuario NO pertenece a sysadmin, pues
nada, que no se ejecuta el xp_cmdshell.

Si ejecuto esto en mi maquina,
EXEC master.dbo.xp_sqlagent_proxy_account N'GET'

aparece:


Domain Username
-
Call_Domain Administrator

¿Entonces?

Gracias por tus comentarios



.

Respuesta Responder a este mensaje
#4 Isaías
14/09/2004 - 18:24 | Informe spam
EXACTAMENTE !!!

Le has dado al asunto, esa opcion esta habilitada,
entonces, suponiendo que cambiara esta opción, ¿Debo
RESETEAR forzosamente el servicio de AGENT?.

Gracias.
Respuesta Responder a este mensaje
#5 ulises
14/09/2004 - 18:33 | Informe spam
Acabo de probarlo y no es necesario resetear el Agent.

Saludos,
Ulises

EXACTAMENTE !!!

Le has dado al asunto, esa opcion esta habilitada,
entonces, suponiendo que cambiara esta opción, ¿Debo
RESETEAR forzosamente el servicio de AGENT?.

Gracias.

.

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida