создание пользователя добавляет

У меня просто была проблема с 32-разрядным двоичным файлом, решение было:

apt-get install gcc-multilib

$ uname -a
Linux bla 2.6.32-028stab094.3 #1 SMP Thu Sep 22 12:47:37 MSD 2011 x86_64 GNU/Linux
2
06.03.2014, 08:02
3 ответа

Синхронизация пользователей и групп между серверами - это именно то, для чего предназначен LDAP. Я настоятельно не рекомендую использовать домашнее решение для чего-то подобного, особенно потому, что при синхронизации пользователей и групп между различными серверами необходимо учитывать множество переменных.

Руководство по настройке LDAP выходит за рамки данного ответа, но вы можете найти краткое руководство для OpenLDAP, наиболее популярной реализации, на ее официальном сайте.

2
27.01.2020, 21:57

Как насчет "программного обеспечения для управления конфигурацией", такого как puppet, chef, ansible...

Для меня это лучший способ администрирования множества машин на сегодняшний день.

Например.

Если вы не хотите развертывать puppet master, вы можете применить любую конфигурацию с помощью "puppet apply"

Файл init.pp

group { "user_one":
  ensure => present,
  gid    => 500,
}

group { "dev_site_one":
  ensure => present,
  gid    => 502,
}

group { "dev_site_two":
  ensure => present,
  gid    => 503,
}

user { "user_one":
  ensure   => present,
  uid      => 500,
  gid      => 500,
  gid      => 501,
  gid      => 502,
  password => '$1$zi13KdCr$zJvdWm5h552P8b34AjxO11',
}

После, применить изменения.

$ puppet apply init.pp

Повторное использование кода Тердона...

#!/bin/bash
while read ip; do
 scp init.pp root@$ip:/home/root
 ssh root@$ip puppet apply init.pp
done

Как видите, вы можете создать пользователя или сделать любую другую вещь.

0
27.01.2020, 21:57

Я полностью согласен с тем, что LDAP или подобные системы - лучший способ. Если вы настаиваете на выполнении этого вручную, вот способ:

Лучший инструмент для этой работы - newusers . Вам нужно будет создать текстовый файл, содержащий список пользователей и их данные. Если вы хотите добавить того же пользователя на каждый сервер, в этом файле потребуется всего одна строка.

  1. Создайте список пользователей. Общий формат файла:

     имя пользователя: пароль: UID: GID: полное имя, номер комнаты, рабочий телефон, домашний телефон, другое: каталог: оболочка 
     

    Итак, в вашем случае вы нужно будет использовать что-то вроде

     tom: password1 ::: "Tom Hanks", "101", "123456", "654321", "Tall" :: 
    danny: password2 ::: "Danny DeVito "," 102 "," 222333 "," 333222 "," Short ":: 
     

    Обратите внимание, что я оставил параметры UID, GUID, каталога и оболочки пустыми. Это означает, что будут использоваться значения по умолчанию.

  2. Теперь, когда вы создали список, вам нужно будет скопировать его на каждую удаленную машину, а затем добавить новых пользователей. Сохраните этот небольшой скрипт как newusers.sh :

     #! / Bin / bash 
    при чтении ip; do 
    scp users.txt root @ $ ip: / home / root 
    ssh root @ $ ip newusers users.txt 
    готово 
     
  3. Сделайте сценарий исполняемый файл ( chmod a + x newusers.sh ) и запустите его для каждого IP-адреса в вашем файле:

     newusers.sh 

    IP-адреса .txt должен содержать список IP-адресов серверов, на которые вы хотите скопировать это, по одному в каждой строке:

     1.2.3.4 
    foo.bar.com 
     
  4. Это Все будет намного проще, если у вас настроен беспарольный ssh. Если вы этого не сделаете, выполните следующие команды, чтобы использовать ssh-ключи, разрешающие доступ без пароля (вам все равно понадобится кодовая фраза):

     ssh-keygen -t rsa 
    при чтении ip; сделать ssh-copy-id -i ~ / .ssh / id_rsa.pub root @ $ ip; done 
3
27.01.2020, 21:57

Теги

Похожие вопросы