
二重認証層を持つサーバーがあります。これは、まずユーザーが自分のユーザーIDを使用してボックスにログインし、グループIDを使用して開発フォルダにアクセスする必要があることを意味します。現在、sshを使用してファイルを開発フォルダにコピーするスクリプトがあります。これにはどのコマンドを使用する必要がありますか?
ssh $user@host $cmd
where $cmd
isなどの一般的なsshコマンドは、cp ~user/Test.txt ~grp/
ユーザーIDを使用してグループディレクトリにコピーするため、機能しません。これは許可されません。グループIDを使用してログインすると、権限が拒否されます。どんな提案がありますか?
答え1
問題は~/user
、and(2つの異なるユーザーのホームディレクトリを意味する)の代わりにand ~/grp
(ログインしたユーザーのホームディレクトリに関連付けられている2つのディレクトリ)を使用しているということですか?~user
~grp
問題の説明だけでは、問題が何であるかを把握することは困難です。通常、「user」は「grp」と同じグループに属していなければならず、ディレクトリはグループ書き込みが可能でなければならないようです。
rコマンドを離れてください。 SSHはすべてをより良く、より安全にします。
答え2
最善の解決策は、グループを使用してグループを管理することです。これがまさにグループを管理することです。チームにアカウントパスワードを提供するのではなく、グループを作成し、grp
チームgrp
がアクセスする必要があるすべてのファイルがグループ所有であり、グループの読み取りおよび書き込み権限(該当する場合)があることを確認してください。すぐに問題を直ちに解決するなど、グループを使用することには多くの利点があります。
上司が定めたポリシーであり、頑固なので、そうすることができない場合は、少なくともパスワード認証以外の方法でアカウントにアクセスできますかsu
?たとえば、SSH公開鍵をチームアカウントに追加できる場合は、~/.ssh/authorized_keys
そのアカウントに直接SSHを関連付けることができます。 (権限を管理する良い方法ではありませんが、すでにグループを使用していない方法でシステムを悪用しています。)