Запуск Bash Script автоматически при входе - PullRequest
4 голосов
/ 13 марта 2012

Я написал скрипт, который отправляет дату и имя пользователя, который входит в систему, в файл журнала, чтобы вести учет того, кто вошел в систему. Мне интересно, как настроить этот скрипт на автоматический запуск при входе пользователя в систему?вместо того, чтобы вручную запустить его в терминале.ПРИМЕЧАНИЕ. ИМЯ ПОЛЬЗОВАТЕЛЯ является текущим пользователем, вошедшим в систему.

мой код:

#!/bin/bash

printf "$(date) $HOSTNAME booted!\n" >> /home/USERNAME/boot.log

Ответы [ 3 ]

4 голосов
/ 13 марта 2012

Более элегантным способом решения этой проблемы является чтение из файлов журнала, которые уже записываются и не могут быть изменены пользователем.Никто не может сказать это лучше, чем Бьёрне Малмангер в своем ответе :

Я бы не стал доверять пользователю, чтобы дать вам информацию.Под root вы берете его; -)

Хороший способ сделать это - команда last, которая хороша тем, что она аккуратно отображает все логины: графический, консольный и SSH.

last

Менее элегантный, но все же безопасный способ - выполнить grep для /var/log/auth.log.В моей системе Gnome / Ubuntu я могу использовать это для отслеживания графических входов в систему:

grep "session opened for user USERNAME"

Нужный шаблон для вашей машины должен быть найден для каждого типа входа: графический, консольный и SSH.Это громоздко, но вам может потребоваться сделать это, если вам нужна информация, которая уходит дальше, чем last.

Чтобы напрямую ответить на ваш вопрос:

Вы можете изменить скрипт следующим образомполучить имя пользователя

#!bin/bash
printf "$(date) $HOSTNAME booted!\n" >> /home/$(whoami)/boot.log

и добавить эту строку в / etc / profile

. /path/to/script.sh

Хотя это небезопасно, поскольку пользователь сможет редактировать свой собственный журнал

3 голосов
/ 13 марта 2012

Почему вы не используете команду last?

Я бы не стал доверять пользователю, чтобы дать вам информацию. Как корень вы берете это; -)

3 голосов
/ 13 марта 2012

Поместите это в ~ / .bash_profile. Он будет запускаться при каждом входе в систему.

Дополнительную информацию можно получить на странице о правах женщин (т.е. man bash) .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...