🙂 İNSANLARIN EN HAYIRLISI INSANLARA FAYDALI OLANDIR 🙂

Ramazan HABER / C# RMOS / dosya izinleri paylaşıma açma vs.

1-) C# RMOS - dosya izinleri paylaşıma açma vs.

 

 

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.IO;

using System.Linq;

using System.Security.AccessControl;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

 

namespace WindowsFormsApplication4

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

 

        private void Form1_Load(object sender, EventArgs e)

        {

            try

            {

                string DirectoryName = "TestDirectory";

 

                Console.WriteLine("Adding access control entry for " + DirectoryName);

 

                // Add the access control entry to the directory.

                AddDirectorySecurity(DirectoryName, @"RAMBO\hasan", FileSystemRights.ReadData, AccessControlType.Allow);

               // AddDirectorySecurity(DirectoryName, @"RAMBO\hasan", FileSystemRights.Delete, AccessControlType.Allow);

               // AddDirectorySecurity(DirectoryName, @"RAMBO\hasan", FileSystemRights.Modify, AccessControlType.Allow);

               // AddDirectorySecurity(DirectoryName, @"RAMBO\hasan", FileSystemRights.Write, AccessControlType.Allow);

 

                Console.WriteLine("Removing access control entry from " + DirectoryName);

 

                // Remove the access control entry from the directory.

                //RemoveDirectorySecurity(DirectoryName, @"RAMBO\hasan", FileSystemRights.ReadData, AccessControlType.Allow);

 

                Console.WriteLine("Done.");

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

 

        }

 

        // Adds an ACL entry on the specified directory for the specified account.

        public static void AddDirectorySecurity(string FileName, string Account, FileSystemRights Rights, AccessControlType ControlType)

        {

            // Create a new DirectoryInfo object.

            DirectoryInfo dInfo = new DirectoryInfo(FileName);

 

            // Get a DirectorySecurity object that represents the

            // current security settings.

            DirectorySecurity dSecurity = dInfo.GetAccessControl();

 

            // Add the FileSystemAccessRule to the security settings.

            dSecurity.AddAccessRule(new FileSystemAccessRule(Account,

                                                            Rights,

                                                            ControlType));

 

            // Set the new access settings.

            dInfo.SetAccessControl(dSecurity);

 

        }

 

        // Removes an ACL entry on the specified directory for the specified account.

        public static void RemoveDirectorySecurity(string FileName, string Account, FileSystemRights Rights, AccessControlType ControlType)

        {

            // Create a new DirectoryInfo object.

            DirectoryInfo dInfo = new DirectoryInfo(FileName);

 

            // Get a DirectorySecurity object that represents the

            // current security settings.

            DirectorySecurity dSecurity = dInfo.GetAccessControl();

 

            // Add the FileSystemAccessRule to the security settings.

            dSecurity.RemoveAccessRule(new FileSystemAccessRule(Account,

                                                            Rights,

                                                            ControlType));

 

            // Set the new access settings.

            dInfo.SetAccessControl(dSecurity);

 

        }

    }

}

 

 2021 Ocak 18 Pazartesi
 428