Событие, которое вы хотите зарегистрировать, уже регистрируется в Linux. Взгляните на /var/log/auth.log
и попробуйте отфильтровать или проанализировать его в соответствии с вашими потребностями вместо того, чтобы пытаться создать свой собственный файл журнала.
Вот выборка из рассматриваемого журнала:
Feb 19 10:23:47 localhost sudo: larssend : TTY=pts/1 ; PWD=/home/larssend ; USER=root ; COMMAND=/usr/sbin/useradd -m -s /bin/bash -U tst
Feb 19 10:23:47 localhost sudo: pam_unix(sudo:session): session opened for user root by (uid=0)
Feb 19 10:23:47 localhost useradd[1661]: new group: name=tst, GID=1001
Feb 19 10:23:47 localhost useradd[1661]: new user: name=tst, UID=1001, GID=1001, home=/home/tst, shell=/bin/bash
Feb 19 10:23:48 localhost sudo: pam_unix(sudo:session): session closed for user root
Feb 19 10:23:50 localhost sudo: larssend : TTY=pts/1 ; PWD=/home/larssend ; USER=root ; COMMAND=/usr/sbin/userdel -r tst
Feb 19 10:23:50 localhost sudo: pam_unix(sudo:session): session opened for user root by (uid=0)
Feb 19 10:23:50 localhost userdel[1667]: delete user 'tst'
Feb 19 10:23:50 localhost userdel[1667]: removed group 'tst' owned by 'tst'
Feb 19 10:23:50 localhost userdel[1667]: removed shadow group 'tst' owned by 'tst'
Feb 19 10:23:50 localhost sudo: pam_unix(sudo:session): session closed for user root
Как вы можете видеть, в нем есть почти все, что вам может понадобиться для создания и удаления учетной записи пользователя, включая информацию о том, кто выполнил создание / удаление с помощью регистрации в sudo
. Обратите внимание, что если создатель не использовал sudo
для вызова useradd
или userdel
, вам, возможно, придется выполнить дополнительную работу, чтобы выяснить, кто выполнил создание / удаление.