我在创建用户AD帐户时使用Python创建新的个人文件夹.正在创建该文件夹但权限不正确.Python可以将用户添加到新创建的文件夹并更改其权限吗?我不知道从哪里开始编码.
我正在尝试更改.NET Core中文件的权限.但是,似乎FileInfo已经没有SetAccessControl了.
// Create a new FileInfo object.
FileInfo fInfo = new FileInfo(FileName);
// Get a FileSecurity object that represents the
// current security settings.
FileSecurity fSecurity = fInfo.GetAccessControl();
// Add the FileSystemAccessRule to the security settings.
fSecurity.AddAccessRule(new FileSystemAccessRule(Account,
Rights,
ControlType));
// Set the new access settings.
fInfo.SetAccessControl(fSecurity);
Run Code Online (Sandbox Code Playgroud)
目标只是将执行权添加到文件的当前所有者(不是Windows或Unix特定功能).
有关如何在.NET Core上执行此操作的任何线索?
我的应用程序正在创建一个目录,以便我可以在其中存储日志文件.我正在为目录添加用户安全性,但我不知道如何使其传播.例如,我将用户添加everyone到目录中,并使用read和write访问,但是当我的应用程序在此目录中创建日志文件时,日志文件未继承everyone安全性(读取,写入).
我错过了什么?
DirectorySecurity dirSec = Directory.GetAccessControl(_dbPath);
dirSec.AddAccessRule(new FileSystemAccessRule("Everyone", FileSystemRights.Write, AccessControlType.Allow));
dirSec.AddAccessRule(new FileSystemAccessRule("Everyone", FileSystemRights.ReadAndExecute, AccessControlType.Allow));
dirSec.AddAccessRule(new FileSystemAccessRule("Everyone", FileSystemRights.CreateFiles, AccessControlType.Allow));
Directory.SetAccessControl(_dbPath, dirSec);
Run Code Online (Sandbox Code Playgroud) 我正在使用C#StreamWritier类.问题:
我正在创建这样的文件:
private void button1_Click(object sender, EventArgs e)
{
SaveFileDialog save = new SaveFileDialog();
save.FileName = textBox1.Text;
save.Filter = "Text File | *.rtf";
if (save.ShowDialog() == DialogResult.OK)
{
StreamWriter writer = new StreamWriter(save.OpenFile());
writer.WriteLine(textBox2.Text);
}
writer.Dispose();
writer.Close();
}
Run Code Online (Sandbox Code Playgroud) 我想将文件设置为可供所有用户写入.
FileSecurity sec = File.GetAccessControl(fileName);
string users = ?????;
sec.AddAccessRule(new FileSystemAccessRule(
users,
FileSystemRights.Write,
AccessControlType.Allow));
File.SetAccessControl(fileName, sec);
Run Code Online (Sandbox Code Playgroud)
问题是我不知道要使用哪个字符串.我试过了users = WindowsAccountType.Normal.ToString(),但这只是给出了,但是"Normal"没有用.如何获取指定计算机上所有用户组的字符串?