0

特定のスクリプトを作成する方法を探しています。

  • イメージを $HOME/images/scan にスキャンする (Linux) ユーザー A、B、および C がいます。
  • それらの写真を、アカウントを持たないリモート サーバーにアップロードする必要があります。
  • したがって、仮想ユーザー X は、ローカルおよびリモート マシンにアカウントを持っていますが、ユーザーのホーム ディレクトリに直接アクセスすることはできません。
  • それらはすべて共通のグループ「画像」を持ち、ユーザーのスキャンディレクトリはこのグループで読み取り可能です。

だから私は方法を見つけたいと思っています.X権限とリモートサーバーのアカウントを使用して、ユーザーが写真をリモートサーバーにアップロードするスクリプトを実行する方法を見つけたいと思います. そのための rsa-key を作成し、リモート サーバーの認証済みキー ファイルに追加します。ユーザー X の場合、すべてが機能します。

私はいくつかの setgid/setuid perl スクリプトを試しましたが、それらはユーザー X 権限で scp を実行できず、rsa-key も使用しません。この例のようなもの:

#!/usr/bin/perl

use strict;
use warnings;
use Net::SCP qw( scp iscp );
my $scp = Net::SCP -> new( '192.168.1.3', 'X' );
$scp->put( 'file.jpg' ) or die $scp->{errstr};

だから私は自分のニーズを満たす他の方法を探しています。

前もって感謝します!

コイケ ヘッド、
WK

4

2 に答える 2

0

ローカル マシンにユーザー X は必要ありません。ユーザーとパスワード (または RSA キー) は、リモート マシンにアクセスするためのものであり、ローカル マシンには関係ありません。

私は Net::SCP には詳しくありませんが、Unix の scp コマンドには精通しており、次のように動作します。

私はユーザー A です。アカウント X を使用してマシン M にファイルをコピーしたいと考えています。次のように入力します。

scp my_local_file.ext X@M:/path/to/file/my_file.ext

my_local_file.ext に対する読み取り権限があり、ユーザー X がマシン M のディレクトリ /path/to/file/ への書き込み権限を持っていて、認証がすべて正常に行われている限り、すべて問題ありません。

ユーザーXで機能している場合、基本的に問題を解決したように聞こえます。ユーザー A、B、C のローカル マシンの適切な場所に RSA キーを配置し、ユーザー A、B、または C としてスクリプトを実行するだけです。

ユーザー X としてログインすることを考えると、ユーザー A 用に RSA キーを設定する方法が複雑になる場合があります。


そうは言っても、本当に必要なのはリモート マシン上の ftp または sftp サーバーであるかのように聞こえます。アップロードおよび/またはダウンロードのために、特定の領域への匿名または無制限のアクセスを許可するように FTP を構成することができます。

于 2010-12-15T16:20:03.427 に答える
0

私は最終的に問題を解決しました: 私は、ユーザーがローカルマシンからサーバーにファイルを取得するために、webclient (ユーザー X 権限を持つ) を介してサーバーから要求できるようにしました。

于 2011-03-31T15:23:07.753 に答える