Итак, скажем, кто-то опечатал что-то в их, .bashrc
что мешает ему (или ей) войти в систему через ssh
(то есть, вход по ssh завершается из-за ошибки в файле). Есть ли способ, которым этот человек мог войти в систему, не выполняя его (или .bashrc
поскольку один запускает другой), или иным образом удалить / переименовать / сделать недействительным файл?
Предположим, у вас нет физического доступа к компьютеру, и это единственная учетная запись пользователя с возможностью входа по ssh.
Для справки: .bash_profile
включает в себя .bashrc
:
[[ -f ~/.bashrc ]] && . ~/.bashrc
Изменить: вещи, которые я пытался:
ssh user@host "rm ~/.bashrc"
scp nothing user@host:/RAID/home/tom/.bashrc
ssh user@host "/bin/bash --norc"
Все выдают ошибку:
/RAID/home/tom/.bashrc: line 16: /usr/local/bin/file: No such file or directory
/RAID/home/tom/.bashrc: line 16: exec: /usr/local/bin/file: cannot execute: No such file or directory
[ -z "$PS1" ] && return
в начале ./bashrc. Таким образом, scp прекратит синтаксический анализ .bashrc после первой строки, и вы сможете перезаписать его в случае необходимости.