Рейтинг:1

Как добавить разрешения на именованные каналы Windows с помощью powershell?

флаг ao

Как я могу добавить разрешения для определенной группы на чтение/запись из существующего именованного канала, используя сценарий powershell?

Это то, что я сделал:

$AccessRule = New-Object System.IO.Pipes.PipeAccessRule("Пользователи", "Полный контроль", "Разрешить")
$PipeSecurity = [System.IO.Directory]::GetAccessControl("\.\pipe\docker_engine")
$PipeSecurity.AddAccessRule($AccessRule) 

бросить ошибку

Невозможно преобразовать аргумент "правило", со значением: "System.IO.Pipes.PipeAccessRule", для ввода "AddAccessRule" "System.Security.AccessControl.FileSystemAccessRule"

Рейтинг:0
флаг cn
Ben
$account="<ДОМЕН>\<ИМЯ ПОЛЬЗОВАТЕЛЯ>"
$npipe = "\.\pipe\docker_engine"                                                                                 
$dInfo = New-Object "System.IO.DirectoryInfo" -ArgumentList $npipe                                               
$dSec = $dInfo.GetAccessControl()                                                                                 
$fullControl = [System.Security.AccessControl.FileSystemRights]::FullControl                                       
$allow =[System.Security.AccessControl.AccessControlType]::Разрешить                                                  
$rule = New-Object "System.Security.AccessControl.FileSystemAccessRule" -ArgumentList $account,$fullControl,$allow
$dSec.AddAccessRule($правило)                                                                                        
$dInfo.SetAccessControl($dSec)
Рейтинг:0
флаг in

хотя решение Бена работает, правила доступа теряются при каждом перезапуске демона Docker.

Но в случае с Docker есть постоянное исправление:
Создайте файл %programdata%\docker\config\daemon.json со следующим содержанием:

{
    "группа": "Пользователи"
}

Это позволяет всем пользователям в группе Windows Пользователи чтобы открыть именованный канал без прав администратора.

Лучший Ян


Это документация.

-G, --group строка | Группа для сокета unix (по умолчанию "docker")

Он говорит «сокет unix», но работает и для именованного канала.

Группа по умолчанию, кажется, докер, но не создается демоном. И Docker Desktop создает группу с именем докер-пользователи.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.