Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

XP_CMDSHELL 2005

1 réponse
Avatar
Dimitri
Bonjour,

Voil=E0 j'ai une base de donn=E9es en SQL Server 2005 SP2 qui utilise la
proc=E9dure stock=E9e xp_cmdshell.
Comme je ne veux pas que les utilisateurs soit sysadmin ( condition
pour utilis=E9 xp_cmdshell ) j'ai donc cr=E9=E9 un proxy comme ci dessous

EXEC sp_xp_cmdshell_proxy_account 'Ma_Machine\Mon_User',
'mon_mot_de_passe";
GO

Mon_User est bien d=E9clar=E9 dans SQL Server comme login, et sur le
serveur, il poss=E9de l'autorisation "CONTROL SERVER"

or quand je fais un test exec master.dbo.xp_cmdshell "echo %USERNAME
%" , je m'attendais =E0 voir apparaitre "Ma_Machine\Mon_User" ... or je
vois le compte de service apparaitre !

Est ce normale ? ... je pensais que c'est le user d=E9clar=E9 dans le
proxy account qui lance la commande ?

Merci de vos =E9clairage.
cdlt
Dimitri

1 réponse

Avatar
sjuch
Bonjour,

A mon avis, tu as testé cette procédure en te connectant avec un utilisateur
membre de sysadmin et, dans ce cas, SQL Server n'utilise pas le compte
Windows 'Ma_machinemon_user' que tu as déclaré comme proxy. Connecte toi
avec un utilisateur qui n'est pas membre de sysadmin et le résultat devrait
être bon.

Sylvain.

"Dimitri" a écrit :

Bonjour,

Voilà j'ai une base de données en SQL Server 2005 SP2 qui utilise la
procédure stockée xp_cmdshell.
Comme je ne veux pas que les utilisateurs soit sysadmin ( condition
pour utilisé xp_cmdshell ) j'ai donc créé un proxy comme ci dessous

EXEC sp_xp_cmdshell_proxy_account 'Ma_MachineMon_User',
'mon_mot_de_passe";
GO

Mon_User est bien déclaré dans SQL Server comme login, et sur le
serveur, il posséde l'autorisation "CONTROL SERVER"

or quand je fais un test exec master.dbo.xp_cmdshell "echo %USERNAME
%" , je m'attendais à voir apparaitre "Ma_MachineMon_User" ... or je
vois le compte de service apparaitre !

Est ce normale ? ... je pensais que c'est le user déclaré dans le
proxy account qui lance la commande ?

Merci de vos éclairage.
cdlt
Dimitri