Oto kroki, które wykonałem:
- SSH do komputera CentOS 6.x, który jest w sieci lokalnej z poleceniem
- Wprowadź hasło użytkownika root
- Udało mi się pomyślnie zalogować do komputera, ale dostaję tylko terminal bash zamiast terminala użytkownika root.
Ostatnie logowanie: śr. 25 kwietnia 18:04:32 2018 od 192.168.0.27
-bash: /root/.bashrc: Odmowa uprawnień
-bash-4.1 #
Próbuję zrozumieć, na czym polega problem.
Dodatkowe informacje:
- Jestem w stanie zalogować się na dowolnym innym komputerze w sieci lokalnej bez tego problemu.
- Ponadto z terminala bash mogę przełączyć się na konto superużytkownika za pomocą polecenia „su”.
Niewiele poleceń wykonanych na zdalnej maszynie, którą próbuję się zalogować i ich wynik.
-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
Zawartość 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"
Czy ktoś może mi pomóc to zrozumieć?
linux
bash
ssh
permissions
Bala Krishnan
źródło
źródło
su ; ssh [email protected]
lubsudo ssh [email protected]
. Należy również rozważyć użycie szeregowców klucz zamiast uwierzytelniania hasłem (dla własnego bezpieczeństwa): digitalocean.com/community/tutorials/...whoami
,stat /root/.bashrc
,file /root/.bashrc
,lsattr /root/.bashrc
#/bin/bash -x
, zastosować śledzenie i ponownie odtworzyć problem?Odpowiedzi:
.bashrc
pliku (które zrobiłeś)./etc/bashrc
)./etc/bashrc
.Sprawdź uprawnienia swojego
/etc
folderu (zobacz ten post ). Na przykład:Rozważ dodanie
-vvv
podczas uruchamiania,ssh
aby uzyskać bardziej szczegółowe dane wyjściowe.Rysunek kalkowy
Aby dalej debugować problem, możesz włączyć śledzenie (
xtrace
) w swojej powłoce. Oto 3 metody:Za pomocą shebang .
Dodaj następujący wiersz jako pierwszy do skryptu:
Dodaj
set -x
wiersz na samym początku pliku skryptu uruchamiania.Uruchom
bash
z-x
wraz zssh
poleceniem, npNastępnie spróbuj ponownie odtworzyć problem, a następnie powinieneś znaleźć problematyczną linię.
źródło
set -x
w drugim wierszu. To powinno działać.