Изменить уровень авторизации при инициализации пакетного задания sas

Я запускаю пакетные задания SAS на сервере UNIX и обычно сталкиваюсь с проблемой, заключающейся в том, что я не могу перезаписать наборы данных sas в пакете, созданном моим пользователем локально, без изменения уровня авторизации каждого файла в Windows. Можно ли войти в систему, используя мой идентификатор пользователя и пароль при инициализации пакетного задания, чтобы я мог получить полную авторизацию (для своих собственных файлов) в пакетном режиме?

Другая проблема заключается в том, что у меня нет авторизации для запуска команд UNIX с использованием PIPE в локальном удаленном сеансе на сервере и, следовательно, я не могу завершать свои собственные сеансы. С другой стороны, можно запускать PIPE в пакетном режиме, но это позволяет мне только завершать пакетные задания, поэтому мне также интересно, можно ли запустить команду pipe в пакетном режиме, используя мой идентификатор и пароль, поскольку пакетный пользователь не имеет авторизации. отменить «локальные удаленные сеансы» для моего пользователя?

Пример кода для завершения процесса:

%let processid = 6938710;
%let unixcmd = "kill &processid";
%PUT executing &unixcmd;
filename unixcmd pipe &unixcmd.;

person user1568780    schedule 30.04.2015    source источник
comment
Это любопытный способ выполнения unix-команд из SAS. Почему бы вам не использовать один из стандартных методов? (см. здесь)   -  person DaBigNikoladze    schedule 30.04.2015


Ответы (1)


есть хороший и полный ответ на ваш первый вопрос на следующей странице поддержки SAS.

Вы можете использовать команду umask Unix, чтобы указать политику разрешений файлов по умолчанию, используемую для постоянных наборов данных, созданных во время сеанса SAS (будь то пакетный или нет). Если вы запускаете сценарий Unix, который вызывает пакетный сеанс SAS, вы можете поместить команду umask непосредственно перед выполнением sas. В противном случае вы можете принять более постоянное решение, включая команду umask в одном из мест, указанных в приведенной выше статье поддержки SAS.

Вероятно, вас интересует что-то вроде:

umask 002

Это назначит разрешение файла rw-rw-r-- для всех новых наборов данных.

person DaBigNikoladze    schedule 30.04.2015
comment
Моя проблема в том, что я не могу отправлять команды Unix в сеансе sas с помощью (выход из оболочки или канал) и, следовательно, предоставлять всем остальным права на запись. В пакетном режиме можно запустить канал, и я хочу разрешить пакетному пользователю получить разрешение на перезапись моих файлов. - person user1568780; 30.04.2015
comment
Хорошо, я думал, что проблема была в противоположном направлении. Грязным решением может быть ослабление прав доступа к файлам вашей учетной записи (размещение команды umask в .bashrc или .profile в вашем доме), чтобы разрешить учетной записи sas перезаписывать ваши файлы (возможно, включая обе учетные записи в одну группу?). - person DaBigNikoladze; 30.04.2015