Если вы прокрутите справочную страницу bash
до конца, вы найдете главуRESTRICTED SHELL
:
If bash is started with the name rbash, or the -r option is supplied at invocation, the shell becomes restricted.
Чтобы запустить bash с именем «rbash»,вы можете создать символическую ссылку ln -s /bin/bash /bin/rbash
.
cat somefile
Изman authorized_keys
:
command="command"
Specifies that the command is executed whenever this key is used for
authentication.
Вы можете настроить свой авторизованный _ключевой файл:
command="cat somefile" KEY_TYPE KEY COMMENT
Теперь эта комбинация клавиш пользователя может работать только cat somefile
.
Ваш скрипт запускается bash -r
и не выполняет вашу команду cat somefile
. Вы можете увидеть, что произойдет, если вы поместите set -xe
в свой скрипт:
#!/bin/bash
set -xe
bash -xer
Это показывает, что bash
не застрял, а ожидает ввода, и что вы породили две оболочки. У него нет подсказки, но он может выполнять команды:
$ ssh user@ip cat somefile
+ /bin/bash -r
ls
+ ls
somefile
exit
+ exit
exit
+ exit
$
Вы можете направить команду в эту оболочку, но это не очень хорошее решение:
ssh user@ip <<< 'cat somefile'
Во-первых, вы включаете root, введя su -
. Если вы хотите просмотреть каталоги и имена файлов, просто выполните cd /home/insert username here/
, затем ls
, а затем оттуда перемещайтесь по каталогам, как если бы вы использовали этого пользователя. Если вы хотите просмотреть содержимое и/или записать в файлы и/или выполнить их, выполните шаги для просмотра внутри каталогов, затем для файла (s ), который вы хотите увидеть, затем chown filename
, и chmod u+rwx filename
. Обязательно отмените его, когда закончите, с помощью chmod u-wrx filename
и chown insert username here /home/enter username here
пользователь root имеет право доступа к любому каталогу в файловой системе:
чтобы найти чей-то домашний каталог:
grep <username> /etc/passwd|awk -F':' '{print $(NF-1)}'
для просмотра содержимого каталога этого каталога:
ls <user home dir>