Я новичок в написании сценариев, но я создал текстовый файл с именем, text.dat
который содержит только имена пользователей в расположении файла, /home/daniel/text.dat
и я пытаюсь запустить сценарий (вызываемый addusers.sh
), который отображает имена из этого текстового файла и создаст новую учетную запись пользователя на система для каждой новой учетной записи пользователя, указанной в text.dat
файле.
Для каждой созданной учетной записи пользователя добавьте строчку в /home/daniel/logs/useraccounts.log
файл. Запись строки будет содержать следующую информацию:
добавлено | <имя учетной записи пользователя> | <день и время создания>, Это то, что я до сих пор:
#! / Bin / Баш echo «cat text.dat» newuser = grep /home/daniel/text.dat sudo adduser $ newuser
Ответы:
Как я могу добавить пользователей в систему Linux, как указано в файле?
Что-то вроде следующего должно быть сделано, если вы хотите, чтобы процесс был полностью автоматизирован (например, через
sudo ./addusers.sh
):С опциями (с
adduser
man-страницы):(
--disabled-login
будет работать тоже, я думаю)Вы можете оставить эти опции
adduser
выключенными, если хотите указать пароль и / или информацию о пользователе.Вы также можете указать, как вы хотите, чтобы день и время создания были указаны с помощью опций
date
, например,источник
done < $usersfile
вызывала проблему; хотя это работает в моем (минимальном) примере. Вы проверили, что файл / каталог журналов существует и имеет разумные разрешения?Событие, которое вы хотите зарегистрировать, уже зарегистрировано в Linux. Взгляните на него
/var/log/auth.log
и попробуйте отфильтровать или проанализировать его в соответствии с вашими потребностями, а не пытаться создать собственный файл журнала.Вот выборка из рассматриваемого журнала:
Как вы можете видеть, в нем есть почти все, что вам нужно знать о создании и удалении учетных записей пользователей, в том числе о том, кто выполнил создание / удаление путем
sudo
регистрации. Обратите внимание, что если создатель не использовалsudo
для вызоваuseradd
илиuserdel
, возможно, вам придется выполнить дополнительную работу, чтобы выяснить, кто выполнил создание / удаление.источник