Quali passaggi posso fornire a un utente Windows per rendere scrivibile un determinato file

StackOverflow https://stackoverflow.com/questions/37525

  •  09-06-2019
  •  | 
  •  

Domanda

Immaginiamo di avere un programma che tenta di scrivere su un particolare file, ma senza successo.

Sulla piattaforma Windows, quali sono le possibili cause che potrebbero rendere il file non scrivibile e quali passaggi potrebbero essere suggeriti a un utente finale/amministratore per risolverlo.


Si prega di includere passaggi che potrebbero richiedere autorizzazioni di amministratore (ovviamente gli utenti potrebbero non essere amministratori, ma per questa domanda, supponiamo che siano (o possano diventare) amministratori.

Inoltre, non ho molta familiarità con il modo in cui vengono calcolate le autorizzazioni in Windows: l'utente ha bisogno dell'accesso in scrittura a ciascuna directory dell'albero o qualcosa del genere?

È stato utile?

Soluzione

Alcuni suggerimenti:

  • Nessuna autorizzazione di scrittura (ottieni l'autorizzazione tramite la scheda Sicurezza nella finestra Proprietà del file;devi essere il proprietario del file o un amministratore)
  • Il file è bloccato (chiudi qualsiasi programma che potrebbe avere il file aperto, quindi riavvia se il problema persiste)
  • Il file ha l'attributo DOS di sola lettura impostato (disimpostarlo dalla finestra Proprietà del file o con attrib -r;devi essere il proprietario del file o un amministratore)

Modifica 1:Solo il secondo elemento (il file è bloccato) ha una possibile soluzione che probabilmente tutti gli utenti sarebbero in grado di fare senza aiuto.Per il primo e il terzo, probabilmente vorrai fornire una guida (e sperare che il file non sia stato reso intenzionalmente di sola lettura!).

Modifica 2:Tecnicamente, l'utente ha bisogno dei permessi di scrittura ed esecuzione (chdir) su tutte le directory fino alla root.Windows potrebbe saltare alcuni dei controlli ricorsivi sull'albero come ottimizzazione delle prestazioni, ma non dovresti fare affidamento su questo perché gli amministratori possono forzare questi cosiddetti "controlli incrociati" per determinati utenti.

Modifica 3:@RobM:Sì, dovresti verificare che non vi sia alcun motivo ovvio per cui l'utente non dovrebbe avere le autorizzazioni di cui ha bisogno ma non le ha.Ho accennato a questo in modo meno diretto nella mia prima modifica.Tuttavia, in alcuni casi gli utenti dovrebbero avere il permesso di scrittura su un file ma non lo hanno a causa della corruzione del filesystem, di un programma che si comporta in modo anomalo o di un errore da parte loro.

Altri suggerimenti

Se hai problemi a capire se il file è bloccato, prova a utilizzare Sbloccatore - è un'utilità gratuita davvero utile che ti mostra il processo che ha bloccato il file e ti consente di forzare lo sblocco se necessario.

Su Vista potrebbe anche essere che sia "contrassegnato" come non sicuro perché è stato scaricato da Internet e devi fare clic sul pulsante di sblocco nella finestra di dialogo delle proprietà di Explorer?

Cambiamo un po' la situazione.Se il tuo programma sta tentando di scrivere su un file e non riesce, devi modificare la posizione del file in una in cui l'utente può scrivere oppure verificare i diritti corretti all'avvio del programma e rifiutare l'esecuzione se l'utente non lo fa averli.Calpestare le autorizzazioni del sistema non è la risposta.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top