Обычно переменные среды должны быть определены в ~ / .profile
или ~ / .bash_profile
, если этот файл существует ваша оболочка входа в систему - bash.Так что загрузите этот файл из задания cron.
@reboot . ~/.profile; sleep 10 && /home/ubuntu/start.sh
~ / .bashrc
предназначен только для интерактивных настроек, поэтому вы не должны загружать его в неинтерактивном режиме, и обычно он все равно не будет работать. Если у вас есть определения переменных среды в .bashrc
, сначала исправьте этот беспорядок.
Еще одно место для установки переменных среды - ~ / .pam_environment
, если вы хотите, чтобы переменная имела постоянное значение (вы не можете запускать команды оболочки в этом файле).
См. Каков наилучший независимый от дистрибутива / оболочки способ установки переменных среды? , Разница между оболочкой входа и оболочкой без входа? и Есть ли ". bashrc "эквивалентный файл, читаемый всеми оболочками? для получения дополнительной информации о файлах запуска оболочки.
Как предполагается, это зависит от системы. Это не то же самое в Debian, но по результатам тестирования в Fedora linux:
«Подсистема аудита» установлена и включена по умолчанию. Вы можете узнать, даже если пользователь запустил useradd из корневой оболочки, открытой с помощью sudo -i
. Если у вас есть постоянный журнал systemd, они должны появиться там, и вы можете увидеть числовой идентификатор пользователя, за который отвечает аудит:
28 февраля 17:30:32 alan-laptop audit [18253]: ADD_GROUP pid = 18253 uid = 0 auid = 1000 ses = 9 subj = unlimited_u: unlimited_r: unlimited_t: s0-s0: c0.c1023 msg = 'op = add- group acct = "test" exe = "/ usr / sbin / useradd" hostname = alan-laptop addr =? терминал = pts / 1 res = success '28 февраля
17:30:32 alan-laptop audit [18253]: ADD_USER pid = 18253 uid = 0 auid = 1000 ses = 9 subj = unlimited_u: unlimited_r : unlimited_t: s0-s0: c0.c1023 msg = 'op = add-user id = 1003 exe = "/ usr / sbin / useradd" hostname = alan-laptop addr =? terminal = pts / 1 res = success '
Поскольку вы упомянули, что они использовали sudo
, вероятно, это будет в ваших журналах.
Например, с systemd:
% sudo useradd foobar
% sudo journalctl /bin/sudo | grep -e useradd -e adduser
Dec 18 22:42:37 gongzuo sudo[24430]: cdown : TTY=pts/10 ; PWD=/home/cdown ; USER=root ; COMMAND=/usr/sbin/useradd foobar
В системах, отличных от systemd, вы обычно можете найти этот журнал по адресу / var / log / secure
или /var/log/auth.log
.