Первый раз в жизни приключилась необходимость, экспортировать большое количество пользователей из одного дистрибутива, в другой. Сперва думал, как и чего наколхозить для достижения истинного дзена, но нашел утилиту newusers (нашел – громко сказано, она всегда рядом была, в пакете shadow) и возрадовался.
Прога умеет создавать пользователей руководствуясь списком в текстовом файле, где каждая строка имеет вид:
user_name:clear_text_password:number_uid:number_gid:text_comment:home_dir:user_shell
где:
- user_name – это имя пользователя (латиницей);
- clear_text_password – нешифрованный пароль;
- number_uid – цифровой идентификатор пользователя (должен быть больше UID_MIN и меньше UID_MAX в файле /etc/login.defs) ;
- number_gid – цифровой идентификатор группы (должен быть больше GID_MIN и меньше GID_MAX в файле /etc/login.defs) ;
- text_comment – Комментарий, или фио пользователя (можно кириллицей);
- home_dir – домашняя директория (скрипт создаст ее сам);
- user_shell – командная оболочка или например /usr/sbin/nologin, если в шелл пользователю нельзя;
Но радость была не долгой. Скормив проге список пользователей, получил в ответ:
root@server:/home/serp# newusers ./userlist.txt
*** Error in `newusers': free(): invalid next size (fast): 0x00000000012b23d0 ***
Aborted (core dumped)
Читать