L'attributo della dimensione del file ottiene l'accesso negato sul file accessibile

0

Avvicinati al seguente problema di controllo degli accessi! Ho cercato su google su e giù, e non riesco a trovare nulla di pertinente. Qualsiasi aiuto apprezzato.

Ho un netbook di avvio di Windows 7. Ha due utenti, USER1 e USER2. Entrambi sono non-amministratori. Entrambi hanno una password. È una scatola standard con niente di insolito.

USER1 crea un file, ad esempio sul desktop, quindi fornisce a USER2 il controllo completo di quel file. Ad esempio:

===================================================
NOTE: REPLACE ALL INSTANCES OF "USER1" AND "USER2"
IN TEST.BAT AND TEST.VBS WITH YOUR OWN ACCOUNT NAMES
====================================================

TEST.BAT

cd C:\Users\%username%\Desktop
echo Hello World > TEST.OUT
icacls.exe TEST.OUT /grant "USER2:(F)"
icacls.exe TEST.OUT
pause
exit

USER1 si disconnette, USER2 si connette e tenta di accedere a quel file con l'oggetto COM SCRIPTING.FILESYSTEMOBJECT:

Test.vbs

option explicit
const TESTFILE = "C:\Users\USER1\Desktop\TEST.OUT"
dim file
with createobject ("scripting.filesystemobject")
  '//ALL NEXT WORK:
  msgbox .fileexists (TESTFILE),, "EXISTS?"
  set file = .getfile (TESTFILE)
  msgbox file.attributes,, ".ATTRIBUTES"
  msgbox file.path,, ".PATH"
  with .opentextfile (TESTFILE, 1, false)
    msgbox .readall,, "CONTENT!"
  end with
end with

' *** BUT ***  (note: FILE variable is still fine here)

on error resume next

'// FAILS RUNTIME ERROR 5, ACCESS DENIED!
msgbox file.size,, ".SIZE"
msgbox err.number & ": " & err.description,, "SIZE"

'// FAILS RUNTIME ERR 53, NO FILE!
msgbox file.datecreated,, ".DATECREATED"
msgbox err.number & ": " & err.description,, ".DATECREATED"

on error goto 0
wscript.quit

In altre parole, USER2 può vedere il file, leggerne il contenuto e visualizzare determinati attributi, ma non gli attributi tutti - ad es. TAGLIA!

USER2 non ha accesso diretto alle cartelle C: \ Users \ USER1 e C: \ Users \ USER1 \ Desktop. Ma sta attraversando chiaramente quelle cartelle, per arrivare al file. Non stava attraversando quelle cartelle, non sarebbe in grado di leggere il contenuto del file.

Quindi le mie domande sono:

(1) Perché USER2 può accedere ad alcuni ma non tutti gli attributi del file di test?

(2) In che modo USER2 può accedere all'attributo .SIZE del file di test?

Ho anche provato ad accedere alle dimensioni del file usando WMI CIM_DataFile, ma la query pertinente non vede affatto il file.

Sento che mi manca qualcosa di ovvio!

TIA

    
posta A_User 11.07.2018 - 08:04
fonte

0 risposte

Leggi altre domande sui tag