我正在寻找建立某个脚本的方法。
所以我想找到一种方法,用户如何运行一个脚本,使用远程服务器上的X权限和帐户将图片上传到远程服务器。我为此创建了一个rsa-key,它被添加到远程服务器授权密钥文件中。 对于用户X,一切正常。
我尝试了一些setgid / setuid perl-scripts,但它们不能在用户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};
所以我正在寻找其他方法来满足我的需求。
提前谢谢!
Kõikehääd,
WK
答案 0 :(得分: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工作,那么听起来你已经基本解决了这个问题。您所要做的就是将RSA密钥放在本地计算机上适合用户A,B和C的位置,然后以用户A,B或C运行脚本。
为用户设置RSA密钥的方式可能会有一些复杂因素。您将以用户X身份登录。
说了这么多,它确实听起来好像你真正需要的是远程机器上的ftp或sftp服务器。可以配置FTP以允许匿名或不受限制地访问某些区域以进行上载和/或下载。
答案 1 :(得分:0)
我终于解决了问题:我让用户通过webclient(具有用户X权限)从服务器请求从本地计算机获取文件到服务器。