Я обожаю блаблаблабр за обилие статей, которые раз за разом подчеркивают функциональность и продуманность Linux. Причем, статьи даже не содержат ни слова о самом Linux. Кто понимает о чем речь, тот и так все увидит.
Итак, вот, скажем, статейка.
Цитирую задачу:
Простенький скрипт ... для случая, когда необходимо создать папки для ряда пользователей на файловом сервере при условии, что названия папок будут совпадать с именами пользователей и эти пользователи будут иметь определенный уровень доступа к этим (своим) папкам. Все это может создаваться внутри определенной папки непосредственно на сервере или через сеть в общей папке по UNC пути.
Собственно, первый вариант:
#
# PowerShell Script.
# Creates home folders for users from an OU in AD and set permissions.
# Prepared by Alexander Lipovetskiy. August 2013.
#
cls
# We need the AD module for this first
Import-Module ActiveDirectory
# A folder or share where home folders must be created.
$Dir = "D:\Users"
# or $Dir = "\\server\share\"
# Path to an OU with users.
$Users = Get-ADUser -Filter * -SearchBase "OU=Users,OU=Muhosransk,DC=domain,DC=com"
# Creating folders and set permissions.
foreach ($User in $Users) {
$User = $User.Name
$Path = New-Item -ItemType Directory -Path $Dir -Name $User
$Args = New-Object system.security.accesscontrol.filesystemaccessrule($User,"Modify, Synchronize", "ContainerInherit, ObjectInherit", "None", "Allow")
$ACL = Get-Acl $Path
$ACL.SetAccessRule($Args)
Set-Acl $Path $ACL
}
[sarcasm_mode]Да это уже просто ultrakill в стиле PowerShell![/sarcasm_mode]Благодарные эксперты блаблабабра получают плюсы за поцелуи автора в задницу. Занавес.
Кто не понял, в линуксе все делает просто и, как это сейчас модно, искаропки бесплатно без смс:
$ adduser USER_NAME