Чтобы разрешить неаутентифицированный вход через SSH с использованием PAM, необходимо настроить все следующее:
У учетной записи пользователя должно быть установлено «без пароля». Это отличается от «пустого пароля» и может быть достигнуто с помощью
pw usermod -w none
В sshd_config
следующая опция должна быть установлена перед ] UsePAM
установлен, иначе параметр игнорируется:
PermitEmptyPasswords да
В файле конфигурации PAM для sshd
модуль pam_unix
в категории auth
необходимо загрузить с опцией nullok
, т.е. грамм.
требуется авторизация pam_unix.so no_warn try_first_pass nullok
Просто напишите команду после chroot:
chroot /jail /path/to/some/command <parameters>
2-я строкаman chroot
:
NAME chroot - run command or interactive shell with special root directory
SYNOPSIS chroot [OPTION] NEWROOT [COMMAND [ARG]...]
Причина, по которой echo
выполняется после выхода sudo
, не имеет ничего общего со сменой пользователя.
Упростим скрипт:
...
cat
echo "After cat"
...
Команда echo
будет выполнена после завершения cat
, как и любая другая последовательность команд, которую вы пишете.
Если вы хотите, чтобы некоторые команды выполнялись внутри chroot, вы должны передать их в качестве параметров в chroot.
Если в качестве оболочки входа в систему используется /bin/bash
, команда
chroot /dir
эквивалентно
chroot /dir /bin/bash -i
Это означает, что он запускает интерактивную оболочку. Вы можете выполнить некоторые команды, создав сценарий оболочки, доступный в chroot, или указав их в командной строке
chroot /dir /path/to/script
chroot /dir /bin/bash -c 'some commands; more commands'
Программа chroot
всегда будет ждать завершения команды, хотя и сценарий, и командная строка могут запускать процессы в фоновом режиме.