Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Junos 디바이스에서 Python 자동화 스크립트를 실행하기 위한 요구 사항

Python 스크립트를 실행하기 위한 요구 사항

Python을 사용하여 Junos OS 커밋, 이벤트, 운영 및 SNMP 자동화 스크립트를 작성할 수 있습니다. 승인되지 않은 Python 코드가 실행되지 않도록 하기 위해 Junos 디바이스는 서명되지 않은 Python 스크립트를 실행하는 것을 허용하지 않습니다. 서명되지 않은 Python 스크립트를 실행하려면 다음 요구 사항을 충족해야 합니다. 이 요구 사항은 온박스 자동화 스크립트에 대한 일반적인 요구 사항 이외에도 충족되어야 합니다.

  • 파일 소유자는 Junos OS super-user 로그인 클래스의 루트 또는 사용자입니다.

  • 파일 소유자만이 파일에 대한 쓰기 권한을 가지고 있습니다.

  • 서명되지 않은 Python 스크립트의 실행은 계층 수준에서 또는 language python3 명령문을 [edit system scripts] 구성 language python 하여 실행됩니다.

    참고:

    명령문을 구성 language python3 하면 디바이스는 Python 3을 사용하여 이 Python 버전을 지원하는 스크립트를 실행하며, Python 2.7을 사용하여 지정된 Junos OS 릴리스에서 Python 3을 지원하지 않는 스크립트를 실행합니다. 자세한 내용은 Junos 디바이스용 Python 자동화 스크립트 이해(Understanding Python Automation Scripts)를 참조하십시오.

    참고:

    Junos OS Evolved Release 21.2R1 junos-defaults 부터 구성 그룹에는 기본적으로 명령문이 language python 포함되어 있습니다.

    참고:

    파일의 사용자 또는 그룹 클래스에 속하지 않는 사용자가 서명되지 않은 Python 자동화 스크립트를 실행할 수 있도록 하려면 스크립트의 파일 권한에는 다른 사람에 대한 읽기 권한이 포함되어야 합니다.

SLAX 및 XSLT 자동화 스크립트와 마찬가지로 Python 자동화 스크립트를 디바이스의 적절한 디렉토리에 저장해야 하며 구성의 스크립트 유형에 적합한 계층 수준에서 스크립트 파일 이름을 구성하여 개별 스크립트를 활성화해야 합니다. 자동화 스크립트 저장 및 활성화에 대한 자세한 내용은 스토어 및 Junos 자동화 스크립트 활성화를 참조하십시오.

Python 스크립트의 무결성을 확인하기 위해 체크섬을 구성하는 것이 좋습니다. 로컬 스크립트에 대한 체크섬을 지정하려면 계층의 명령문 아래에 [file filename] 특정 유형의 스크립트에 대한 문을 구성 checksum 합니다. 원격 운영 스크립트에 대한 체크섬을 지정하려면 명령을 사용하여 스크립트를 key 실행할 때 인수를 op url 포함합니다. Junos OS Release 18.2R2 및 18.3R1에서 시작해 체크섬 구성이 없는 서명되지 않은 Python 스크립트를 실행하는 경우 Junos 장치는 시스템 로그 파일에 CSCRIPT_SECURITY_WARNING 메시지를 기록합니다. 예를 들어:

Python 스크립트에 대한 액세스 권한 구성

Junos OS Release 16.1R3부터 커밋 및 운영 스크립트와 같은 대화형 Python 스크립트는 스크립트를 호출하는 명령 또는 작업을 실행하는 사용자의 액세스 권한과 함께 실행됩니다. 기본적으로 이벤트 및 SNMP 스크립트와 같은 비 대화형 Python 스크립트는 사용자 및 그룹의 nobody권한에 따라 실행됩니다. 특정 사용자의 액세스 권한을 사용하여 이벤트 또는 SNMP 스크립트를 실행하려면 이벤트 스크립트 또는 [edit system scripts snmp file filename] SNMP 스크립트의 계층 수준에 대해 계층 수준에서 명령 [edit event-options event-script file filename] 문을 구성 python-script-user username 하고 계층 수준에서 구성된 [edit system login] 사용자를 지정해야 합니다.

예를 들어:

참고:

Python 이벤트 및 SNMP 스크립트를 루트 액세스 권한으로 실행할 수는 없습니다.

릴리스별 요구 사항 변경 요약

Junos OS 릴리스 16.1R3부터 서명되지 않은 Python 스크립트에 대한 소유권 및 액세스 권한 요구 사항이 수정되었습니다. Junos OS 릴리스 16.1R2 및 이전 릴리스에서 서명되지 않은 Python 커밋, 이벤트, op 및 SNMP 스크립트는 루트 사용자가 소유해야 하며, Junos OS는 일반적이고 권한 없는 시스템 계정인 *nix 사용자 및 그룹의 nobody액세스 권한을 사용하여 스크립트를 실행합니다. Junos OS 릴리스 16.1R3부터 서명되지 않은 Python 자동화 스크립트는 루트 사용자 또는 Junos OS super-user 로그인 클래스의 사용자가 소유해야 하며 파일 소유자만 파일에 대한 쓰기 권한을 가질 수 있습니다. 또한 Python 자동화 스크립트는 인증된 사용자의 액세스 권한으로 실행할 수 있습니다.

표 1 에는 서로 다른 Veriexec 지원 버전의 Junos OS에서 서명되지 않은 Python 자동화 스크립트를 실행하기 위한 요구 사항이 요약되어 있습니다.

표 1: Python 자동화 스크립트 요구 사항

요구 사항/제한

Junos OS 릴리스 16.1R2 또는 이전 릴리스

Junos OS 릴리스 16.1R3 이상 릴리스

파일 소유자

루트 사용자

Junos OS super-user 로그인 클래스의 루트 사용자 또는 사용자

파일 쓰기 권한

모든

파일 소유자만 해당

language python 또는 language python3 명령문이 계층 수준에서 구성 [edit system scripts] 되어야 합니다.

참고:

Python 3는 Junos OS 릴리스 19.4R1 이상에서 지원됩니다.

스크립트는 해당 스크립트 유형에 적합한 계층 아래의 구성에서 활성화되어야 합니다.

액세스 권한

모든 Python 자동화 스크립트는 사용자와 그룹의 액세스 권한으로 실행됩니다. nobody

Python 커밋 및 운영 스크립트는 스크립트를 호출하는 사용자의 액세스 권한으로 실행됩니다.

Python 이벤트와 SNMP 스크립트는 명령문에 구성된 사용자의 액세스 권한과 python-script-user 함께 실행됩니다. 명령문이 python-script-user 구성되지 않으면 사용자 및 그룹의 nobody액세스 권한에 따라 스크립트가 실행됩니다.

릴리스 히스토리 테이블
릴리스
설명
22.3R1-EVO
Junos OS Evolved Release 22.3R1에서 시작하는 Python 3은 기본이며 Python 스크립트를 실행하기 위한 Python 버전만 지원됩니다.
21.2R1-EVO
Junos OS Evolved Release 21.2R1 language python 부터 이 명령문은 기본적으로 junos-defaults 구성 그룹에서 구성됩니다.
16.1R3
Junos OS 릴리스 16.1R3부터 서명되지 않은 Python 스크립트에 대한 소유권 및 액세스 권한 요구 사항이 수정되었습니다.