xp_cmdshell çalıştırmada problem
19 January 2008 – 22:35toddy daha önce Sybase’de bu komutu kullanmayı bize öğretmişti. Bu yazımızda ise karşılaşacabileceğimiz sorunlara değineceğiz.
Server Message: Number 10330, Severity 14
Procedure ‘xp_cmdshell’, Line 2:
EXECUTE permission denied on object xp_cmdshell, database sybsystemprocs, owner dbo
(return status = -4)
Bu sorun komutu veren kullanıcının bu komutu çalıştırma yetkisi olmadığını gösterir. Çalıştırmak için bu yetkinin “sa” kullanıcısı tarafından verilmesi gerekir:
use sybsystemprocs go grant exec on xp_cmdshell to public
Manyak Not: Burada örnek olarak çalıştırma hakkını herkesin üye olduğu “public” adlı gruba vermiş olduk. Bu pek güvenli birşey değildir.
Server Message: Number 11488, Severity 10
Server ‘XP Server’, Line 0:
User access denied. Not a member of NT administrators group.
(return status = 1)
Windows sistemlerde bu komutu çalıştırırken sybase sistemde çalıştıran login adı ile aynı isimli bir kullanıcıya geçerek komutu çalıştırır. Bu hatayı alma neden ise ya böyle bir kullanıcının olmaması ya da kullanıcının “Administrators” grubuna dahil olmamasıdır. Kullanıcıyı tanımlayıp bu gruba eklediğimizde ise başarıyla çalıştırıyoruz.
İşletim sisteminin kontrol parametrelerinden bu kontrolün yapılamamasını da sağlayabiliriz. Bunun için de şu komutu vermemiz yeterli:
sp_configure ‘xp_cmdshell context’, 0