RE:Permisos de un fichero/directorio
Este codigo de ejemplo ....
'hace que bloquees un archivo o directorio para determinado usuario, del amisma manera restableces los permisos para el archivo o directorio.....
Crea una carpeta llamada C:\Security y en ella un archivo llamado filex.txt
anade algo de texto y prueba el codigo, debes tener 2 botones boton1 bloquear y boton 2 desbloquear, bloqueas y vas al explorador y tratrade abrire larchivo creado, luego desbloqueas y verficias en el explorador de windows si funciono (esta OK) ........espero te ayude................
olvidaba, my.user.name debes remplazar por el usuario que quiere bloquear. Ejm: "DELL\Invitado" dell es el dominioy invitado es el usuario.. va en comillas.
Imports System.IO
Imports System.Security
Imports System.Security.Permissions
Imports System
Imports System.Security.AccessControl
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
Dim fileName As String = "C:\Security\filex.txt"
AddFileSecurity(fileName, My.User.Name, _
FileSystemRights.Delete, AccessControlType.Deny)
MessageBox.Show("Control de acceso creado para: " & fileName)
Catch ex As Exception
MessageBox.Show(ex.Source)
End Try
End Sub
Sub AddFileSecurity(ByVal fileName As String, ByVal account As String, _
ByVal rights As FileSystemRights, ByVal controlType As AccessControlType)
Dim fSecurity As FileSecurity = File.GetAccessControl(fileName)
Dim accessRule As FileSystemAccessRule = New FileSystemAccessRule(account, rights, controlType)
fSecurity.AddAccessRule(accessRule)
' Set the new access settings.
File.SetAccessControl(fileName, fSecurity)
End Sub
Sub RemoveFileSecurity(ByVal fileName As String, ByVal account As String, _
ByVal rights As FileSystemRights, ByVal controlType As AccessControlType)
Dim fSecurity As FileSecurity = File.GetAccessControl(fileName)
Dim accessRule As FileSystemAccessRule = New FileSystemAccessRule(account, rights, controlType)
fSecurity.ResetAccessRule(accessRule)
' Set the new access settings
File.SetAccessControl(fileName, fSecurity)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Try
Dim fileName As String = "C:\Security\filex.txt"
RemoveFileSecurity(fileName, My.User.Name, _
FileSystemRights.ReadData, AccessControlType.Allow)
MessageBox.Show("Control de acceso eliminado para: " & fileName)
Catch ex As Exception
MessageBox.Show(ex.Source)
End Try
End Sub