Como corrigir as permissões setfix do postfix sem o usuário chamado root?

2

Estou tentando configurar Postfix de Entware (um repo para dispositivos incorporados).

Não há nenhum SElinux envolvido e o chroot está desabilitado no 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

O problema é que postfix set-permissions não consegue descobrir o nome do usuário root . Esta distribuição vem por padrão com um usuário "root" chamado "admin". Pelo menos eu acho que o nome do usuário é o problema, por causa de:

# 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

Regressão

Com a ajuda do link tente corrigir as diferenças ( 755 já foi definido):

# chown AdminUserName:postdrop /opt/sbin/postdrop
# chown AdminUserName:postdrop /opt/sbin/postqueue
# chmod g+s /opt/sbin/postdrop
# chmod g+s /opt/sbin/postqueue

Resultado:

# postfix check
postsuper: fatal: scan_dir_push: open directory defer: Permission denied

Pergunta

Como fazer com que postfix set-permissions aprenda o nome do usuário new root ?

Ou como executar manualmente as etapas que postfix set-permissions deve fazer?

Ou onde, no código-fonte do postfix , é possível encontrar o ações que são executadas para o sinalizador set-permissions ?

    
por Pro Backup 27.09.2018 / 15:01

2 respostas

2

As aplicações que esperam e usam o nome de usuário root irão, compreensivelmente, falhar quando não houver tal usuário no sistema. No entanto, você pode ter mais de um usuário com o mesmo UID. Normalmente, você provavelmente não deve configurar o sistema com vários nomes de usuário com o mesmo UID, da mesma forma que você não deve renomear root user.

Você pode adicionar outra conta do UID 0, que possui o nome de usuário root . Isso possivelmente resolve problemas com aplicativos que usam nomes de usuário em vez de UIDs numéricos. Para adicionar um alias root para o UID 0 com senha e login desativados, anexe o seguinte a /etc/passwd :

root:x:0:0:root:/root:/bin/false

A sintaxe completa é explicada em man 5 passwd .

    
por 30.09.2018 / 22:10
1

Primeiro, deixe-me repetir o ponto alheio de que renomear o usuário root é uma má ideia. Dito isto, se você está pronto para fazer isso ...

Where in the postfix source code can one find the actions that are executed for flag set-permissions?

O comando postfix set-permissions parece ser tratado por postfix/conf/postfix-script , que por sua vez chama post-install create-missing :

set-permissions|upgrade-configuration)
    $daemon_directory/post-install create-missing "$@"
    ;;

link

link

Você pode ter que pesquisar o repo por "root" e ajustar qualquer coisa que esteja esperando que o nome de usuário do administrador seja "root":

link

    
por 01.10.2018 / 20:17