2016-07-12 24 views
-1

Ziel Während scp vom Host-PC (ubuntu-12.04) tun Zielplatte (IMX6), wird es geben folgende Fehlermeldung:scp Fehler beim scp von Host tun

#scp Test.txt [email protected]:/home/root 
shell-init: error retrieving current directory: getcwd: cannot access parent directories: Inappropriate ioctl for device 
Test.txt                 100% 8599  8.4KB/s 00:00  
# 

Können Sie führen dieses Problem zu beheben .

+0

Sie haben wahrscheinlich die Standard-Shell für die 'root' Benutzer geändert . TU das niemals. http://unix.stackexchange.com/questions/2640/is-it-bad-practice-to-set-roots-shell-to-something-other-than-the-default – Kusalananda

Antwort

3

Nach thesetexts (ich googelte den Fehler), geschieht dies, wenn der Super-Benutzer-Account seine Standard-Shell auf bash geändert hat.

Tun Sie das nie. Es ist eine schlechte Übung, die Standardshell für den Benutzer root zu ändern.

Siehe this thread auf dem comp.unix.admin USENET-Forum.

+0

Ich habe Standard-Shell für nicht geändert root in der Datei/etc/passwd. Ich habe den Softlink von/bin/sh zu/bin/ash anstelle von/bin/bash unter/bin Verzeichnis geändert. Nun werden alle Referenzen auf/bin/sh auf/bin/as zeigen. – Ravi

+0

@Ravi Das ist sogar * schlimmer *. Das bedeutet, dass nicht nur die Login-Shell anders ist, sondern * alle System-Skripte * jetzt mit 'ash' statt' bash' (im 'sh'-Modus) ausgeführt werden. Damit dies eine gültige Aufgabe ist, muss man ein * System * -Skripts auditieren, das auf der Maschine installiert ist, um sicherzustellen, dass es kein Verhalten auslöst, das von Unterschieden in der Art und Weise herrührt, wie 'Asche' Dinge macht. – Kusalananda

+0

@Ravi Setzen Sie einfach die Systemstandards zurück, was auch immer sie waren. – Kusalananda

0

Ich habe Asche anstelle von Bash verwendet, dann wurde der Fehler nicht beobachtet.

Bestehende: /bin/sh ->/bin/bash

Modifiziert: /bin/sh ->/bin/ash