すべてのディレクトリが特定のグループ所有権を持つリモートシステムにディレクトリツリーを作成する問題を解決しています。また、親ディレクトリがまだ存在しない場合は自動的に作成されることを明示的に望んでいます。だから私が今やろうとしていることは次のとおりです。
ssh me@remotemachine "newgrp mygroup && mkdir -p /path/to/my/directory"
newgrp
しかし、SSHを介してリモートシステムで実行するのはうまくいかないようです。
-p
もちろん、別のオプションは、まずディレクトリを作成してからグループの所有権を変更することですが、そうするにはmkdir
。
もしそうなら、リモートシステムのデフォルトグループのメンバーではなく、特定のグループのメンバーとしてSSHを介してログインする方法はありますか?それとも、mkdirに自動的に作成された親ディレクトリを知らせることができますか?
答え1
newgrp
新しいシェルを起動します。したがって、コマンドに
ssh me@remotemachine "newgrp mygroup && mkdir -p /path/to/my/directory"
mkdir
起動したサブシェルを終了した後に実行されますnewgrp
。
newgrp
たとえば、コマンドをシェルに入力として渡すことができます。
ssh me@remotemachine newgrp mygroup << EOF
mkdir -p /path/to/my/directory
ls -ld /path/to/my/directory /path/to/my
EOF
答え2
install
次のコマンドを使用できます。
ssh me@remotemachine "install -g mygroup -d /path/to/my/directory"