Синтаксис команды:
chown [options] username:groupname filename
если Вы просто хотите изменить пользователя для данной папки, можно не учесть :groupname
и также добавьте в a -R
заставить команду пойти рекурсивно через все файлы в папке как так:
chown -R username foldername
Если Вашу основную учетную запись не называют "Администратором", это - вероятно, не имя пользователя, которое Вы хотите использовать на OSX. Вы хотите дать себе полномочия или корень?
В ответ на "Ошибку: файловая система Только для чтения":
Если файловой системой является NTFS, Mac OS X исходно не поддерживает изменение файловые системы NTFS, но существует доступное внешнее программное обеспечение. См.:
Практическое руководство: прочитайте и запишите Windows Partition NTFS на Mac OS X
Это - багги хотя, таким образом, я был бы осторожен.
Вы ничего не пропускаете очевидное ре: названия группы. Необходимо будет следовать маршрутом изменения символьных префиксов как Вы, описывают.
ре: копирование групп - Мой сценарий из этого ответа копирует пользователей и состав группы от одной автономной машины Windows Server до другого. Вы могли, вероятно, переоборудовать долю в группе этого сценария (или, по крайней мере, взорвать его для идей). Этот сценарий не обработает рекурсивные составы группы (копирование групп, которые имеют группы как участников), но та функциональность могла быть добавлена довольно легко. Я записал бы что-то для перечисления всех групп в "Производстве", которого OU затем выполняют итерации через них изменяющий суффикс, создавая группу в "Песочнице" OU, если это уже не существует, затем заполняя целевую группу с соответствующими участниками и удаляя каких-либо несоответствующих участников.
Это основано на сценарии, предоставленном Evan Anderson (таким образом, он получит принятый кредит ответа), но я хотел предоставить точный код, который я использовал (конечно, с несколькими редакциями):
Option Explicit
Dim colSourceGroups, colDestinationGroups, objSourceGroup, objDestinationGroup, objDestinationGroupName, objSourceUser
' Debugging
Const DEBUGGING = True
' Source and destination OUs
Const SOURCE_OU = "OU=SourceOU,DC=example,DC=local"
Const DESTINATION_OU = "OU=DesintationOU,DC=example,DC=local"
' Source and Destination Prefixes to use
Const OriginalPrefix = "YC"
Const NewPrefix = "SB"
' Get groups in each OU
Set colSourceGroups = GetObject("LDAP://" & SOURCE_OU)
Set colDestinationGroups = GetObject("LDAP://" & DESTINATION_OU)
colSourceGroups.Filter = Array("group")
colDestinationGroups.Filter = Array("group")
' Delete groups in the target to avoid conflict on creation
For Each objDestinationGroup in colDestinationGroups
colDestinationGroups.Delete "group",
objDestinationGroup.Name
Next 'objDestinationGroup
'Copy source group to destination
For Each objSourceGroup in colSourceGroups
objDestinationGroupName = "CN=" & NewPrefix & Mid(objSourceGroup.Name,LEN(OriginalPrefix)+4)
If (DEBUGGING) Then WScript.Echo "Creating Group: " & objDestinationGroupName
Set objDestinationGroup = colDestinationGroups.Create("group", objDestinationGroupName)
'objDestinationGroup.Put ("Description", objSourceGroup.Get("Description"))
objDestinationGroup.SetInfo
'Add users in the source group to the destination group
'Non-recursive. Currently only supports flat groups (no nesting allowed at this time)
For Each objSourceUser In objSourceGroup.Members
If (DEBUGGING) Then WScript.Echo "Adding user " & objSourceUser.Name & " to group " & objDestinationGroup.Name
objDestinationGroup.Add(objSourceUser.aDSPath)
Next ' objUser
Next ' objSourceGroup
Обратите внимание, что это только копирует названия группы и их пользователей. Описания не появились бы, и я, как предполагается, использую Universal, а не глобальные группы, но до сих пор это, кажется, работает достаточно хорошо на дб песочницы.