1

Ниже приведены шаги, которые я выполнил:

  1. SSH к машине CentOS 6.x, которая находится в локальной сети с командой

ssh root@192.168.0.1

  1. Введите пароль пользователя root
  2. Мне удалось успешно войти в систему, но вместо корневого пользовательского терминала я получаю только терминал bash.

Последний вход в систему: ср 25 апр 18:04:32 2018 с 192.168.0.27

-bash: /root/.bashrc: В доступе отказано

-bash-4.1 #

Я пытаюсь понять, в чем здесь проблема.

Дополнительная информация:

  1. Я могу войти на любой другой компьютер в локальной сети без этой проблемы.
  2. Также с терминала bash я могу переключиться на учетную запись суперпользователя с помощью команды "su".

Несколько команд, выполненных на удаленной машине, которые я пытаюсь войти и вывести их.

-bash-4.1# whoami
root


-bash-4.1# stat /root/.bashrc
File: `/root/.bashrc'
Size: 221           Blocks: 8          IO Block: 4096   regular file
Device: 802h/2050d  Inode: 32510289    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/      root)
Access: 2018-04-26 10:09:04.206129757 +0530
Modify: 2018-04-25 18:04:59.354903860 +0530
Change: 2018-04-25 18:04:59.389903855 +0530


-bash-4.1# file /root/.bashrc
/root/.bashrc: ASCII text


-bash-4.1# lsattr /root/.bashrc
-------------e- /root/.bashrc

Bashrc содержание:

#/bin/bash -x

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi
export PATH="/opt/postgres/postgresql:$PATH"

Может кто-нибудь, пожалуйста, помогите мне понять это?

1 ответ1

0

-bash: /root/.bashrc: В доступе отказано

  • Проверьте права доступа к файлу .bashrc (что вы и сделали).
  • Проверьте разрешения для всех файлов, которые вы включаете (например, /etc/bashrc).
  • Проверьте права доступа ко всем файлам, которые входит в ваш глобальный файл /etc/bashrc .
  • Проверьте права доступа к вашей папке /etc (см. Этот пост). Например:

    chmod 0755 /etc # run as root
    
  • Попробуйте добавить -vvv при запуске ssh для более детального вывода.


трассировка

Для дальнейшей отладки проблемы вы можете включить трассировку (xtrace) в вашей оболочке. Вот 3 метода:

  1. С помощью Шебанга.

    Добавьте следующую строку в качестве первой в ваш скрипт:

    #!/bin/bash -x
    
  2. Добавьте строку set -x в самом начале вашего файла сценария запуска.

  3. Запустите bash с -x вместе с командой ssh , например

    \ssh -vvv root@192.168.0.1 -t bash -x
    

После этого попробуйте воспроизвести проблему еще раз, тогда вы должны найти проблемную строку.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .