Postfix
설정하려고 하는데엔트 소프트웨어(임베디드 장치용 저장소).
SElinux는 관련되지 않으며 chroot는 master.cf에서 비활성화됩니다.
# postconf -n
command_directory = /opt/sbin
compatibility_level = 2
config_directory = /opt/etc/postfix
daemon_directory = /opt/libexec/postfix
data_directory = /opt/var/lib/postfix
debug_peer_level = 2
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5
default_database_type = cdb
inet_protocols = ipv4
mail_spool_directory = /opt/var/mail
manpage_directory = no
myhostname = domain.nl
mynetworks = 1.1.2.1,8.9.1.1
queue_directory = /opt/var/spool/postfix
shlib_directory = /opt/lib/postfix
smtputf8_enable = no
unknown_local_recipient_reject_code = 550
문제는 사용자 이름을 postfix set-permissions
찾을 수 없다는 것입니다. root
배포판에는 기본적으로 "admin"이라는 "루트" 사용자가 함께 제공됩니다. 적어도 다음과 같은 이유로 사용자 이름이 문제라고 생각합니다.
# postfix set-permissions
find: unknown user root
# ls -lah /opt/sbin/postdrop
-rwxr-xr-x 1 NewRootUser root 246.8K Sep 8 22:33 /opt/sbin/postdrop
반품
의 도움으로https://wiki.zimbra.com/wiki/Steps_to_fix_permission_and_ownership_of_Postfix_binaries_manually_due_to_bug_on_zmfixperm차이점을 수정해 보세요( 755
이미 설정됨).
# chown AdminUserName:postdrop /opt/sbin/postdrop
# chown AdminUserName:postdrop /opt/sbin/postqueue
# chmod g+s /opt/sbin/postdrop
# chmod g+s /opt/sbin/postqueue
결과:
# postfix check
postsuper: fatal: scan_dir_push: open directory defer: Permission denied
질문
postfix set-permissions
사용자가 자신의 사용자 이름을 기억하도록 하는 방법은 무엇입니까 new root
?
아니면 postfix set-permissions
수행해야 하는 단계를 수동으로 수행하는 방법은 무엇입니까?
아니면 어디서접미사 소스 코드flag 에 대해 수행된 작업을 찾을 수 있나요 set-permissions
?
답변1
root
사용자 이름을 기대하고 사용하는 응용 프로그램은 시스템에 해당 사용자가 없으면 당연히 실패합니다. 그러나 동일한 UID를 가진 여러 사용자가 있을 수 있습니다. 일반적으로 사용자 이름을 바꾸면 안 되는 것처럼 동일한 UID를 가진 여러 사용자 이름으로 시스템을 구성해서는 안 됩니다 root
.
username 을 사용하여 다른 UID 0 계정을 추가할 수 있습니다 root
. 이렇게 하면 숫자 UID 대신 사용자 이름을 사용하는 애플리케이션과 관련된 문제가 해결될 수 있습니다. ...을 더한별명 root
비밀번호 및 로그인이 비활성화된 UID 0의 경우 다음을 추가합니다 /etc/passwd
.
root:x:0:0:root:/root:/bin/false
전체 구문은 다음에 설명되어 있습니다.man 5 passwd
.
답변2
root
먼저, 사용자 이름을 바꾸는 것은 나쁜 생각이라는 다른 사람들의 말을 반복하겠습니다 . 즉, 그렇게 하기로 결심했다면...
플래그에 대한 권한을 설정하기 위해 수행된 작업을 postfix 소스 코드의 어디에서 찾을 수 있습니까?
명령은 postfix set-permissions
에 의해 처리되는 것으로 보이며 postfix/conf/postfix-script
다음을 호출합니다 post-install create-missing
.
set-permissions|upgrade-configuration)
$daemon_directory/post-install create-missing "$@"
;;
저장소를 검색 "root"
하고 관리자 사용자 이름이 "root"가 될 것으로 예상되는 항목을 조정해야 할 수도 있습니다.
https://github.com/vdukhovni/postfix/search?p=3&q=root&unscoped_q=root