Bagikan melalui


FileSystemRights Enum

Definisi

Menentukan hak akses yang akan digunakan saat membuat aturan akses dan audit.

Enumerasi ini mendukung kombinasi bitwise dari nilai yang termasuk di dalamnya.

public enum class FileSystemRights
[System.Flags]
public enum FileSystemRights
[System.Flags]
[System.Security.SecurityCritical]
public enum FileSystemRights
[<System.Flags>]
type FileSystemRights = 
[<System.Flags>]
[<System.Security.SecurityCritical>]
type FileSystemRights = 
Public Enum FileSystemRights
Warisan
FileSystemRights
Atribut

Bidang

AppendData 4

Menentukan hak untuk menambahkan data ke akhir file.

ChangePermissions 262144

Menentukan hak untuk mengubah aturan keamanan dan audit yang terkait dengan file atau folder.

CreateDirectories 4

Menentukan hak untuk membuat folder Hak ini memerlukan nilai Synchronize.

CreateFiles 2

Menentukan hak untuk membuat file. Hak ini memerlukan nilai Synchronize.

Delete 65536

Menentukan hak untuk menghapus folder atau file.

DeleteSubdirectoriesAndFiles 64

Menentukan hak untuk menghapus folder dan file apa pun yang terkandung dalam folder tersebut.

ExecuteFile 32

Menentukan hak untuk menjalankan file aplikasi.

FullControl 2032127

Menentukan hak untuk memberikan kontrol penuh atas folder atau file, dan untuk mengubah kontrol akses dan aturan audit. Nilai ini mewakili hak untuk melakukan apa pun dengan file dan merupakan kombinasi dari semua hak dalam enumerasi ini.

ListDirectory 1

Menentukan hak untuk membaca konten direktori.

Modify 197055

Menentukan hak untuk membaca, menulis, mencantumkan konten folder, menghapus folder dan file, dan menjalankan file aplikasi. Hak ini mencakup kanan ReadAndExecute, kanan Write, dan kanan Delete.

Read 131209

Menentukan hak untuk membuka dan menyalin folder atau file sebagai baca-saja. Hak ini mencakup kanan ReadData, kanan ReadExtendedAttributes, kanan ReadAttributes, dan kanan ReadPermissions.

ReadAndExecute 131241

Menentukan hak untuk membuka dan menyalin folder atau file sebagai baca-saja, dan untuk menjalankan file aplikasi. Hak ini mencakup kanan Read dan kanan ExecuteFile.

ReadAttributes 128

Menentukan hak untuk membuka dan menyalin atribut sistem file dari folder atau file. Misalnya, nilai ini menentukan hak untuk melihat pembuatan file atau tanggal yang dimodifikasi. Ini tidak termasuk hak untuk membaca data, atribut sistem file yang diperluas, atau aturan akses dan audit.

ReadData 1

Menentukan hak untuk membuka dan menyalin file atau folder. Ini tidak termasuk hak untuk membaca atribut sistem file, atribut sistem file yang diperluas, atau aturan akses dan audit.

ReadExtendedAttributes 8

Menentukan hak untuk membuka dan menyalin atribut sistem file yang diperluas dari folder atau file. Misalnya, nilai ini menentukan hak untuk melihat informasi penulis dan konten. Ini tidak termasuk hak untuk membaca data, atribut sistem file, atau aturan akses dan audit.

ReadPermissions 131072

Menentukan hak untuk membuka dan menyalin aturan akses dan audit dari folder atau file. Ini tidak termasuk hak untuk membaca data, atribut sistem file, dan atribut sistem file yang diperluas.

Synchronize 1048576

Menentukan apakah aplikasi dapat menunggu handel file disinkronkan dengan penyelesaian operasi I/O. Nilai ini secara otomatis diatur saat mengizinkan akses dan secara otomatis dikecualikan saat menolak akses.

TakeOwnership 524288

Menentukan hak untuk mengubah pemilik folder atau file. Perhatikan bahwa pemilik sumber daya memiliki akses penuh ke sumber daya tersebut.

Traverse 32

Menentukan hak untuk mencantumkan konten folder dan menjalankan aplikasi yang terkandung dalam folder tersebut.

Write 278

Menentukan hak untuk membuat folder dan file, dan untuk menambahkan atau menghapus data dari file. Hak ini mencakup kanan WriteData, kanan AppendData, kanan WriteExtendedAttributes, dan kanan WriteAttributes.

WriteAttributes 256

Menentukan hak untuk membuka dan menulis atribut sistem file ke folder atau file. Ini tidak termasuk kemampuan untuk menulis data, atribut yang diperluas, atau aturan akses dan audit.

WriteData 2

Menentukan hak untuk membuka dan menulis ke file atau folder. Ini tidak termasuk hak untuk membuka dan menulis atribut sistem file, atribut sistem file yang diperluas, atau aturan akses dan audit.

WriteExtendedAttributes 16

Menentukan hak untuk membuka dan menulis atribut sistem file yang diperluas ke folder atau file. Ini tidak termasuk kemampuan untuk menulis data, atribut, atau aturan akses dan audit.

Contoh

Contoh berikut menggunakan enumerasi FileSystemRights untuk menentukan aturan akses lalu menghapus aturan akses dari file. Anda harus menyediakan akun pengguna atau grup yang valid untuk menjalankan contoh ini.

using System;
using System.IO;
using System.Security.AccessControl;

namespace FileSystemExample
{
    class FileExample
    {
        public static void Main()
        {
            try
            {
                string fileName = "test.xml";

                Console.WriteLine($"Adding access control entry for {fileName}");

                // Add the access control entry to the file.
                AddFileSecurity(fileName, @"DomainName\AccountName",
                    FileSystemRights.ReadData, AccessControlType.Allow);

                Console.WriteLine($"Removing access control entry from {fileName}");

                // Remove the access control entry from the file.
                RemoveFileSecurity(fileName, @"DomainName\AccountName",
                    FileSystemRights.ReadData, AccessControlType.Allow);

                Console.WriteLine("Done.");
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }

        // Adds an ACL entry on the specified file for the specified account.
        public static void AddFileSecurity(string fileName, string account,
            FileSystemRights rights, AccessControlType controlType)
        {
            FileInfo fileInfo = new(fileName);
            FileSecurity fSecurity = fileInfo.GetAccessControl();

            // Add the FileSystemAccessRule to the security settings.
            fSecurity.AddAccessRule(new FileSystemAccessRule(account,
                rights, controlType));

            // Set the new access settings.
            fileInfo.SetAccessControl(fSecurity);
        }

        // Removes an ACL entry on the specified file for the specified account.
        public static void RemoveFileSecurity(string fileName, string account,
            FileSystemRights rights, AccessControlType controlType)
        {
            FileInfo fileInfo = new(fileName);
            FileSecurity fSecurity = fileInfo.GetAccessControl();

            // Remove the FileSystemAccessRule from the security settings.
            fSecurity.RemoveAccessRule(new FileSystemAccessRule(account,
                rights, controlType));

            // Set the new access settings.
            fileInfo.SetAccessControl(fSecurity);
        }
    }
}
Imports System.IO
Imports System.Security.AccessControl

Module FileExample

    Sub Main()
        Try
            Dim fileName As String = "test.xml"

            Console.WriteLine("Adding access control entry for " & fileName)

            ' Add the access control entry to the file.
            AddFileSecurity(fileName, "DomainName\AccountName",
                FileSystemRights.ReadData, AccessControlType.Allow)

            Console.WriteLine("Removing access control entry from " & fileName)

            ' Remove the access control entry from the file.
            RemoveFileSecurity(fileName, "DomainName\AccountName",
                FileSystemRights.ReadData, AccessControlType.Allow)

            Console.WriteLine("Done.")
        Catch e As Exception
            Console.WriteLine(e)
        End Try

    End Sub

    ' Adds an ACL entry on the specified file for the specified account.
    Sub AddFileSecurity(ByVal fileName As String, ByVal account As String,
        ByVal rights As FileSystemRights, ByVal controlType As AccessControlType)

        Dim fileInfo As New FileInfo(fileName)
        Dim fSecurity As FileSecurity = fileInfo.GetAccessControl()

        ' Add the FileSystemAccessRule to the security settings. 
        Dim accessRule As New FileSystemAccessRule(account, rights, controlType)

        fSecurity.AddAccessRule(accessRule)

        ' Set the new access settings.
        fileInfo.SetAccessControl(fSecurity)

    End Sub

    ' Removes an ACL entry on the specified file for the specified account.
    Sub RemoveFileSecurity(ByVal fileName As String, ByVal account As String,
        ByVal rights As FileSystemRights, ByVal controlType As AccessControlType)

        Dim fileInfo As New FileInfo(fileName)
        Dim fSecurity As FileSecurity = fileInfo.GetAccessControl()

        ' Remove the FileSystemAccessRule from the security settings. 
        fSecurity.RemoveAccessRule(New FileSystemAccessRule(account,
            rights, controlType))

        ' Set the new access settings.
        fileInfo.SetAccessControl(fSecurity)

    End Sub
End Module

Keterangan

Enumerasi FileSystemRights menentukan tindakan sistem file mana yang diizinkan untuk akun pengguna tertentu dan tindakan sistem file mana yang diaudit untuk akun pengguna tertentu.

Gunakan enumerasi FileSystemRights saat membuat aturan akses dengan kelas FileSystemAccessRule atau saat membuat aturan audit dengan kelas FileSystemAuditRule.

Enumerasi ini berisi beberapa nilai hak sistem terperinci dan beberapa nilai yang merupakan kombinasi dari nilai granular tersebut. Lebih mudah menggunakan nilai kombinasi seperti FullControl, Read, dan Write, daripada menentukan setiap nilai komponen secara terpisah.

Hak CreateDirectories dan CreateFiles memerlukan hak Synchronize. Jika Anda tidak secara eksplisit mengatur nilai Synchronize saat membuat file atau direktori, nilai tersebut diatur secara otomatis untuk Anda.

Berlaku untuk