Я просто ответил на Ваш другой вопрос.
Универсальный обход каталога от точки выше долей был бы,
find . -type d -exec ls -ld {} \;
Это перечислит все каталоги в соответствии с Вашим базовым каталогом.
Вы могли однако, выполнять это индивидуально по списку общих каталогов для разделения результатов.
Нет никакого "легкого" решения этой проблемы - ACLs для локальных учетных записей потеряны при перемещении в новый сервер, потому что SID, связанный с тем пользователем, не отображается на учетную запись действительного пользователя больше.
Существует способ сделать это хотя, не имея необходимость вытирать Вашу систему. Я собираюсь идти, через какой я думаю, самый легкий путь, с помощью Powershell (с WMI), icacls и некоторое редактирование текста.
И на старом сервере и на новом сервере, получите список всего имени пользователя к отображениям SID. Чтобы сделать это, откройте Powershell и выполните команду (на каждом сервере):
получите-wmiobject win32_useraccount |, куда {$ _ .localaccount} | экспортируют-csv serverusers.csv
У Вас есть некоторый физический труд, чтобы сделать теперь - необходимо взять обе из электронных таблиц и отобразить SIDS от старых пользователей сервера к новым. Создайте это в новом CSV (c:\sids.csv
) с форматом это - что-то как: oldusername,newusername,oldsid,newsid
На старом сервере сохраните ACLs для файлов, о которых Вы заботитесь об использовании icacls. Например, если Ваши файлы находятся в названной папке c:\ftproot\
Вы вошли бы в ту папку и сделали бы:
icacls * / сохраняют c:\acls.bak/T
Теперь необходимо сделать поиск и замену на acls.bak файле - для каждой строки в CSV, найти все экземпляры oldsid и заменить его newsid. Вот powershell сценарий, чтобы сделать это:
$file = получать-содержание C:\acls.bak - кодирующий unicode
$csv = импортируют-csv c:\sids.csv
foreach ($row в $csv) {
$file = $file - заменяют $row.oldsid, $row.newsid
}
содержание набора c:\acls2.bak $file - кодирующий unicode
Скопируйте все файлы к новому серверу
Восстановите ACLs на файлах в новом сервере (снова, предполагая, что это находится под c:\ftproot):
icacls. / восстанавливают c:\acls2.bak/T
И это должно сделать это - файлы должны теперь иметь набор полномочий с помощью новых учетных записей локального пользователя.
The easiest way is to use IIS Sites Transfer software or IIS Easy Migration Tool from http://www.hoststools.com There are free versions. These tools help to migrate FTP sites, FTP accounts as long as ACL permissions.
oldsid,newsid
и затем можно использовать$row.oldsid
и$row.newsid
, когда Вы циклично выполняетесь через. – MattB 8 April 2010 в 21:37