我正在编写一个脚本,它将SSH连接到远程服务器并执行一些命令。我面临的问题是命令正在改变远程服务器上的文件权限,这是非预期的。
我通常做的是ssh
到服务器(从而打开登录shell)并手动执行命令,umask
值设置为0007
(umask 0007
包含在远程服务器的.bash_profile
中,因此是登录shell的默认值。
假设命令被调用some-command
。如果提供了ssh
选项,它会在umask
0022
执行<command>
默认值$ ssh user@ip.address "umask && some-command"
0022
的所有命令。
umask 0007
我正在考虑在$ ssh user@ip.address "umask 0007 && umask && some-command"
0007
之前添加命令,如下所示,这似乎有效:
ssh
但是有一个干净的方法吗?也许通过使用{{1}}指定选项?