Table of Contents
Linux Logon Script
Запустить скрипт при входе пользователя в систему можно используя несколько функциональных возможностей Linux:
- <html>~/.bash_profile</html>
- <html>~/.bash_login</html>
- <html>~/.profile</html>
- <html>/etc/profile.d</html>
Скрипт можно разместить в каталоге <html>/etc/profile.d</html> в данном случае он исполнится для всех пользователей, для конкретного же пользователя, путь к скрипту можно указать в любом из файлов, в данном случае это будет <html>~/.profile</html>.
Логика скрипта
Можно описать логику, которая по факту выполнения будет создавать файл, назовем его <html>once_done</html>, скрипт при запуске будет проверять его наличие, если файла нет, будет выполнено действие.
#!/bin/bash if [ -e $HOME/.once_done ] then echo "No action for provisioning." else echo "Run once is Done!" >> $HOME/run-once.txt touch $HOME/.once_done fi
Код сохраним в файле <html>provision.sh</html> в каталоге пользователя, далее сделаем скрипт исполняемым:
chmod +x provision.sh
Настройка .profile
Собственно это одна строчка, которую можно добавить в конец файла:
. ${HOME}/provision.sh
Проверка
Можно совершить выход из системы используя команду <html>exit</html>, после входа проверить наличие файла <html>run-once.sh</html> в каталоге пользователя, с содержимым Run once is Done!.