Postfix 설치 절차에서는 시스템 사용자 postfix
와 기본 그룹을 생성했지만 postfix
OpenDKIM의 설치 절차에서는 시스템 사용자 opendkim
와 기본 그룹을 생성했습니다 opendkim
.
Postfix와 OpenDKIM이 함께 작동하도록 하려면 대부분의 관리자가 다음 두 가지 작업을 수행합니다.
ㅏ
opendkim
Postfix에 보조 그룹을 추가합니다 .
비
/etc/opendkim.conf
다음 세 줄을 사용하여 UNIX 소켓을 생성하도록 OpenDKIM 구성 파일을 설정했습니다 .
UMask 002
PidFile /var/run/opendkim/opendkim.pid
Socket local:/var/spool/postfix/opendkim/opendkim.sock
공식 OpenDKIM 문서에는 구성 매개변수에 대해 다음과 같이 명시되어 있습니다 UMask
.
파일 생성에 사용할 특정 권한 마스크를 요청합니다. 이것은 실제로 Socket이 UNIX 도메인 소켓을 지정할 때 소켓 생성과 PidFile(있는 경우)에만 적용됩니다.
나는 UNIX 소켓이 사용자 권한을 제한할 수 있기 때문에 편리하다는 것을 알고 있습니다. 제 경우에는 OpenDKIM이 Postfix와 최대한 안전하게 작동하길 원합니다. 그러나 UNIX 소켓으로 설정하면 소유권 UMask
과 권한이 002
생성됩니다 .opendkim:opendkim
664
rw-rw-r--
그룹 구성원(Postfix)이 UNIX 소켓을 읽고 써야 한다는 것은 이해하지만 왜 거의 모든 온라인 튜토리얼(ㅏ,비,씨...) 다른 사람에게 읽기 권한을 남겨두시겠습니까?
이것이 일반적인 오해인가요? UMask
에 대한 합리적인 가치가 아닌가 007
? 또한 동일한 권한을 사용하여 PID 파일이 생성됩니다.
내 시스템의 다른 UNIX 소켓을 확인하면 일부는 다른 소켓에 대한 권한도 가지고 있습니다. 그것이 갖는 것이 왜 중요합니까?
┌───┐
│ # │ root > mailer > ~
└─┬─┘
└─> ss -x -l | head -n 10
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
u_dgr UNCONN 0 0 /run/systemd/notify 14848 * 0
u_str LISTEN 0 128 /var/run/dovecot/director-userdb 13957121 * 0
u_str LISTEN 0 128 /run/systemd/private 14852 * 0
u_str LISTEN 0 100 /var/run/dovecot/dict 13957125 * 0
u_str LISTEN 0 128 /var/run/dovecot/dict-async 13957129 * 0
u_str LISTEN 0 1 /var/run/irqbalance568.sock 17673 * 0
u_dgr UNCONN 0 0 /run/systemd/journal/syslog 14859 * 0
u_str LISTEN 0 128 /var/run/dovecot/config 13957133 * 0
u_str LISTEN 0 128 /var/run/dovecot/login/login 13957135 * 0
┌───┐
│ # │ root > mailer > ~
└─┬─┘
└─> ls -l /var/run/dovecot/config
srw------- 1 root root 0 Dec 31 07:35 /var/run/dovecot/config
┌───┐
│ # │ root > mailer > ~
└─┬─┘
└─> ls -l /var/run/dovecot/login/login
srw-rw-rw- 1 root root 0 Dec 31 07:35 /var/run/dovecot/login/login
답변1
umask를 사용하는 002
것은 일반적인 기본 umask의 영향을 받습니다 022
. 이는 opendkim 샘플 구성에도 적용됩니다.인용하다.
opendkim은 두 pidfile에 대해 하나의 umask 설정을 사용하기 때문에그리고소켓 파일을 사용하는 경우 소켓 파일이 다른 사람에 대한 읽기 권한으로 생성되도록 다른 사람의 pidfile에 대한 읽기 액세스를 허용해야 할 수도 있습니다.부작용.
pidfile 생성을 활성화하지 않고(예: systemd에서는 필요하지 않음) postfix 사용자를 opendkim 그룹에 추가하면 umask가 007
의미가 있습니다.
또는 다음과 같이 opendkim 및 postfix로만 액세스할 수 있는 디렉터리에 소켓을 opendkim으로 만들 수 있습니다.
$ cat /etc/tmpfiles.d/opendkim.conf
d /run/opendkim-postfix 0750 opendkim postfix -
opendkim 기본 구성 조각:
UMask 000
Socket local:/run/opendkim-postfix/opendkim.sock
결과는 다음과 같습니다.
# find /run/opendkim-postfix -printf '%M %m %p\n'
drwxr-x--- 750 /run/opendkim-postfix
srwxrwxrwx 777 /run/opendkim-postfix/opendkim.sock
이렇게 하면 postfix 사용자를 opendkim 그룹에 추가할 필요가 없습니다.
일부 클라우드 제공업체는 기술 문서를 고객에게 아웃소싱하고 고객은 클라우드 크레딧으로 인센티브를 받기 때문에 인용한 튜토리얼의 품질이 제한될 수 있습니다. 따라서 상상할 수 있듯이 이러한 튜토리얼은 많은 비평 없이 다른 기존 튜토리얼과 샘플 구성을 사용할 수 있습니다.