среда, 30 апреля 2014 г.

OS X Server: Создание пользователя из командной строки

Графический интерфейс OS X великолепен и удобен, но иногда удаленно приходится все же и пользователей создавать. Сделать можно через встроенный VNC, с помощью установленной службы TeamViewer (благо в наше время средств удаленного управления хватает). Но так как OS X это полноценный UNIX создать пользователя можно классическим способом из командной строки с помощью удаленного подключения к ssh.

Итак,

1) подключаемся к серверу с помощью ssh;
2) вводим команды

sudo dscl . -create /Users/Имя_Пользователя
sudo dscl . -create /Users/Имя_Пользователя UniqueID Идентификатор_Пользователя
sudo dscl . -create /Users/Имя_Пользователя UserShell /bin/bash
sudo dscl . -create /Users/Имя_Пользователя RealName 'Имя Фамилия'
sudo dscl . -create /Users/Имя_Пользователя NFSHomeDirectory /Users/Имя_Пользователя
sudo dscl . -create /Users/Имя_Пользователя PrimaryGroupID Идентификатор_Группы
sudo dscl . -passwd /Users/Имя_Пользователя Пароль

Конечно, это не такой удобный Wizard по созданию пользователей как во FreeBSD или Linux. Одним словом привыкните, понравится. А если не хотите привыкать создайте свою утилиту useradd.sh в которую передавайте домашнюю директорию, логин, пароль, идентификатор группы, идентификатор пользователя, шелл и любые другие параметры...

вторник, 8 апреля 2014 г.

OS X Mountain Lion: перенос Wiki с одного сервера на другой

Приобрел более мощный Mac Mini Server и потребовалось перенести мою вики с одного на другой. На обоих серверах установлен OS X Mountain Lion и набор серверных утилит версии 2.2. Поэтому делаем следующее:

1) На текущем сервере создаем дамп базы данных. Для этого выполняем команды.
cd /Applications/Server.app/Contents/ServerRoot/usr/bin/
sudo ./pg_dump -h "/Library/Server/PostgreSQL For Server Services/Socket" --format=c --compress=9 --blobs --username=collab --file=/tmp/collab.pgdump collab

2) Копируем созданный дамп /tmp/collab.pgdump на новый сервер в папку /tmp, так же копируем все содержимое папки /Library/Server/Wiki/FileData/ на новый сервер в папку /Library/Server/Wiki/FileData/

Далее заходим под администратором и вводим команды в терминале

sudo chown -R _teamsserver:_teamsserver /Library/Server/Wiki/FileData
sudo chmod -R +a "www allow search" /Library/Server/Wiki/FileData
sudo serveradmin stop wiki
sudo serveradmin start postgres_server
cd /Applications/Server.app/Contents/ServerRoot/usr/bin/
sudo ./dropdb -h "/Library/Server/PostgreSQL For Server Services/Socket" -U collab collab
sudo ./createdb -h "/Library/Server/PostgreSQL For Server Services/Socket" -U collab collab
sudo -u _postgres ./pg_restore -h "/Library/Server/PostgreSQL For Server Services/Socket" -d collab -U collab --single-transaction /tmp/collab.pgdump
sudo serveradmin start wiki

Смысл команд прост, вы назначаете нужные права на папку /Library/Server/Wiki/FileData и восстанавливаете базу данных из дампа. Ну и запускаете службу Wiki.

Эта процедура не восстанавливает пользователей и группы (если вы создавали на старом сервере).