none
Assegnare permessi a cartella distribuita tramite script RRS feed

  • Domanda

  • Buonasera a tutti,

    vi spiego la mia situazione. Ho necessità di distribuire agli utenti una cartella, all'interno del quale gira un software portable customizzato. Per far ciò ho creato uno script .cmd che inizialmente fa un check per vedere se la cartella è presente e, se la stessa non è presente, copia dal server la cartella che mi interessa.

    Fin qui tutto bene, la cartella e le sue sottocartelle vengono copiate regolarmente ma, loggandosi al dominio come semplice domain user non si hanno i permessi per avviare correttamente l'applicazione. La cartella da agli utenti permessi in sola lettura, mentre a me servirebbe impostare permessi in scrittura (va bene anche un everyone). Come potrei impostare questi permessi direttamente dal domain controller? Avete idee o suggerimenti?

    Il dominio è composto da 2 DC win server 2008 standard e client XP/7.

    Vi ringrazio anticipatamente.
    Francesco


    Francesco Rozier

    venerdì 20 aprile 2012 17:57

Risposte

Tutte le risposte

  • Puoi utilizzare CACLS direttamente dallo script per impostare le autorizzazioni corrette: http://support.microsoft.com/kb/162786/it


    venerdì 20 aprile 2012 18:20
    Moderatore
  • Da quale utente viene eseguito lo script? Vorrei capire come mai il tutto sia in sola lettura...

    Se ci pubblichi lo script potremmo capire come aiutarti.

      Con w7 e 2008 hai più possibiltà cacls (vedi post di Fabrizio) icacls http://technet.microsoft.com/en-us/library/cc753525(v=ws.10).aspx

    @Fabrizio:Io lascierei l'origine in sola lettura, qualche utente potrebbe involontariamente modificarla... se poi pensiamo male ci sono i virus e utenti "dispettosi"... Potrebbe diventare l'origine per  un deploy di massa  dannoso!


    Gastone Canali >http://www.armadillo.it

    Se alcuni post rispondono al tuo quesito (non necessariamente i miei), ricorda di contrassegnarli come risposta e non dimenticare di contrassegnare anche i post utili . GRAZIE!

    • Contrassegnato come risposta -F R- venerdì 20 aprile 2012 22:06
    venerdì 20 aprile 2012 20:09
    Moderatore
  • Grazie davvero! Era proprio quello che cercavo, ho risolto usando CACLS. 

    Come chiesto da Gastone, posto comunque lo script, potrebbe servire ad altri utenti. Lo script viene distribuito da una GPO, come script di avvio per i pc di quell'unità organizzativa.

    @echo OFF
    if exist "c:\cartella" goto NoInstall else goto Install

    :Install
    title Setup in progress, plese wait...
    @echo ON
    mkdir "c:\cartella" 
    xcopy /Y /E /S /I "\\miodominio.local\cartella\*.*" "c:\cartella\" 
    copy /Y "c:\cartella\link.lnk" "%allusersprofile%\Desktop"
    cacls c:\cartella\ /T /E /G Everyone:F

    :NoInstall
    exit

    Francesco


    Francesco Rozier

    venerdì 20 aprile 2012 20:48
  • @Fabrizio:Io lascierei l'origine in sola lettura, qualche utente potrebbe involontariamente modificarla... se poi pensiamo male ci sono i virus e utenti "dispettosi"... Potrebbe diventare l'origine per  un deploy di massa  dannoso!



    Ovviamente sarebbe una condivisione nascosta, però adesso che mi ci hai fatto pensare in effetti sarebbe meglio non accessibile in scrittura o solo ad un numero molto limitato di utenti.
    venerdì 20 aprile 2012 21:28
    Moderatore
  • Sorgente  in sola lettura, visto che si tratta un deploy e non vi è necessità di scrittura ( le share nascoste$ sono sempre rintracciabili, virus/worm sono abilissimi nel trovarle ;)

    @echo OFF
    if not exist "c:\cartella" (
     title Setup in progress, plese wait...
     @echo ON
     mkdir "c:\cartella" 
     xcopy /Y /E /S /I "\\miodominio.local\cartella\*.*" "c:\cartella\" 
     copy /Y "c:\cartella\link.lnk" "%allusersprofile%\Desktop"
    :: ***http://support.microsoft.com/kb/135268/en-us
    :: ***per non rischiare che lo startup script rimanga appeso (lo so sono noioso:) 
     echo y|cacls c:\cartella\  /T /E /G Everyone:F
    )


    Gastone Canali >http://www.armadillo.it

    Se alcuni post rispondono al tuo quesito (non necessariamente i miei), ricorda di contrassegnarli come risposta e non dimenticare di contrassegnare anche i post utili . GRAZIE!


    venerdì 20 aprile 2012 21:57
    Moderatore
  • ma quale noioso, anzi, grazie mille del suggerimento :)

    Francesco Rozier

    venerdì 20 aprile 2012 22:06
  •  le share nascoste$ sono sempre rintracciabili, virus/worm sono abilissimi nel trovarle ;)


    Si, infatti, ammetto che non ci avevo pensato. Nel rispondere stavo valutando solo i privilegi NTFS....

    PS: Per non confondere altri utenti ho rimosso la "svista" dalla risposta.
    venerdì 20 aprile 2012 22:17
    Moderatore
  • de nada.

    Ciao Gas

    PS:Forse ho visto un errorino nel batch (anche se il mio win 7 ita vuole y e non s di si !)

    echo y|cacls c:\cartella\  /T /E /G Everyone:F

    corretto in

    echo s|cacls c:\cartella\  /T /E /G Everyone:F

    Gastone Canali >http://www.armadillo.it

    Se alcuni post rispondono al tuo quesito (non necessariamente i miei), ricorda di contrassegnarli come risposta e non dimenticare di contrassegnare anche i post utili . GRAZIE!

    sabato 21 aprile 2012 13:35
    Moderatore
  • Ciao,

    scusa, ma invece di fare l'mkdir, poi l'xcopy e poi usare cacls, non fai prima a dare le permission corrette alla cartella sorgente e poi a copiare il tutto già bell'e pronto con robocopy? ...un'istruzione invece di tre....

    lunedì 23 aprile 2012 13:17
  • Ciao,

    scusa, ma invece di fare l'mkdir, poi l'xcopy e poi usare cacls, non fai prima a dare le permission corrette alla cartella sorgente e poi a copiare il tutto già bell'e pronto con robocopy? ...un'istruzione invece di tre....


    Si, all'inizio avevo pensato anch'io a questo ma impostando subito autorizzazioni di scrittura su una share di rete il server è comunque esposto a rischi. E' sicuramente meglio impostare successivamente le autorizzazioni e lasciare la share in sola lettura.
    lunedì 23 aprile 2012 13:20
    Moderatore
  • Esatto, sullo spazio dei nomi "miodominio.local", dove sta la cartella sorgente, i domain user non hanno diritti di scrittura (e non vorrei darglieli).

    Francesco Rozier

    lunedì 23 aprile 2012 13:25
  • Ciao,

    scusa, ma invece di fare l'mkdir, poi l'xcopy e poi usare cacls, non fai prima a dare le permission corrette alla cartella sorgente e poi a copiare il tutto già bell'e pronto con robocopy? ...un'istruzione invece di tre....

    Quando ho riscritto il batch ho scelto di nn usare robocopy perchè alcuni client sono XP e robocopy è di default da vista in poi (avrei dovuto spiegare di mettere robocopy nel folder netlogon etc. ... concordo che xcopy sia superato, non lo uso da anni). Per la share in sola lettura ci abbiamo ragionato e penso sia condivisibile .

    Aggiungo un quesito.
    Share in read only ma  con i permessi giusti sul file system eseguo un robocopy con l'opzione /SEC . Cosa succede?(appena ho tempo provo sono curioso)

    Anche se qui c'è la complicazione dello startup script che viene eseguito come system e la share dovrebbe essere accessibile ai "computer account"....


    Gastone Canali >http://www.armadillo.it

    Se alcuni post rispondono al tuo quesito (non necessariamente i miei), ricorda di contrassegnarli come risposta e non dimenticare di contrassegnare anche i post utili . GRAZIE!



    lunedì 23 aprile 2012 13:45
    Moderatore
  • non se assegni i corretti permessi NTFS (con eventualmente la scrittura per gli user) ma la metti all'interno di uno share di rete sul quale hai permessi di share che danno full control solo al tuo utente e nulla agli user.
    lunedì 23 aprile 2012 13:45