При работе с telnet пользователь 'root' может залогироваться
без всякого пароля.
Это inittab
::sysinit:/etc/rc.d/rc.s
::respawn:-/bin/ash
::askfirst:-/bin/ash
::ctrlaltdel:/bin/umount -a -r
initdefault строки нет. Поэтому система запускается в однопользовательском режиме.
Попробовал изменить режим модифицируя inittab
# The default runlevel.
id:2:initdefault:
# --
::sysinit:/etc/rc.d/rc.s
::respawn:-/bin/ash
::askfirst:-/bin/ash
::ctrlaltdel:/bin/umount -a -r
При загрузке ругается на эту строку
Bad inittab entry at line 2
Пробовал
id:3:initdefault:
id:5:initdefault:
Ругается и на эти строки.
В чем может быть проблема ?
2 sasamy
Спасибо за подсказку. С initdefault не удастся решить мою проблему.
А эта проблема как-то решаема ?
Я имею ввиду, что 'root' может залогироваться
без всякого пароля. Хочется, чтобы пароль спрашивался все-таки.
Я прав в своем предположении , что для решения проблемы надо изменить runlevel ?
Копать в сторону sysvinit ?
Это вообще не проблема :) Автор для простоты так сделал загрузочный скрипт. Достаточно убрать запуск шела
::respawn:-/bin/ash
::askfirst:-/bin/ash
и добавить вместо этого типа такого:
ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100
На на root пароль то вообще стоит? И то если он пустой - чего его спрашивать? У меня кстати обратная проблема - по telnet не пускает root, пришлось собрать su
Чтобы пароль появился его как ни странно нужно создать :) После логина от root просто набери
#passwd
на что система запросит новый пароль и потом еще подтвердить его. При следующем логине без пароля уже не пустит.
:-)
Это-то понятно. Но не работает. Сценарий следующий.
Linux монтирует RAM диск. Никаких пользователей нет.
С консоли ( UART1) логируюсь. Естественно, как root безо всякого пароля.
Потом ввожу пароль для root
[root@GadgetPC /root]$passwd
Changing password for root
New password:
Bad password: too short
Retype password:
Password for root changed by root
[root@GadgetPC /root]$
Потом подключають через телнет. И в telnet пароль не спрашивается. Тупо пропускает пользователя root
login[314]: root login on 'ttyp0'
Задача немного у меня не тривиальная.
Я хочу использовать в качестве RootFS RAMDISK.
В системе еще будет USB флэшка форматированная к FAT.
С нее Uboot грузит сжатые ядро и рамдиск.
USB флэшка монтируется автоматически и с нее запускается user.sh для конфигурирования всей системы.
Что-то типа такого
echo ""
echo "USER.SH - GADGETPC SAMPLE USER COMMAND FILE"
# Ethernet Configuration
#
echo "Setup IP address"
#
ifconfig eth0 192.168.0.15 netmask 255.255.255.0 up
ifconfig lo 127.0.0.1
# Wait for link up
sleep 2
#
echo "Setup default gateway"
route add default gw 192.168.0.1 eth0
#
echo "Start Telnet Server"
telnetd
#
echo "Start Web ( HTTP ) Server"
httpd -h /mnt/usb/myweb -p 80
#
#
# Start FTP Server
#
#
#
# Start SSH Server
#
#
#
echo "USER.SH"
echo ""
#
Это все работает. Но сейчас встала проблема с root паролем.
Пароль надо менять прямо из этого конфигурационного файла.
Это отдельная проблема. Поскольку passwd busbox не поддерживает --stdin.
Но сейчас надо решить проблему с паролем root хотя бы вручную