Как я могу написать сценарий установки профилей Thunderbird и настройки параметров учетной записи для каждого пользователя на нескольких сетевых машинах под управлением OS X?
1 ответ
ОБНОВЛЕНО:
Настройки учетной записи Thunderbird являются частью профиля. Поэтому, чтобы создать новый профиль для каждого пользователя, вам нужно скопировать в папку профиля и файл profiles.ini
который Thunderbird проверяет, какой профиль загрузить. Наконец, вам нужно отредактировать несколько файлов в папке Profile, чтобы они указывали на правильные пути на новом компьютере.
Например, предположим, что ваш главный (локальный) пользователь называется LOCALUSER и использует профиль с именем knw54wii.default
. В файле /Users/LOCALUSER/Library/Thunderbird/Profiles/knw54wii.default/prefs.js
будут строки, указывающие пути к каталогам, например:
(9A=/Users/LOCALUSER/.thunderbird/knw54wii.default/Mail/Local Folders)
Вам нужно будет изменить все экземпляры /Users/LOCALUSER/
на /Users/REMOTEUSER/
где REMOTEUSER - это имя пользователя для каждого удаленного компьютера. Вы можете автоматизировать все это, используя BASH, ssh/scp и sed:
#!/bin/sh
while read name ip ;
do
scp -r "~/Library/Thunderbird/Profiles/knw54wii.default/" $name@$ip:"/Users/$user/Library/Thunderbird/Profiles/";
scp -r "~/Library/Application Support/Thunderbird/profile.ini" $name@$ip:"/Users/$user/Library/Application Support/Thunderbird/";
ssh $name@$ip sed -i s/LOCALUSER/"$name"/g /Users/$user/Library/Thunderbird/Profiles/knw54wii.default
done < $1
Обязательно замените LOCALUSER
на любое имя пользователя, которое вы используете на своем локальном главном компьютере. Также измените knw54wii.default
на соответствующее имя профиля. Затем сохраните этот скрипт как copy_thunderbird.sh и запустите его для списка пользователей и их IP-адресов:
bash copy_thunderbird.sh IPlist.txt
Где IPlist.txt содержит одного локального пользователя и его ip на строку, например:
bob 192.168.1.10
dick 192.168.1.11
harry 192.168.1.12
В приведенной выше строке сценария запускаются две команды scp
: одна копирует папку профиля, а вторая - profile.ini. Третья команда запускает sed
чтобы изменить все экземпляры LOCALUSER на то, что в данный момент находится в переменной $name
, то есть имя удаленного пользователя.
Чтобы избежать повторного ввода пароля ssh, вы можете попробовать установить ssh без пароля.
В настоящее время у меня нет доступа к машине с OSX, поэтому я экстраполирую все это из настроек Linux. Убедитесь, что проверили это сначала. Даже если он не работает идеально, он должен хотя бы помочь вам в этом.