Probablemente desee configurar el shell predeterminado de estos usuarios en/bin/rbash
--bash restringido(bash -r
). Ver man rbash
. Esto se puede hacer con el comando chsh -s /bin/rbash {USER}
.
Para evitar que ejecuten otros comandos distintos al que desea, establezca su entorno de variable PATH en solo la carpeta que contiene el ejecutable que desea que ejecuten en su~/.bash_profile
:
export PATH="$HOME/bin"
Editar:
En este punto, todavía es posible que un atacante salga de rbash. En realidad, ssh
permite ejecutar comandos remotos. Todavía pueden hacer algo como ssh... cp /bin/bash bin
, para agregar bash al conjunto de comandos que pueden ejecutar. El problema es que cuando se ejecuta directamente desde ssh, parece que bash (o rbash )no lee .bash_profile
, ni .profile
, ni /etc/profile
.
El enlace (2 )propone soluciones a este problema. man sshd_config
describe todas las opciones que se pueden configurar en /etc/ssh/sshd_config
. Aparentemente, el script~/.ssh/rc
(así como /etc/sshrc
vea el enlace (4 ))se ejecutan cuando necesitamos que sea -cada vez que un usuario ejecuta algún comando. Pero no he probado.
En este punto, puede o no ser posible salir de rbash usando scp
.
Además, deberá deshabilitar SFTP en /etc/ssh/sshd_config
.Esto se hace comentando la línea:
Subsystem sftp /usr/lib/openssh/sftp-server
Enlaces:
Решил, действительно была проблема с каким-то обновлением java. Я очистил OpenJDK 11, следуя этим инструкциям , и установил OpenJDK 8. Кажется, теперь он работает нормально.
Я не хочу удалять OpenJDK из своей машины, поэтому вы можете загрузить Oracle JDK 8 с сайта Oracle и выполнить следующую команду:
$ PATH=<oracle_jdk_path>/bin:$PATH JDK_HOME=<oracle_jdk_path>./caver_analyst