Ubuntu 10.04.3 LTS에서 Tomcat 6을 설치 한 후 관리자 / 관리자 계정을 추가하는 방법은 /etc/tomcat6/tomcat-users.xml
다음 과 같은 레코드를 추가하는 것입니다 .
<role rolename="manager"/>
<role rolename="admin"/>
<user username="user" password="password" roles="manager,admin"/>
그 암호는 평문으로되어있어서 불편합니다. 대신 해시와 같은 것을 사용하는 방법이 있습니까? 우분투가 아닌 솔루션이 있다면 아마도 번역 할 수 있습니다.
답변
이 페이지 에서 가져온
- 당신의 요소 “소화”속성을 추가
server.xml
(가능한 값은 예를 들어있는 값으로 해시 알고리즘으로md5
,sha-1
또는sha-256
후자가 권장된다). - 운영
$CATALINE_HOME/bin/digest.sh -a <YOUR_HASH_ALGORITHM> <YOUR_PASSWORD>
- 다음과 같은 형식으로 출력됩니다.
<YOUR_PASSWORD>:<ENCRYPTED_PASSWORD>
- 의 사용자
password
속성 값tomcat-users.xml
을<ENCRYPTED_PASSWORD>
- 바람둥이를 다시 시작
참조 : Tomcat 다이제스트 비밀번호
답변
Tomcat 8.0.15 이상에 대한 정보를 찾고있는 사람이라면 간단한 메시지 요약보다 훨씬 안전하기 때문에 PBKDF2와 함께 SecretKeyCredentialHandler를 대신 사용해야합니다.
예를 들어 server.xml에서
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase">
<CredentialHandler className="org.apache.catalina.realm.SecretKeyCredentialHandler"
algorithm="PBKDF2WithHmacSHA512"
keyLength="256"
/>
</Realm>
이 구성으로 다음을 사용하여 비밀번호에서 해시 출력을 생성하십시오.
$CATALINA_HOME/bin/digest.sh -a "PBKDF2WithHmacSHA512" -i 100000 -s 16 -k 256 -h "org.apache.catalina.realm.SecretKeyCredentialHandler" "YOUR_PASSWORD"
선택한 반복 횟수와 소금 크기 (바이트). 키 길이는 버그 60446 때문에 server.xml에 정의 된 길이와 같아야 합니다. 그래도 곧 업스트림에 수정되어야합니다.
경고! 비밀번호가 쉘의 명령 내역에 저장되지 않도록하십시오. bash에서는 명령 앞에 빈 공간을 두어 달성합니다.
이 명령은 비밀번호를 일반 텍스트로 표시하고 결과 신임 정보의 16 진 표현을 나타내며 tomcat-users.xml에서 비밀번호 속성으로 사용해야합니다.
CredentialHandler 구성 요소에 대한 문서는 여기 에서 찾을 수 있습니다 . 알고리즘 속성의 가능한 값은 여기 에서 찾을 수 있습니다 .
답변
1) 비밀번호 생성 : /bin>digest.bat -s 0 -a sha-256
예 : /bin>digest.bat -s 0 -a sha-256 admin
사용할 비밀번호는 다음과 같습니다. 8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
* 중요 사항 : “-s 0″(소금 0)을 사용해야합니다. 그렇지 않으면 작동하지 않습니다.
2) 위의 비밀번호를 tomcat-users.xml 파일에 붙여 넣습니다.
예:
<!-- for password “admin” -->
<user username="tomcat" password="8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918" roles="manager-gui,manager,admin"></user>
3) SHA-256 다이제스트 해시 기반 비밀번호를 사용하도록 server.xml을 구성하십시오.
4) “DIGEST”비밀번호를 사용하도록 web.xml을 구성하고 위와 일치하도록 RealmName을 업데이트하십시오 (HTMLManager 섹션에서)
<catalina_home>/webapps/manager\WEB-INF\web.xml
<login-config>
<auth-method>DIGEST</auth-method>
<realm-name>UserDatabase</realm-name>
</login-config>
Full context:
<servlet>
<servlet-name>HTMLManager</servlet-name>
<servlet-class>org.apache.catalina.manager.HTMLManagerServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
… SNIPPED_FOR_BREVITY ...
<login-config>
<auth-method>DIGEST</auth-method>
<realm-name>UserDatabase</realm-name>
</login-config>
<multipart-config>
<!-- 50MB max -->
<max-file-size>52428800</max-file-size>
<max-request-size>52428800</max-request-size>
<file-size-threshold>0</file-size-threshold>
</multipart-config>
</servlet>