saslauthd는 "독립형"으로 실행될 때 작동하지만 OmniOS svcadm으로 실행될 때는 작동하지 않습니다.

saslauthd는 "독립형"으로 실행될 때 작동하지만 OmniOS svcadm으로 실행될 때는 작동하지 않습니다.

saslauthd이를 통해 실행 하면 svcadm작동하지 않지만 명령줄에서 실행하면 작동합니다.

u@h:w$ svcadm enable saslauthd                                          
u@h:w$ ps -ef|grep sasl                                                 
    root 17192 14073   0 05:50:12 ?           0:00 /opt/ooce/sbin/saslauthd -a sasldb -c -m /var/run/saslauthd
    root 17194 17102   0 05:50:31 pts/3       0:00 grep sasl
u@h:w$ /opt/ooce/sbin/testsaslauthd -p topsikrit -u imapuser
0: NO "authentication failed"
u@h:w$ svcadm disable saslauthd                                         
u@h:w$ /opt/ooce/sbin/saslauthd -a sasldb -c -d -V -m /var/run/saslauthd
saslauthd[17211] :num_procs  : 5
saslauthd[17211] :mech_option: NULL
saslauthd[17211] :run_path   : /var/run/saslauthd
saslauthd[17211] :auth_mech  : sasldb
...

[다른 tty로 전환]

u@h:w$ /opt/ooce/sbin/testsaslauthd -p topsikrit -u imapuser
0: OK "Success."

이것유일한 차이점내가 아는 한, 두 실행 모드의 차이점은 saslauthd하나는 프레임워크에 의해 시작되고 svcadm다른 하나는 명령줄에서 시작된다는 것입니다. 그러나 사용자( root-- $프롬프트에도 불구하고)는 동일하고 매개변수( -V및 제외 -d)도 동일합니다. 그렇다면 첫 번째 경우에는 saslauthd인증이 발생 하지 않지만 두 번째 경우에는 인증이 발생하는 이유는 무엇입니까?

위의 명령은 희박한 영역에서 실행됩니다.

전환하면 모든 것이 잘 작동합니다.비밀번호메커니즘을 사용하고 싶지만사스 데이터베이스.

답변1

이것이 다른 사람에게 도움이 되는 경우 SASL DB는 다음과 같습니다.

# ls -l /var/opt/ooce/sasl2/
total 172
-rw-r-----   1 cyrus    cyrus      32768 May  9 03:30 sasldb2
-rw-r-----   1 cyrus    cyrus       8192 May  9 22:30 sasldb2-lock

chmod go+rw이 두 파일이 있으면 작동합니다. 나는 그것들이 소유권에 의해 생성된다는 것을 알고 있지만 root이것이 아마도 소유권이 아니라 권한일지라도 Cyrus 서버가 성공적으로 인증하는 것을 방해한다는 것을 독립적으로 발견했습니다.

관련 정보