none
Как дать права на файл? RRS feed

  • Вопрос

  • Доброе время суток.

    Есть сеть с поднятым AD, сейчас ставим программу которая  пишет файлы в System32.

    Задача: нужен скрипт, который даст права пользователю или группе на эти конкретные файлы, что бы из-под пользователя можно было обновить это ПО.

    (возможно существует другое решение данной проблеммы)

    14 января 2008 г. 8:15

Ответы

Все ответы

  • cacls

    icacls для Vista.

     

    14 января 2008 г. 8:34
  • через групповую политику

    конфигурация компьютера-конфигурация виндовс-параметры безопастности-файловая система

     

    14 января 2008 г. 12:11
  • Есть задача. Необходимо создать большое кол-во папок пользователей.

    Для этого был создана общая папка \\Server\Usersв кот. должны распологаться папки пользователей

    Сами папки создаются сценарием приведённым ниже

     

    Образец кода

    $strFilter = "user"
     
    $Domain = [adsi]"LDAP://OU=Test Users,DC=testdomain,DC=local"
    $Searcher = New-Object System.DirectoryServices.DirectorySearcher
    $Searcher.SearchRoot = $Domain
    $Searcher.PageSize = 1000  
     
    $Searcher.Filter = "(objectCategory=$strFilter)"
     
    $s = ""
     
    $Searcher.FindAll() | ForEach-Object -Process {
        $Entry = $_.GetDirectoryEntry() 
        new-item -path "\\Server\Users" -name  $Entry.sAMAccountName -type "directory"
    }

     

     

    Никак не соображу, как средствами PowerShell раздать права на эти папки, чтобы администратор имел полный доступ ко всему, а пользователи только каждый к своей папке?
    21 января 2008 г. 10:23
  • Set-ACL?

     

    21 января 2008 г. 10:53
  •  Alexander Trofimov написано:
    Set-ACL?

     

    Какой командлет для этого нужен это понятно

    Непонятно как его использовать

    точнее, что из себея представляет параметр -aclObject <ObjectSecurity>. Во всех примерах он создаётся с помощью Get-ACL, а потом используется как параметр Set-ACL

    Образец кода


     C:\PS>$DogACL = get-acl c:\dog.txt

     C:\PS>set-acl -path C:\cat.txt -AclObject $DogACL

     

     

    а как его в ручную созадть? Вот в чём вопрос.

    21 января 2008 г. 11:21
  • Понял вопрос, счас перенаправим кому нужно =)

     

    21 января 2008 г. 11:48
  • Дима Сотников - МЕГАМОНСТР:

    http://www.itcommunity.ru/blogs/dmitrysotnikov/archive/2008/01/21/4063.aspx

    =)))))))

     

    21 января 2008 г. 12:47
  • Чтоб не тянуть кота за хвост

    Короче, в результате получился такой вот сценарий

    Code Snippet

    $strFilter = "user"

    $Domain = [adsi]"LDAP://OU=Test Users,DC=testdomain,DC=local"

    $Searcher = New-Object System.DirectoryServices.DirectorySearcher

    $Searcher.SearchRoot = $Domain

    $Searcher.SearchScope = "Subtree"

    $Searcher.PageSize = 1000

    $Searcher.Filter = "(objectCategory=$strFilter)"

     

    $ACL = Get-Acl -Path 'c:\Temp\10'

     

    $Searcher.FindAll() | ForEach-Object -Process {

    $Entry = $_.GetDirectoryEntry()

    $UserFolder = new-item -path "c:\Temp\10" -name $Entry.sAMAccountName.ToString() -type "directory"

    $AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule($Entry.userPrincipalName, "Modify", "Allow")

    $ACL.AddAccessRule($AccessRule)

    set-acl -aclobject $ACL -path $UserFolder.FullName

    $ACL.RemoveAccessRule($AccessRule)

    }

    Всё хорошо, список пользователей берётся из нужной OU

    Папки для пользователей создаются в нужном месте с нужными именами

    Права на папки тоже раздаются нужные, но как-то необычно

    Если заглянуть в свойства, созданной папки, на закладочку "Безопасность"

    То увидим там в списке всех пользователей из вышеозначенного OU

     

    Оно вроде бы ничего, права на доступ даются только пользователю, для кот. создавалась эта папка

    Но зачем там нужны остальные пользователи, хоть и без прав?

     

    Чесно слово смущает. А из-за чего они туда попадают не понятно

    23 января 2008 г. 13:11
  • Вопрос решился заменой метода

    $ACL.RemoveAccessRule($AccessRule)

    на

    $ACL.RemoveAccessRuleAll($AccessRule)

    Но остался вопрос почему все права назначаются, как "Особые разрешения"?

    23 января 2008 г. 15:20
  • Посмотрите в дополнительно, скорее всего права даются "Только для этой папки"
    18 апреля 2009 г. 17:37