我在UNIX服务器上运行SAS批处理作业,并且通常会遇到以下问题:我无法在本地创建由我的用户本地创建的sas数据集,而不会更改Windows中每个文件的授权级别。在初始化批处理作业时是否可以使用我的用户ID和密码登录,以使我能够批量获得完全授权(到我自己的文件)?
另一个问题是我没有授权在服务器上的本地远程会话上使用PIPE运行UNIX命令,因此无法终止我自己的会话。另一方面可以批量运行PIPE,但这只允许我终止批处理作业,所以我也想知道是否可以使用我的id和密码批量运行管道命令,因为批处理用户没有授权取消我的用户“本地远程会话”?
终止过程的示例代码:
%let processid = 6938710;
%let unixcmd = "kill &processid";
%PUT executing &unixcmd;
filename unixcmd pipe &unixcmd.;
答案 0 :(得分:1)
对以下SAS support page中的第一点有一个完整的答案。
您可以使用umask Unix命令指定用于在SAS会话期间创建的永久数据集的默认文件权限策略(无论是否批处理)。 如果您正在使用调用SAS批处理会话的Unix脚本,则可以在执行sas之前放置一个umask命令。 否则,您可以在上述SAS支持文章中指定的某个位置采用更永久的解决方案,包括umask命令。
您可能对以下内容感兴趣:
umask 002
这将为所有新数据集分配rw-rw-r--文件权限。