создайте пользователя с помощью сценария

Объединение разных ответов: Когда вы хотите отсортировать файл на куски, попробуйте использовать Split:

LARGETMP=/var/tmp
mkdir ${LARGETMP}
N_LINES=100000 # Adjust when to still too large or too small
split --lines=${N_LINES} bigfile splitted_
for small in splitted*; do
   sort -u -T ${LARGETMP} ${small} > sorted_${small}
   rm ${small}
done
echo "Done with sorting the splitted files, now concate the stuff"
sort -um -T ${LARGETMP} sorted_* > bigfile.sorted

Редактировать: AS @ UA2B прокомментировал, разделение по размеру в основном будет разделена в середине линий.
(Когда файл не имеет линейных шин, вся идея сортировки немного странно).

0
05.01.2015, 20:36
1 ответ

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

Вы можете пропустить adduser (по крайней мере, версия Debian) параметр - disabled-password , если вы не хотите иметь возможность входить с паролем (вы я все еще смогу войти в систему с помощью других методов, таких как ключи SSH, если вы их настроите). adduser не имеет возможности передавать хэш пароля (не сам пароль), но useradd из набора утилит для теневых паролей Linux делает это.

Если вы хотите ввести пароль во время создания учетной записи, убедитесь, что passwd читает с терминала. Если вы получили пароль из другого источника (например, веб-формы), вызовите passwd из сценария expect - пример .

Если это упражнение по использованию здесь документа, пароль не там, где вы должны его использовать. Я не вижу проблемы, которую можно было бы решить с помощью документа в том, что вы опубликовали.

0
28.01.2020, 04:57

Теги

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