Назад | Перейти на главную страницу

Импорт пользователей из passwd

Я перехожу с одного сервера Linux на другой с очень похожей конфигурацией. У обоих есть Plesk, который автоматически перенес большую часть данных. Однако есть несколько пользователей FTP, созданных вне Plesk, которых мне теперь нужно переместить. Я отфильтровал старый файл passwd, выбрав только те записи, которые мне нужно добавить в новый файл passwd.

Я обнаружил, что если я просто добавлю дополнительных пользователей в passwd на новом сервере, они не получат теневой записи, что впоследствии вызовет проблемы.

Как лучше всего ввести этих пользователей в passwd? Как только они будут импортированы, я установлю пароли с помощью chpasswd.

ОБНОВИТЬ Я хочу импортировать не только имена пользователей, но также группу, домашний каталог и т. Д.

Почему бы не сделать что-нибудь простое, например использование cut / xargs.

cut -d: -f 1 /srv/old_filtered_passwd | xargs -n 1  useradd

Или, может быть, что-то более сложное (не проверено досконально).

awk 'BEGIN{FS=":"} {print "useradd -u " $3 " -g " $4 " -c \"" $5 "\" -h " $6 " "$1}'  /srv/old_filtered_passwd > recreate_users
# verify 
cat recreate_users 
# actually create the users
bash recreate_users

Вы можете сделать все с помощью одной команды, например awk ... | bash. Хотя я настоятельно рекомендую вам в первый раз взглянуть на вывод awk, чтобы убедиться, что все выглядит правильно.