我需要通过公司网络将文件从 Solaris 11.3 服务器发送到 PC 上的用户。我想消除winscp并自动化这个过程。
该测试有效:
uuencode /var/adm/messages messages.txt | mailx -s "messages on `uname -n`" [email protected]
此测试不起作用: 我收到电子邮件和附件。附件里面是这样写的:
uuencode ./abc.tar abc.tar | mailx -s "tar on `uname -n`" [email protected]
Per 2014-123-000 The attached file was removed because it has the potential to be harmful to the network. Direct all questions to your point of contact. blah blah blah
我使用 tar 作为测试,但包括 zip 和 compress 在内的任何二进制文件都会在用户端被删除。
是否可以将二进制文件转换为另一种格式以通过过滤器,但仍然允许新手用户在最后提取用户文件?
答案1
这取决于您对“新手用户”的看法。
首先请注意,以下方法正在规避您的系统电子邮件安全。这样做需要您自担风险...
加密数据。例如,使用 Blowfish 和 openssl:
[~]$ openssl enc -bf -a < file.tar > file.txt
enter bf-cbc encryption password: [password here]
Verifying bf-cbc encryption password: [password here]
[~]
解密:
[~]$ openssl enc -bf -d -a < file.txt > file.tar
enter bf-cbc decryption password: [password here]
[~]
这些命令使用 Blowfish 密码(参数)对数据进行加密,-bf
并对输出进行 Base64 编码(-a
选项)。解密是通过添加-d
选项来完成的。看OpenSSL 的enc
文档。
由于输出文件实际上是随机文本字符,因此它可能会通过任何“文件类型”筛选。
使用这个,你几乎肯定可以得到任何通过任何筛选过程的文件类型。
不过,这又是故意规避您的电子邮件系统的安全。