Der Remote-Befehl hat eine andere Umask

Der Remote-Befehl hat eine andere Umask

ssh user@host "umask"gibt 0174

ssh user@hostund die Umask von der Server-Shell ergibt 0002

Können Sie bitte erklären, wie das passieren kann?

UPD: Tatsächlich war es /etc/passwd, das umask überschrieben hat.

Antwort1

Aus der Bash-Manpage:

Wenn eine interaktive Shell gestartet wird, die keine Anmelde-Shell ist, liest und führt Bash Befehle aus aus ~/.bashrc, sofern diese Datei vorhanden ist. (...) Beim Aufruf als interaktive Anmelde-Shell oder nicht-interaktive Shell mit der --loginOption versucht sie zuerst, Befehle aus /etc/profileund zu lesen und auszuführen ~/.profile, in dieser Reihenfolge.

Bei deinem ersten Befehl ( ssh user@host "umask") handelt es sich nicht um eine Login-Shell, im zweiten Fall schon. Überprüfe also deine ~/.bashrcDatei auf einen umask 0002Befehl.

verwandte Informationen