В каждой системе требуется хотя бы один административный пользователь, потому что в Ubuntu отключена отдельная учетная запись root *. Тем не менее можно было бы скрыть этого пользователя «администратор» из логина gdm, добавив следующую строку в /etc/gdm/custom.conf:
[greeter]
Exclude=nobody,administrator
. Мы также можем ограничить доступ для чтения пользователей, не являющихся администраторами, к /home/administrator/ ,
Для административных задач мы регистрируемся локально в качестве администратора пользователя (например, в командной строке или путем выбора других в GUI) или удаленно через ssh.
Для выдачи команды нескольким удаленным машинам нам нужно определить локальный файл конфигурации в ~/.ssh/ssh_config, где мы перечисляем данные, необходимые для входа на наши удаленные компьютеры, и где мы можем определить удобные имена для клиентов:
# ssh configuration
Host remote1
HostName 192.168.0.1
Port 22
User USERNAME
Host remote2
HostName 192.168.0.2
Port 22
User USERNAME
Дополнительные параметры могут потребоваться для дальнейшего управления сведениями о сеансе (например, отключение аутентификации пароля).
Теперь мы напишем сценарий, который соединяется одному клиенту за другим выполнить заданную команду:
#!/bin/bash
# run a command on multiple remotes
REMOTES=$1;shift
COMMAND=$1;shift
for remote in $REMOTES
do
echo $remote
ssh -oConnectTimeout=10 $remote $COMMAND
done
Если этот скрипт был назван remote_command.sh, мы можем запустить любую команду на наших удаленных машинах 1-X, вызвав: [!d13 ]
remote_command "remote1 remote2 ... remote<X>" "<COMMAND>" > remote_command.log
В зависимости от индивидуальных потребностей мы могли прочитать список из $ REMOTES из файла, или мы могли бы использовать обычный шаблон для имен пультов для удобного использования скриптов. Если удаленные клиенты не изменяются, мы также можем закодировать все имена в этом скрипте, чтобы вызывать его только с помощью команды.
* Повторное включение учетной записи root (путем определения допустимого пароля для root с passwd root <password> в корневая оболочка) обескураживается, поскольку недостатки перевешиваются.