Nega l'accesso all'eliminazione per un utente al file ma consentigli di eseguire l'accesso


1

Voglio impostare le autorizzazioni in modo che un file eseguibile non possa essere eliminato o rinominato ma possa essere eseguito.

Quando nego che non sia possibile eliminarlo, non è possibile eseguirlo. Perché?

C'è un modo per renderlo non cancellabile ma eseguibile? (Sto usando le autorizzazioni avanzate per impostarlo per consentire l'esecuzione e la lettura del file).


Esattamente come hai negato che fosse cancellato?
Moab,

Jus ha negato di eliminarlo nelle autorizzazioni avanzate, impostandolo anche per consentire l'esecuzione e la lettura del file.
Non sono qui il

Risposte:


1

Impedisci l'eliminazione o la ridenominazione dei file ma consenti l'accesso in lettura ed esecuzione

Prova icacls con la sintassi seguente sul file che desideri bloccare e con il nome utente (o il nome del gruppo di sicurezza) per cui verrà applicato. Ci sono note di commento nello script sopra ogni comando accluso con :::spiegazione di ciò che ciascuno fa specificamente per ACL le autorizzazioni.

È necessario ripristinare le autorizzazioni ACL al modo in cui erano state inizialmente impostate inizialmente prima di apportare qualsiasi modifica apportata prima di eseguirla. Una volta completato, verifica che l'account possa eseguire il file, quindi esegui lo script seguente.

In sostanza, questo disabilita l'eredità ACL nella cartella in cui risiede il file eseguibile e nel file stesso. Concede quindi una lettura esplicita ed esegue sia la cartella che il file eseguibile. Per impedire la ridenominazione del file, nega di creare file / scrivere dati nella cartella in cui risiede il file eseguibile. Infine, nega esplicitamente l'accesso alla cartella e al file eseguibile.


copione

@ECHO ON
SETLOCAL ENABLEDELAYEDEXPANSION
SET "Exe=C:\Folder\Path\file.exe"
SET "uAccount=Username"
FOR %%a in ("%Exe%") DO SET "eFolder=%%~DPa"
::: This strips the last "\" from the folder the exe resides so icacls can process
SET "eFolder=!eFolder:~0,-1!"

::: Disables ACL inheritence on the folder the exe file resides but copies all ACLs as inherited before removing
ICACLS "!eFolder!" /inheritance:d /grant:r "%uAccount%:(OI)(IO)" /C
::: Remove all granted permission ACLs on only the folder the exe file resides
ICACLS "!eFolder!" /remove:g "%uAccount%" /C
::: Remove all denied permission ACLs on only the folder the exe file resides
ICACLS "!eFolder!" /remove:g "%uAccount%" /C
::: Grants explicit read and execute ACL access on only the folder the exe file resides
ICACLS "!eFolder!" /grant:r "%uAccount%:(RX)" /C
::: Denies delete ACL access on only the folder the exe file resides  
ICACLS "!eFolder!" /deny "%uAccount%":(DE)
::: Denies create files / write data ACL access on only the folder the exe file resides  
ICACLS "!eFolder!" /deny "%uAccount%":(WD)

::: Disables ACL inheritence on the exe file only but copies all ACLs as inherited before removing
ICACLS "%Exe%" /inheritance:d /grant:r "%uAccount%:(OI)(IO)" /C
::: Remove all granted permission ACLs on only the exe file
ICACLS  "%Exe%"  /remove:g "%uAccount%" /C
::: Remove all denied permission ACLs on only the exe file
ICACLS  "%Exe%"  /remove:g "%uAccount%" /C
::: Grants explicit read and execute ACL access only to the exe file
ICACLS "%Exe%" /grant:r "%uAccount%:(RX)" /C
::: Grants an explicit deny of delete ACL access only to the exe file
ICACLS "%Exe%" /deny "%uAccount%":(DE)


PAUSE
EXIT

Nota: modificare il valore della Exe=variabile in modo che sia il percorso esplicito completo del file eseguibile che si desidera bloccare e il valore della uAccount=variabile in modo che corrisponda al nome utente (o ai nomi dei gruppi di sicurezza) dell'account (o gruppo) che si desidera questo da eseguire.


Chiarimento delle autorizzazioni ACL della GUI

Cartella in cui risiede l'exe

inserisci qui la descrizione dell'immagine

Il file exe stesso inserisci qui la descrizione dell'immagine


Ulteriori risorse


Bel lavoro che hai fatto! Ma ci sono alcuni problemi: * Ho solo bisogno della cartella e il file ".exe" non può essere rinominato ed eliminato. Ho ancora bisogno di mettere i file in questa cartella e quindi eliminare questi file. Solo il .exefile non verrà eliminato.
Non sono qui il

Inoltre ho un problema con il nome della mia cartella Pay&Go. Ho provato a saltare il &con ^ma ha funzionato solo per alcune righe, altre righe (non so perché) non hanno riconosciuto la cartella.
Non sono qui il

Stai aiutando molto! Ti ringrazio davvero per quello! Bene, il problema &è ancora in corso, il primo passo della sceneggiatura non riconosce il nome, ma l'ultima parte lo riconosce. È strano ... sto aspettando che tu pensi in un modo per negare la ridenominazione del nome ma consentendo di inserire file;)
Non sono qui

@IamnotHere Ma come ho detto, dobbiamo mettere il tuo exe C:\Folder\Path\<Apps>\file.exee bloccare i file exe nelle loro sottocartelle in modo che la cartella in cui si trova la ~\<Apps>cartella possa ancora far cadere i file, ecc. La prevenzione della ridenominazione e la necessità di scrivere i file nello stesso la posizione è il problema, quindi puoi semplicemente mettere gli eseguibili in una sottocartella aggiuntiva e tutto sarebbe buono come l'oro, penso. Continuo a leggere i miei altri due commenti in quanto entrambi possono essere utili per farmi quello che stai usando esattamente e per aiutare con il &problema del personaggio.
Pimp Juice IT

Ho appena provato il tuo nuovo script e il problema &è stato risolto. Ha funzionato bene! Quindi, la parte della creazione di una sottocartella che proverò domani. Ti dico com'è andata. Grazie per il tempo! Ho comunque caricato il mio script pastebin.com/CTgZF17K La mia lingua di sistema è portoghese - brasiliano. Uso Windows 10 Home Leanguage singolo.
Non sono qui dal
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.