Рейтинг:0

Если я создаю учетную запись пользователя, сохраняется ли в ней информация о создателе?

флаг id

Как получить имя пользователя создателя

Например, я использую учетную запись root для создания имени пользователя maxi32.

Теперь, ссылаясь на это имя пользователя maxi32, как я могу узнать, какой пользователь создал свое имя пользователя?

Поэтому я ожидаю, что вывод maxi32 вернет имя пользователя root (создатель)

jpbrain avatar
флаг ca
Привет Maxi32, насколько я знаю, это не так. Все пользователи могут быть созданы только пользователем root. Поэтому, если вы обычный пользователь, вам нужно получить привилегии root, чтобы создать другого пользователя. Я не уверен, что вы можете включить что-то в системе ведения журнала, чтобы получить журнал этого. Я буду исследовать.
jpbrain avatar
флаг ca
Сделал несколько тестов. см. /var/log/auth.log. там записываются все «повышенные» (рут-доступ) действия.
флаг id
Хорошо, это единственный файл журнала, который там существует? Итак, в будущем мы не узнаем создателя этого пользователя, если файл журнала будет удален случайно? ..это похоже на атеиста, который не поклоняется и не помнит своего создателя (пример).
jpbrain avatar
флаг ca
Да. Есть вещи, которые вы можете реализовать, изменив стандартные скрипты, но в целом это решается политиками безопасности и только одним администратором :-)
флаг id
@jpbrain, что вы рекомендуете при использовании скрипта? У меня есть обходной путь с использованием флага файла, поместите значение uid в этот файл, хранящийся в домашнем каталоге пользователя, когда мы создали нового пользователя, используя этот загрузочный скрипт https://stackoverflow.com/questions/15567887/execute-shell-script-everytime-a- новый пользователь создан/15568230. затем используйте это как ссылку, но это не кажется эффективным.
флаг id
По крайней мере, обходной путь имеет постоянный файл, ссылающийся на `uid` создателя, а не на файл `/var/log/`, который можно легко удалить. Итак, я не уверен, что является лучшим обходным путем или где лучше всего хранить этот uid создателя, поэтому я могу легко получить его, сравнив с `/etc/passwd`
jpbrain avatar
флаг ca
Maxi32, если вы немного покопаетесь, вы обнаружите, что /usr/sbin/adduser — это perl-скрипт, который вызывает useradd. Внутри perl-скрипта вы можете добавить строку, которая сбрасывает все данные, которые вам нужны, в базу данных или защищенный файл, когда, наконец, вызывается useradd.поскольку выполнение adduser должно выполняться пользователем root, вам нужно будет проверить переменные среды, но почти вся необходимая информация обрабатывается этим файлом. Имейте в виду, что даже это можно обойти.
jpbrain avatar
флаг ca
Чтобы было понятнее. Если вы выполняете sudo, существует переменная среды SUDO_USER, которая сообщает, кто выполнил sudo. Если вы сделаете su -, вам понадобится пароль root, но переменная sudo env исчезнет. Просто войдите в auth.log, и вы узнаете, кто делал su. Так что нет прямого ответа на то, что вы ищете.
флаг id
Большое спасибо! Попробую изменить стандартный скрипт.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.