server.policy 파일 권한
Java™ 2 보안은 각 Java 프로그램에 부여된 권한을 판별하기 위해 여러 정책 파일을 사용합니다.
WebSphere® Application Server에서 지원되는 사용 가능한 정책 파일의 목록은 Java 2 보안 정책 파일을 참조하십시오.
server.policy 파일은 노드의 모든 WebSphere Application Server에서 공유된 기본 정책 파일입니다. server.policy 파일은 저장소 및 파일 복제 서비스로 관리되는 구성 파일이 아닙니다. 이 파일에 대한 변경사항은 로컬이며 다른 머신으로 복제되지 않습니다.
서버에 대한 기본 권한(java.policy 파일 및 server.policy 파일에서 정의된 권한의 유니온)이 충분한 경우, 필요한 조치는 없습니다. 기본 서버 정책이 자동으로 선택됩니다. 노드의 일부 서버 프로그램에 특정 변경이 필요한 경우, 정책 도구로 server.policy 파일을 업데이트하십시오. 정책 파일을 편집하려면 PolicyTool을 사용하여 Java 2 보안을 위해 정책 파일 편집 주제를 참조하십시오. server.policy 파일에 대한 변경사항은 노드에 대한 로컬입니다. 정책 파일의 구문 오류로 인해 Application Server가 실패합니다. 이러한 정책 파일 편집은 주의하십시오. 업데이트된 server.policy 파일은 로컬 노드의 모든 서버 프로그램에 적용됩니다. 업데이트를 적용하려면 서버를 다시 시작하십시오.
server.policy 파일을 수정해야 하는 경우, profile_root/properties/server.policy에서 이 파일을 찾으십시오. 이 파일은 다음 기본 권한을 포함합니다.
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
// Allow to use sun tools
grant codeBase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
// WebSphere system classes
grant codeBase "file:${was.install.root}/plugins/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${was.install.root}/lib/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${was.install.root}/classes/-" {
permission java.security.AllPermission;
};
// Allow the WebSphere deploy tool all permissions
grant codeBase "file:${was.install.root}/deploytool/-" {
permission java.security.AllPermission;
};
// Allow Channel Framework classes all permission
grant codeBase "file:${was.install.root}/installedChannels/-" {
permission java.security.AllPermission;
};
// WebSphere optional runtime classes
grant codeBase "file:${was.install.root}/optionalLibraries/-" {
permission java.security.AllPermission;
};
![[IBM i]](../images/iseries.gif)
// Allow to use sun tools
grant codeBase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
// Allow to use ibm jdk extensions
grant codeBase "file:${was.install.root}/java/ext/-" {
permission java.security.AllPermission;
};
// Allow to use additional ibm jdk extensions with j9
grant codeBase "file:${was.install.root}/java/extj9/-" {
permission java.security.AllPermission;
};
// Allow to use sun and ibm tools
grant codeBase "file:${was.install.root}/java/tools/-" {
permission java.security.AllPermission;
};
// WebSphere system classes
grant codeBase "file:${was.install.root}/plugins/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${was.install.root}/lib/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${was.install.root}/classes/-" {
permission java.security.AllPermission;
};
// Allow the WebSphere deploy tool all permissions
grant codeBase "file:${was.install.root}/deploytool/-" {
permission java.security.AllPermission;
};
// Allow the WebSphere deploy tool all permissions
grant codeBase "file:${was.install.root}/optionalLibraries/-" {
permission java.security.AllPermission;
};
// Allow Channel Framework classes all permission
grant codeBase "file:${was.install.root}/installedChannels/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${was.install.root}/util/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${user.install.root}/lib/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${user.install.root}/classes/-" {
permission java.security.AllPermission;
};
![[z/OS]](../images/ngzos.gif)
// Allow to use sun tools
grant codeBase "file:${java.home}/lib/tools.jar" {
permission java.security.AllPermission;
};
// Allow the WebSphere deploy tool all permissions
grant codeBase "file:${was.install.root}/deploytool/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${was.install.root}/plugins/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${was.install.root}/classes/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${was.install.root}/lib/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${smpe.install.root}/lib/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${smpe.install.root}/-" {
permission java.security.AllPermission;
};
// Allow to use TAM
grant codeBase "file:${was.install.root}/tivoli/tam/PD.jar" {
permission java.security.AllPermission;
};
노드에서 일부 서버 프로그램이 server.policy 파일 및 server.policy 파일에 기본값으로 정의되지 않는 권한을 필요로 하는 경우, server.policy 파일을 업데이트하십시오. 누락된 권한은 java.security.AccessControlException 예외를 작성합니다. 누락된 권한은 예외 데이터에 나열됩니다.
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
java.security.AccessControlException: access denied (java.io.FilePermission
C:\WebSphere\AppServer\java\jre\lib\ext\mail-impl.jar read)
![[IBM i]](../images/iseries.gif)
java.security.AccessControlException: access denied (java.io.FilePermission
app_server_rootBase/lib/mail-impl.jar read)
이전 두 행은 설명 용도로만 두 행으로 분리됩니다.
Java 프로그램이 이 예외를 수신하고 이 권한 추가가 정당화되면 권한을 server.policy 파일에 추가합니다.
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
grant codeBase "file:user_client_installed_location" {
permission java.io.FilePermission
"C:\WebSphere\AppServer\java\jre\lib\ext\mail.jar", "read"; };
![[IBM i]](../images/iseries.gif)
grant codeBase "file:user_client_installed_location" {
permission java.io.FilePermission
"app_server_root/Base/lib/mail-impl.jar", "read"; };
권한을 추가할지 여부를 판별하려면 Java 2 보안의 액세스 제어 예외를 참조하십시오.
업데이트된 server.policy 파일을 적용하려면 모든 Java 프로세스를 다시 시작하십시오.