Можно ли запустить скрипт входа независимо от оболочки?

Есть ли способ запустить скрипт при входе в систему независимо от оболочки? Я хотел бы иметь что-то в строке входа в систему SSH к серверу Ubuntu - который отображает свободную оперативную память и т. Д.

Я понимаю, что само приветственное сообщение находится в /etc/motd, но, похоже, файл обновляется при каждом входе в систему. Как это сделать? Я не хочу использовать ~/.bashrc или ~/.profile и хотел бы иметь один для всех пользователей в системе по умолчанию.

2
задан 21.01.2020, 22:30

3 ответа

Поскольку вы запрашиваете «запускать при каждом входе в систему» ​​вместо «запускать при загрузке», это может помочь.

в файле /etc/login.defs поиск «fakeshell». Вот текст комментария для этого параметра:

 # Instead of the real user shell, the program specified by this parameter
 # will be launched, although its visible name (argv[0]) will be the shell's.
 # The program may do whatever it wants (logging, additional authentification,
 # banner, ...) before running the actual shell.
 # FAKE_SHELL /bin/fakeshell

При использовании этого подхода будьте осторожны с любыми предположениями для вашей среды. Определите все свои собственные пути для исполняемых файлов и данных.

2
ответ дан 21.01.2020, 22:31
  • 1
    Я теперь понимаю, что эти FAKE SHELL выполнял сценарий, но только в tty а не в имуществе (ssh). И выполнение сценария удара, который не передал для избиения вызванный меня, чтобы сразу выйтись из системы после входа в систему и выполнения сценария. – LB-- 21.01.2020, 22:31
  • 2
    Извините, что не работал. Я просто перечитал Ваш запрос и задаюсь вопросом, неправильно понял ли я. Попытка состоит в том, чтобы создать сценарий, который какой-либо пользователь может выполнить, который дает свободную RAM и другую системную статистику? Я пытался найти ответ для " выполните этот сценарий для всех пользователей, когда они зарегистрируют in". если Вы хотите что-то для всего, что можно создать специальную учетную запись, назвать его " sysres" это не имеет никакого пароля, но вместо оболочки это просто выполняет loginscript для отображения то, что Вы хотите, и затем это выходит, никакое обеспеченное взаимодействие. Я буду все еще искать " выполнения для каждого пользователя, каждого входа в систему и style" ответ. – Doug 21.01.2020, 22:32
  • 3
    Я думал о добавлении сценария к /etc/profile.d/, Это выполняется после того, как сообщение от /etc/motd отображено. – opatut 21.01.2020, 22:32
  • 4
    Я задавался вопросом, как человечность отображает системную статистику. По-видимому, это, кажется, выполняет сценарий для обновления/etc/motd, и статистика отображена как желанное сообщение. – devius 21.01.2020, 22:33
  • 5
    Спасибо. Я добавил строку FAKE_SHELL /etc/loginscript и добавил, что сценарий оболочки с выполняет полномочия для всех. Но ничего не произошло на входе в систему через ssh:-( – Astrotim 21.01.2020, 22:33

Вы можете использовать /etc/rc.local

rc.local выполняется после того, как все остальные действия инициализации закончены - последний шаг в процессе запуска. Он действительно предназначен для локальных машинных инициализаций вне инициализации System V (то есть вне скриптов уровня запуска).

0
ответ дан 21.01.2020, 22:30
  • 1
    Должен указать, что это происходит перед любым видом графического входа в систему; даже прежде X даже начал загружаться и только происходит при начальной загрузке (не однажды на вход в систему). – opatut 21.01.2020, 22:31

Если вы ищете сценарий, отображающий использование Ram, жесткого диска, IP-адреса, то я бы предложил установить общий-ландшафт:

sudo apt-get update
sudo apt-get install landscape-common

Затем добавить псевдоним в .bashrc, который отражает что-то вроде [112 ] когда вы запустите его, вы получите следующую информацию:

System load:  2.7                Processes:             161
  Usage of /:   8.3% of 135.63GB   Users logged in:       1
  Memory usage: 19%                IP address for eth0:   192.168.10.5
  Swap usage:   0%                 IP address for virbr0: 192.168.122.1

Graph this data and manage this system at [landscape.canonical.com]
0
ответ дан 21.01.2020, 22:31

Теги

Похожие вопросы