首页 > 解决方案 > 如何在没有读取权限的情况下在 SAS 中执行 txt 文件?

问题描述

我有一个 txt 文件,其中包含我的个人凭据以及下面需要这些凭据的一些宏。我想在 SAS 中以其他组用户 ID 身份登录并运行此 txt 文件而不泄露我的凭据……我该怎么做?

我试图只对 txt 文件设置执行权限。而且,我%include在 SAS 中使用了一条语句,但它说“授权不足”,因为没有读取权限。我不想设置读取权限,因为我不希望登录组 userID 的人能够读取文件并获取我的个人凭据。但是,我确实希望他们能够运行此文件。

%include "/home/personalID/LoginPass.txt"; 

错误:访问 /home/personalID/LoginPass.txt 的授权不足。错误:无法打开 %INCLUDE 文件 /home/personalID/LoginPass.txt。

标签: sas

解决方案


你不能在没有 READ 权限的情况下执行文件,因为你需要读取它才能执行它。

如果您希望共享凭据,推荐的方法是在 SAS 元数据中使用身份验证域(与您的管理员联系进行设置)。

如果您的 SAS 程序作为存储过程执行,则您可以只允许(或等效的)系统帐户对您的文件(连同选项)进行sassrv读取访问,以便以这种方式安全地共享凭据。secret.txtnosource2

以下文章将有所帮助:

https://blogs.sas.com/content/sasdummy/2010/11/23/five-strategies-to-eliminate-passwords-from-your-sas-programs/

https://blogs.sas.com/content/sasdummy/2018/01/16/hide-rest-api-tokens/

如果您决定使用proc pwencode来隐藏您的密码,请务必使用sas003或以上。 sas002和以下非常容易逆向工程,不应该使用。


推荐阅读