0

File server’da paylaşıma açtığınız tüm klasörlere sadece olması gereken kullanıcılar mı erişiyor? Farkında olmadan ilgisi olmayan kullanıcılara da hak vermiş olabilir misiniz?

Datalarımızın güvenliği açısından, paylaşıma açtığınız klasörlerde, kullanıcılarınızın sadece işi ile ilgili datalara erişmesini, diğer yerlere erişimini kısıtlamak istersiniz. Bu şekilde çok sayıda klasör ve dosyamızın olduğunu düşünelim. Her birisinde kime hangi hakkı vermişiz? Bunların toplu bir raporunu alarak, doğru yerlere doğru kişiler erişiyor mu kontrol edebilirsiniz. Nasıl mı? Microsoft’un resource kit içinde bize sunduğu Rmtshare.exe aracını bu işlem için kullanabiliriz.

Araç tek başına bu raporu sunmak için yeterli olmayacaktır. Makalenin sonunda yer alan scripti bir bat dosyası olarak kaydetmeniz gerekecek. Ben masaüstüne Report.bat adıyla kaydediyorum.

Rmtshare.exe dosyasını buraya klikleyerek indirip, paylaşımların olduğu sunucuda System32 klasörü altına kopyalayalım.

C:\’de boş bir txt dosyası oluşturalım (istediğiniz başka bir lokasyon da olabilir) ve komut satırını açarak aşağıdaki komutu uygulayalım;

>Report.bat C:\test.txt


Şekil-1

C:\’de oluşturduğunuz txt dosyasını açtığınızda içerisinde bu bilgisayardaki Admin$, IPC$, Print$ ve <Drive_Letter>$ dışındaki paylaşımların adlarını NTFS ve Share permission’larını görebilirsiniz.

Örneğin bende resimde de işaretlediğim “schema” ve “test” paylaşımlarını ve paylaşımın sunucu üzerinde bulunduğu konumu NTFS ve share permissionları görebilirsiniz.


Şekil-2

Script dosyasının içeriği;

@echo off

setlocal ENABLEDELAYEDEXPANSION

IF {%1}=={} GOTO bad

set report=%1

if exist %report% del /q %report%

set except=”%TEMP%\RptSPX_%RANDOM%.TMP”

@echo ADMIN$>%except%

@echo IPC$>>%except%

@echo print$>>%except%

:excl

if {%2}=={} goto begin

set wrk=%2

shift

set wrk=%wrk:”=%

@echo %wrk%>>%except%

goto excl

:begin

set f1=Findstr /v /b /C:”The command completed successfully.”

set f2=findstr /v /b /L /i /g:%except%

for /f “Skip=4 Tokens=1*” %%a in (‘RMTSHARE \\%computername%^|%F1%^|%F2%’) do (

set shr=%%a

if “!shr:~1,2!#” NEQ “$#” call :share

)

del /q %except%

endlocal

GOTO :EOF

:bad

@echo Usage: RptSPX ReportFile [Except1 Except2 … ExceptN]

@echo.

endlocal

:share

for /f “Tokens=*” %%r in (‘RMTSHARE \\%computername%\%shr%^|%F1%’) do (

@echo %%r>>%report%

set line=%%r

if “!line:~0,5!” EQU “Path ” if “!line:~19,1!” EQU “:” call :folder “!line:~18!”

)

)

@echo ……………………………………………….>>%report%

goto :EOF

:folder

set pf=%1

set wrk=%pf:”=%#

if “%wrk:~2,2%” EQU “\#” set pf=%pf:\=%

cacls %pf%>>%report%

for /f “Tokens=*” %%a in (‘dir %pf% /ad /s /b’) do (

cacls “%%a”>>%report%

)

Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

Bu İçeriğe Tepkin Ne Oldu?
  • 0
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir