Вы видите каждую сессию ssh со следующей командой:
[root@router ~]# netstat -tnpa | grep 'ESTABLISHED.*sshd'
tcp 0 0 192.168.1.136:22 192.168.1.147:45852 ESTABLISHED 1341/sshd
tcp 0 0 192.168.1.136:22 192.168.1.147:45858 ESTABLISHED 1360/sshd
O, возможно, это может быть полезно:
[root@router ~]# ps auxwww | grep sshd:
root 1341 0.0 0.4 97940 3952 ? Ss 20:31 0:00 sshd: root@pts/0
root 1360 0.0 0.5 97940 4056 ? Ss 20:32 0:00 sshd: root@pts/1
root 1397 0.0 0.1 105300 888 pts/0 S+ 20:37 0:00 grep sshd:
Вы можете настроить автоматический вход в терминал, изменив параметры программы getty
; если вы используете agetty
, вы добавляете - autologin
, как показано здесь .
Затем вы можете настроить логин для этого пользователя на все, что захотите. Его не следует указывать в / etc / shells
, чтобы пользователь не мог изменить его с помощью chsh
.Предполагая, что вам нужна защита от доступа пользователя к обычной оболочке (и, таким образом, возможности выполнять произвольные действия), вам необходимо убедиться, что они не могут попасть туда из вашей программы. Если ваша программа является оболочкой входа в систему, то завершение сеанса просто завершит сеанс и вернется к getty
(который затем, предположительно, автоматически вернет вас обратно в ту же программу).
Вы можете заменить init
простой программой, запускающей ваш сценарий. Я установил виртуальную машину Ubuntu 15.04 и написал эту простую программу, сохраненную как init.c
:
int main() {
system("/bin/bash -c /init.sh");
return 0;
}
и простой скрипт:
#!/bin/bash
echo Start:
while read line; do
echo -n "Upside down: "
echo $line | tr '[unbqdphymwaefjg]' '[nuqbpdyhwmeajf6]'
done
init 0
, скомпилировал и установил ее как root ( убедитесь, что вы сделайте это на виртуальной машине, с которой вы сделали снимок, или иным образом знаете, как исправить свою систему ):
gcc init.c -o init
sudo cp init /init
sudo ln -sf /init /sbin/init
sudo cp init.sh /init.sh
и перезагрузили, и я получаю подсказку, и нет простого способа выйти из строя.
Вы должны иметь возможность объединить это с установщиком OEM , удалить кучу ненужного и создать красивый небольшой ISO-образ.