|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jul 2006
Città: Napoli
Messaggi: 2380
|
[RISOLTO] Problema permessi cartella Temp su W8.1 anche dopo format
Ciao a tutti ragazzuoli, oggi vi espongo un problema che mi sta creando numerosi grattacapi, più che altro dal momento che disperatamente qualche giorno fa ho deciso di formattare per ovviare al problema che però si è ripresentato pari pari anche dopo il format.
Il problema è molto semplice, e l'ho scoperto grazie a Dropbox che all'avvio mi avverte di non riuscire ad avviarsi per un errore nelle autorizzazioni della cartella Temp (più precisamente dal log di dropbox risulta: BrokenTempDirError: Broken temporary directory (missing execute permission): u'd:\\users\\francesco\\appdata\\local\\temp'), di cui posterò più sotto la schermata. ![]() Facilmente si trovano thread di altre persone sul web, ma mentre alcuni hanno risolto modificando le autorizzazioni della cartella stessa, io ho fatto lo stesso ma la modifica funziona per pochi giorni, poi un bel giorno al primo avvio si ripresenta il problema. Inoltre fosse solo Dropbox a non partire, avrei usato l'interfaccia web per caricare i files, ma purtroppo molti .exe di app da installare ancora, danno errore anch'essi per via delle autorizzazioni della cartella Temp stessa, alcuni addirittura non fanno proprio nulla, non si aprono nemmeno. Da notare che anche dopo aver formattato il problema si è ripresentato pari pari dopo uno dei primi riavvii, e Dropbox è una delle prime app che ho installato. Credo di aver capito a cosa è legato il problema: ai drivers nVidia installati automaticamente da Windows al primo avvio, insieme al software "Driver grafico NVidia", "Driver grafico NVidia 3dVision" e altre cose inutili. Credo ciò perché nella cartella Temp c'è una cartella NVIDIA con dei files, e il problema spesso mi si ripresenta quando si aggiornano i drivers della scheda video. Però è solo una mia opinione. In ogni caso logicamente ho disinstallato il software e rimosso la cartella NVIDIA da Temp ma purtroppo ad ogni riavvio Windows mi reinstalla tutto il pacchetto automaticamente... Dopo aver formattato speravo di aver risolto e invece niente, ormai sono a corto di idee, qualcuno ha una genialata in mente? ![]() Grazie a tutti ![]()
__________________
Mobo: ASUS z87 Pro|| Procio: Intel Core i7 4770k @4.3GHz (100x43) || RAM: 2 x 8GB Corsair Dominator Platinum @1866MHz || Graphic: Asus nVidia GTX780 || SSD: Samsung 840Pro 256GB || SSD 2: Samsung 860 QVO 1TB || Ali: Corsair AX860 Pro Series @860W 80+ Platinum || Dissi: ThermalTake NIC C4 || SO: Windows 10 x64|| Monitor: BenQ VZ2770 + Samsung SA300 ![]() Ultima modifica di fdm91hu : 09-09-2014 alle 18:45. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: May 2005
Messaggi: 8697
|
Il problema dei permessi è che non si possono "bloccare", qualunque software di terze parti ( che sia NVIDIA o altro non importa, la causa è causata da terzi ) con diritti amministrativi può cambiare i permessi ad una cartella.
Senza perderci molto tempo, io farei una Task ( con Pianifica Attività-Operazioni Pianificate ) con i privilegi elevati e/o account SYSTEM in modo di non avere il prompt UAC ( nella scheda "Generale" della Task creata clicca su "Cambia utente o gruppo", scrivi SYSTEM e dai conferma ) che ad ogni avvio reimposti i permessi della cartella %TEMP% Per rendere la cartella accessibile dovrebbe bastare: Codice:
TAKEOWN /r /d S /f "C:\Users\NOME_UTENTE\Appdata\Local\Temp" ![]()
__________________
. Thread Ufficiali: EasyCrypt ~ Old Files Manager ~ OSD Clock The real me is no match for the legend . |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jul 2006
Città: Napoli
Messaggi: 2380
|
Ottimo! Provo la modifica dopo e ti tengo aggiornato nei giorno successivi sperando non si ripresenti! Grazie mille per la risposta
![]()
__________________
Mobo: ASUS z87 Pro|| Procio: Intel Core i7 4770k @4.3GHz (100x43) || RAM: 2 x 8GB Corsair Dominator Platinum @1866MHz || Graphic: Asus nVidia GTX780 || SSD: Samsung 840Pro 256GB || SSD 2: Samsung 860 QVO 1TB || Ali: Corsair AX860 Pro Series @860W 80+ Platinum || Dissi: ThermalTake NIC C4 || SO: Windows 10 x64|| Monitor: BenQ VZ2770 + Samsung SA300 ![]() |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Jul 2006
Città: Napoli
Messaggi: 2380
|
Aggiorno il thread, in quanto purtroppo la tua soluzione non funge. Il problema è che io sono già il proprietario di Temp e quello che invece viene eliminato non è la proprietà della cartella bensì il mio nome utente nella tab "Autorizzazioni", ecco la schermata.
![]() Dopo il lancio dello script che mi hai passato effettivamente prendo proprietà di tutte le cartelle, ma in realtà lo sono già. A me serve comparire in questa lista come in questa seconda schermata: ![]() ed onestamente non ho la benchè minima idea di come farlo tramite script ![]() Grazie ancora! EDIT: credo di aver trovato qualcosa, il comando Codice:
icacls <foldername> /grant administrators:F /T ARIEDIT: il comando non modifica nulla, aggiunge solo il mio utente ma di fatto senza nessuna autorizzazione. Il codice usato è Codice:
icacls D:\Users\Francesco\AppData\Local\Temp /grant Francesco:F /T
__________________
Mobo: ASUS z87 Pro|| Procio: Intel Core i7 4770k @4.3GHz (100x43) || RAM: 2 x 8GB Corsair Dominator Platinum @1866MHz || Graphic: Asus nVidia GTX780 || SSD: Samsung 840Pro 256GB || SSD 2: Samsung 860 QVO 1TB || Ali: Corsair AX860 Pro Series @860W 80+ Platinum || Dissi: ThermalTake NIC C4 || SO: Windows 10 x64|| Monitor: BenQ VZ2770 + Samsung SA300 ![]() Ultima modifica di fdm91hu : 09-09-2014 alle 17:31. |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: May 2005
Messaggi: 8697
|
Quasi giusto:
Codice:
ICACLS "C:\Percorso\Cartella" /grant "NOME_UTENTE":(OI)(CI)F /T
__________________
. Thread Ufficiali: EasyCrypt ~ Old Files Manager ~ OSD Clock The real me is no match for the legend . Ultima modifica di x_Master_x : 11-09-2014 alle 17:26. |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Jul 2006
Città: Napoli
Messaggi: 2380
|
Allora, aggiorno il thread. Sono riuscito a prendere il controllo della cartella tramite il comando di reset dei permessi:
Codice:
icacls D:\Users\Francesco\Local\AppData\Temp /reset /T In attesa di un responso ufficiale, ti ringrazio dell'aiuto in ogni caso, se non fosse stato per te con il consiglio del TAKEOWN non sarei mai riuscito a trovare uno script adatto e nemmeno ci avrei pensato. Spero di poter essere d'aiuto anche ad altri che abbiano questo problema ![]() EDIT: non avevo letto in tempo il tuo messaggio, proverò anche questo. Ma scusa, nell'help del comando dice che F mi dà accesso completo, come mai devo inserire anche le altre due autorizzazioni singole?
__________________
Mobo: ASUS z87 Pro|| Procio: Intel Core i7 4770k @4.3GHz (100x43) || RAM: 2 x 8GB Corsair Dominator Platinum @1866MHz || Graphic: Asus nVidia GTX780 || SSD: Samsung 840Pro 256GB || SSD 2: Samsung 860 QVO 1TB || Ali: Corsair AX860 Pro Series @860W 80+ Platinum || Dissi: ThermalTake NIC C4 || SO: Windows 10 x64|| Monitor: BenQ VZ2770 + Samsung SA300 ![]() Ultima modifica di fdm91hu : 09-09-2014 alle 18:26. |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: May 2005
Messaggi: 8697
|
Di nulla, una genialata al giorno toglie il medico di torno
![]() Scherzi a parte, quando hai formattato i permessi erano quelli di default ma NVIDIA o chi per esso li ha modificati comunque, te lo ripeto chiunque/qualunque cosa con diritti amministrativi é in grado di modificare le autorizazioni, impossibile che il tuo utente amministratore non li possa più modificare. In ogni caso hai la stringa giusta e la procedura da seguire in caso ti dovesse servire. Icalcs...le due sigle stanno per "Container Inherit" e "Object Inherit", cioé le informazioni dell'ereditarietà. Trovi tutte le spiegazioni sulla documentazione ufficiale o l'help della commandline.
__________________
. Thread Ufficiali: EasyCrypt ~ Old Files Manager ~ OSD Clock The real me is no match for the legend . |
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Jul 2006
Città: Napoli
Messaggi: 2380
|
Quote:
In ogni caso seguo il tuo consiglio e metto un'attività all'avvio con la stringa che mi hai dato, così anche se dovesse ricapitare, Nvidia se la prende in ![]() Grazie ancora ![]()
__________________
Mobo: ASUS z87 Pro|| Procio: Intel Core i7 4770k @4.3GHz (100x43) || RAM: 2 x 8GB Corsair Dominator Platinum @1866MHz || Graphic: Asus nVidia GTX780 || SSD: Samsung 840Pro 256GB || SSD 2: Samsung 860 QVO 1TB || Ali: Corsair AX860 Pro Series @860W 80+ Platinum || Dissi: ThermalTake NIC C4 || SO: Windows 10 x64|| Monitor: BenQ VZ2770 + Samsung SA300 ![]() |
|
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Jul 2006
Città: Napoli
Messaggi: 2380
|
Master, mi dispiace ma debbo riaprire il thread
![]() ![]() L'ho messa da eseguire ad ogni AVVIO di conseguenza devo immaginare che qualunque app modifichi le autorizzazioni della maledettissima cartella Temp, lo fa anch'essa all'avvio ma DOPO la Task. A questo punto penso, potrei eseguire la task ad ogni ACCESSO di un qualsiasi utente anzichè all'avvio, oppure come posso risolvere? ![]() Grazie ancora e scusa per la rompiballagine ![]()
__________________
Mobo: ASUS z87 Pro|| Procio: Intel Core i7 4770k @4.3GHz (100x43) || RAM: 2 x 8GB Corsair Dominator Platinum @1866MHz || Graphic: Asus nVidia GTX780 || SSD: Samsung 840Pro 256GB || SSD 2: Samsung 860 QVO 1TB || Ali: Corsair AX860 Pro Series @860W 80+ Platinum || Dissi: ThermalTake NIC C4 || SO: Windows 10 x64|| Monitor: BenQ VZ2770 + Samsung SA300 ![]() |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: May 2005
Messaggi: 8697
|
Proviamo a cambiare approccio, aggiungiamo l'utente prima dell'apertura del programma.
Copia-Incolla queste stringhe su un Blocco Note e salva come .VBS Codice:
' x_Master_x Dim objShell Set objShell = WScript.CreateObject("WScript.Shell") objShell.Run """ICACLS"" ""C:\Users\NOME_UTENTE\AppData\Local\Temp"" /grant ""NOME_UTENTE"":(OI)(CI)F /T""", 0, True If WScript.Arguments.Count = 0 Then WScript.Echo "Nessun software selezionato" WScript.Quit End If objShell.Run """" & WScript.Arguments(0) & """", 1, False Set objShell = Nothing P.S. Se vuoi poi usare anche il reset delle impostazioni, basta sostituire la quarta linea con questa: Codice:
objShell.Run """ICACLS"" ""C:\Users\NOME_UTENTE\AppData\Local\Temp"" /reset /T""", 0, True Il percorso da scrivere sarà: Codice:
C:\Windows\System32\wscript.exe "C:\Percorso\File.vbs" "C:\Windows\System32\notepad.exe" Ho provato con una cartella creata apposta senza diritti in un ambiente protetto e funziona correttamente, vediamo questa volta come va a finire.
__________________
. Thread Ufficiali: EasyCrypt ~ Old Files Manager ~ OSD Clock The real me is no match for the legend . Ultima modifica di x_Master_x : 11-09-2014 alle 17:58. |
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Jul 2006
Città: Napoli
Messaggi: 2380
|
Grazie mille!
![]() Ah, non credo sia importante, ma lo dico comunque. Il percorso esatto della cartella Users è in D: e non in C: perché avendo l'SSD (C) ed un hard disk (D) ho fatto un relocate della cartella Users nel secondo, altrimenti l'SSD si riempiva in niente ![]() Ovviamente i percorsi li ho sempre inseriti correttamente (ossia icacls D:\ecc.. /grant ecc...) EDIT: inoltre il percorso di Temp nel mio PC è AppData/Local/Temp e non Local/AppData/Temp ![]() ariedit: ma l'@echo "Nessun software selezionato" nel vbs devo sostituirlo con qualcosa o lo devo lasciare così? Poi alla fine metto il tutto in Esecuzione Automatica? O devo creare una task?
__________________
Mobo: ASUS z87 Pro|| Procio: Intel Core i7 4770k @4.3GHz (100x43) || RAM: 2 x 8GB Corsair Dominator Platinum @1866MHz || Graphic: Asus nVidia GTX780 || SSD: Samsung 840Pro 256GB || SSD 2: Samsung 860 QVO 1TB || Ali: Corsair AX860 Pro Series @860W 80+ Platinum || Dissi: ThermalTake NIC C4 || SO: Windows 10 x64|| Monitor: BenQ VZ2770 + Samsung SA300 ![]() Ultima modifica di fdm91hu : 11-09-2014 alle 18:03. |
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: May 2005
Messaggi: 8697
|
Non sono d'accordo al reindirizzo dell'intera cartella "User" su un'altra partizione usando le junction ( bisognerebbe fare un'installazione ad-hoc ) poiché crea incompatibilità varie, magari chi mi dice che non sia quella la causa dei permessi rimossi?
Il percorso Local\AppData l'ho preso dal tuo post ![]() P.S. Ho editato il VBS, ho messo un False al posto di un True. Nulla di che però é meglio dirtelo. EDIT: Il messaggio serve, lascialo stare. Devi fare un collegamento ( o più collegamenti, dipenda da quali programmi danno errore con la cartella Temp ) come indicato ed avviare il software dal suddetto.
__________________
. Thread Ufficiali: EasyCrypt ~ Old Files Manager ~ OSD Clock The real me is no match for the legend . Ultima modifica di x_Master_x : 11-09-2014 alle 21:32. |
![]() |
![]() |
![]() |
#13 | |
Senior Member
Iscritto dal: Jul 2006
Città: Napoli
Messaggi: 2380
|
Quote:
![]() ![]()
__________________
Mobo: ASUS z87 Pro|| Procio: Intel Core i7 4770k @4.3GHz (100x43) || RAM: 2 x 8GB Corsair Dominator Platinum @1866MHz || Graphic: Asus nVidia GTX780 || SSD: Samsung 840Pro 256GB || SSD 2: Samsung 860 QVO 1TB || Ali: Corsair AX860 Pro Series @860W 80+ Platinum || Dissi: ThermalTake NIC C4 || SO: Windows 10 x64|| Monitor: BenQ VZ2770 + Samsung SA300 ![]() |
|
![]() |
![]() |
![]() |
#14 |
Senior Member
Iscritto dal: May 2005
Messaggi: 8697
|
L'installazione con sysprep-oobe é la procedura a cui mi riferivo ed é la più sicura possibile, pensavo avessi fatto le junction come tanti erroneamente fanno.
__________________
. Thread Ufficiali: EasyCrypt ~ Old Files Manager ~ OSD Clock The real me is no match for the legend . |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:59.