AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / user-189548

JackTheKnife's questions

Martin Hope
JackTheKnife
Asked: 2020-05-02 08:17:01 +0800 CST

Domínio válido rejeitado por James

  • 0

Por algum motivo, de repente estou recebendo esse erro em James:

DEBUG 09:32:35,635 | james.smtpserver | Id='1973954440' User='' Unknown domain ABC  so reject it
DEBUG 09:32:35,635 | james.smtpserver | Id='1973954440' User='' executing hook org.apache.james.protocols.smtp.core.log.HookResultLogger@340c2af4
DEBUG 09:32:35,635 | james.smtpserver | Id='1973954440' User='' org.apache.james.smtpserver.fastfail.ValidRcptHandler: result=8 (DECLINED)

Alguma pista do que está errado que o domínio válido está sendo rejeitado?

smtp james apache-james
  • 1 respostas
  • 41 Views
Martin Hope
JackTheKnife
Asked: 2020-04-15 07:14:58 +0800 CST

Webmail da Horda não reconhece ACLs Dovecot

  • 0

Estou tentando configurar uma caixa de correio para ser compartilhada com outra usando as etapas descritas aqui, mas por algum motivo não vejo essa opção na minha caixa de correio (registrada como administrador), mesmo que configurei ACL como verdadeira na configuração do IMP .

De pombal -n:

auth_debug = yes
auth_debug_passwords = yes
auth_master_user_separator = *
auth_mechanisms = plain login
auth_verbose = yes
auth_verbose_passwords = yes
dict {
  acl = mysql:/usr/etc/dovecot/dovecot-dict-sql.conf.ext
}
disable_plaintext_auth = no
lda_mailbox_autosubscribe = yes
log_path = /var/log/dovecot.log
mail_home = mdbox:/mnt/homedirs/%2Mu/%2.2Mu/%u
mail_location = mdbox:/mnt/mailboxes/%2Mu/%2.2Mu/%u
mail_plugins = acl
mail_shared_explicit_inbox = yes
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mime foreverypart extracttext vnd.dovecot.pipe vnd.dovecot.filter vnd.dovecot.execute
namespace {
  list = children
  location = mdbox:/mnt/mailboxes/%%2Mu/%%2.2Mu/%%u
  prefix = shared/%%u/
  separator = /
  subscriptions = yes
  type = shared
}
namespace inbox {
  inbox = yes
  location =
  mailbox Drafts {
    auto = subscribe
    special_use = \Drafts
  }
  mailbox INBOX {
    auto = subscribe
  }
  mailbox Junk {
    special_use = \Junk
  }
  mailbox Sent {
    auto = subscribe
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    special_use = \Sent
  }
  mailbox Trash {
    auto = subscribe
    special_use = \Trash
  }
  prefix =
  separator = /
  subscriptions = yes
}
passdb {
  args = /usr/etc/dovecot/mastership-sql.conf
  driver = sql
  master = yes
  pass = yes
}
passdb {
  args = /usr/etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
plugin {
  acl = vfile
  acl_defaults_from_inbox = yes
  acl_shared_dict = proxy::acl
  sieve_execute_socket_dir = sieve-execute
  sieve_extensions = +vnd.dovecot.execute +vnd.dovecot.filter +vnd.dovecot.pipe
  sieve_filter_socket_dir = sieve-filter
  sieve_pipe_socket_dir = sieve-pipe
  sieve_plugins = sieve_extprograms
}
service dict {
  unix_listener dict {
    user = dovecot
  }
}
service imap-postlogin {
  executable = script-login /usr/etc/dovecot/imappostlogin
  user = $default_internal_user
}
service imap {
  executable = imap imap-postlogin
}
ssl = no
ssl_cert = </etc/pki/tls/certs/hostname.bundle
userdb {
  args = uid=dovecot gid=dovecot home=/mnt/mailboxes/%%2Mu/%%2.2Mu/%%u
  driver = static
}
protocol lmtp {
  mail_plugins = acl sieve
}
protocol lda {
  mail_plugins = acl sieve
}
protocol imap {
  mail_plugins = acl imap_acl
}

Alguma dica sobre isso?

access-control-list dovecot webmail horde
  • 1 respostas
  • 62 Views
Martin Hope
JackTheKnife
Asked: 2020-03-20 10:10:36 +0800 CST

Dovecot no Centos7 - não é possível iniciar com o systemd

  • 0

Pombal recém-compilado 2.3.9.3 no Centos 7 por algum motivo não é possível iniciar

● dovecot.service - LSB: Dovecot init script
   Loaded: loaded (/etc/rc.d/init.d/dovecot; bad; vendor preset: disabled)
   Active: failed (Result: exit-code) since Thu 2020-03-19 15:15:37 UTC; 54s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 20398 ExecStart=/etc/rc.d/init.d/dovecot start (code=exited, status=203/EXEC)

Mar 19 15:15:37 systemd[1]: Starting LSB: Dovecot init script...
Mar 19 15:15:37 systemd[1]: dovecot.service: control process exited, code=exited status=203
Mar 19 15:15:37 systemd[1]: Failed to start LSB: Dovecot init script.
Mar 19 15:15:37 systemd[1]: Unit dovecot.service entered failed state.
Mar 19 15:15:37 systemd[1]: dovecot.service failed.

Eu compilei o mesmo código no Centos 6 e não tive problemas para executá-lo.

Também verificando se ativado na inicialização do sistema, ele lança isso

dovecot.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig dovecot on

Algum pensamento sobre esse assunto? Preciso mudar alguma coisa para funcionar systemd?

centos dovecot centos7
  • 1 respostas
  • 339 Views
Martin Hope
JackTheKnife
Asked: 2020-02-06 12:13:16 +0800 CST

A fila do Apache James fica para trás

  • 0

Por algum motivo, muitas vezes eu tenho um problema de liberação de fila quando a mensagem entregue é sempre um atrás do realmente enviado. James está configurado para enviar mensagens de entrada para o gateway (Postfix).

A classe RemoteDelivery tem isso:

        // Set it to try to deliver (in a separate thread) immediately
        // (triggered by storage)

O que exatamente é "armazenamento" e onde está configurado?

Eu configurei um mailet que envia mensagens correspondentes (com base no domínio do destinatário) para o gateway (especificado no mailetcontainer). Isso funciona bem até algum ponto em que fica "preso" para ser entregue ao gateway. Nos logs de James mostra como Successfully spooled maildo remetente e depois mostra como

[TID=83] INFO  11:04:54,858 | james.smtpserver | Id='1510412390' User='' Successfully spooled mail Mail1581005094857-978ba32f-74e6-4ca1-b903-7994637a9873 from <address@remote> on <remote sender IP> for [<address@local>]
...
[TID=734] INFO  11:04:55,290 | james.mailetcontext | Remotely delivering mail Mail1581005094857-978ba32f-74e6-4ca1-b903-7994637a9873
[TID=34] INFO  11:04:55,290 | james.mailetcontext | Remote delivery thread (0) will process mail Mail1581005072858-90055113-03cf-4bc0-84d7-d47d176feef2
[TID=34] INFO  11:04:55,290 | james.mailetcontext | Attempting to deliver Mail1581005072858-90055113-03cf-4bc0-84d7-d47d176feef2
[TID=734] INFO  11:04:55,312 | james.mailetcontext | Adding SMTP gateway: <gateway address>
[TID=734] INFO  11:04:55,312 | james.mailetcontext | Sending mail to [<address@local>] via [<gateway address>]
[TID=34] INFO  11:04:55,312 | james.mailetcontext | Adding SMTP gateway: <gateway adrdress>
[TID=34] INFO  11:04:55,312 | james.mailetcontext | Attempting delivery of Mail1581005072858-90055113-03cf-4bc0-84d7-d47d176feef2 to host <gateway adrdress> at <gateway adrdress> from <address@remote> for addresses [<address@local>]]

mas não vejo que o Mail foi enviado com sucesso para o gateway.

Para obtê-lo "desbloqueado" eu preciso ter outra mensagem de entrada para ser enviada para o James que atingirá o mesmo mailet para empurrar a mensagem anterior para ser spool que ficou presa antes. Em seguida, nos logs de James, aparecerá como

[TID=35] INFO  11:22:14,443 | james.mailetcontext | Mail (Mail1581005094857-978ba32f-74e6-4ca1-b903-7994637a9873) sent successfully to <gateway adrdress> at <gateway adrdress> from <address@remote> for [[<address@local>]]

Tudo parece que se o host de retransmissão mudar, a fila relacionada pode começar a se comportar de maneira diferente, agindo como um tubo de papel toalha com bolas de pingue-pongue empurradas em uma extremidade. Somente quando bolas suficientes foram empurradas para tirar uma da outra extremidade. Alguma opinião sobre isso?

email-server james
  • 1 respostas
  • 100 Views
Martin Hope
JackTheKnife
Asked: 2019-06-22 07:03:05 +0800 CST

Migração de correio Dovecot do mdbox

  • 0

Estou tentando migrar mdbox para maildir com base em https://wiki.dovecot.org/Migration/MailFormat

Eu modifiquei dovecot.conf e configureimail_location=maildir:/tmp/destination/mailboxes/

Então eu tinha corrido

/mnt/testmail/bin/dsync -Dv -u [email protected] mirror mdbox:/source/mailboxes/[email protected]

mas isso não fez nada. Então eu modifiquei dovecot.conf e configureimail_location=mdbox:/source/mailboxes

Então eu tinha corrido

/mnt/testmail/bin/dsync -Dv -u [email protected] mirror mdbox:/tmp/destination/mailboxes/[email protected]

que copiou na caixa de correio [email protected] da origem para o local de destino. Como isso estava funcionando, tentei executar

/mnt/testmail/bin/dsync -Dv -u [email protected] mirror maildir:/tmp/destination/mailboxes/[email protected]

mas isso deu um erro:

dsync([email protected]): Debug: Namespace inbox: type=private, prefix=, sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes location=maildir:/mnt/testmail/mailboxes dsync ([email protected]): Erro: Falha na inicialização do usuário: Namespace '': driver de armazenamento de email desconhecido maildir

O primeiro problema é que, com base no exemplo nº 2 acima, a sintaxe fornecida em https://wiki.dovecot.org/Migration/MailFormat está incorreta ou, por algum motivo, não está funcionando para mim como deveria, no exemplo nº 1.

A segunda questão é não reconhecer o formato maildir – e quanto a isso? Docecot tem algumas bibliotecas ausentes?

Dovecot versão 2.2.18 e configuração se parece com:

# 2.2.18: /etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.8
# OS: Linux 2.6.32-754.14.2.el6.x86_64 x86_64 CentOS release 6.10 (Final) xfs
auth_master_user_separator = *
auth_mechanisms = plain login
dict {
  acl = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
}
disable_plaintext_auth = no
lda_mailbox_autosubscribe = yes
log_path = /var/log/dovecot.log
mail_home = mdbox:/var/homedirs/%2Mu/%2.2Mu/%u
mail_location = mdbox:/var/mailboxes/%2Mu/%2.2Mu/%u
mail_plugins = acl
mail_shared_explicit_inbox = yes
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date index ihave duplicate vnd.dovecot.pipe vnd.dovecot.filter vnd.dovecot.execute
namespace {
  list = children
  location = mdbox:/var/mailboxes/%%2Mu/%%2.2Mu/%%u
  prefix = shared/%%u/
  separator = /
  subscriptions = yes
  type = shared
}
namespace inbox {
  inbox = yes
  location =
  mailbox Drafts {
    auto = subscribe
    special_use = \Drafts
  }
  mailbox INBOX {
    auto = subscribe
  }
  mailbox Junk {
    special_use = \Junk
  }
  mailbox Sent {
    auto = subscribe
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    special_use = \Sent
  }
  mailbox Trash {
    auto = subscribe
    special_use = \Trash
  }
  prefix =
  subscriptions = yes
}
passdb {
  args = /etc/dovecot/mastership-sql.conf
  driver = sql
  master = yes
  pass = yes
}
passdb {
  args = /etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
plugin {
  acl = vfile
  acl_defaults_from_inbox = yes
  acl_shared_dict = proxy::acl
  sieve_after = /etc/dovecot/sieve/99-file-qvera-ccda.sieve
  sieve_after2 = /etc/dovecot/sieve/98-notify-biz-address.sieve
  sieve_after3 = /etc/dovecot/sieve/97-mdn-processed.sieve
  sieve_execute_bin_dir = /etc/dovecot/sieve-execute
  sieve_execute_socket_dir = sieve-execute
  sieve_extensions = +vnd.dovecot.execute +vnd.dovecot.filter +vnd.dovecot.pipe
  sieve_filter_bin_dir = /etc/dovecot/sieve-filter
  sieve_filter_socket_dir = sieve-filter
  sieve_pipe_bin_dir = /etc/dovecot/sieve-pipe
  sieve_pipe_socket_dir = sieve-pipe
  sieve_plugins = sieve_extprograms
}
postmaster_address = [email protected]
sendmail_path = /sbin/sendmail
service dict {
  unix_listener dict {
    user = dovecot
  }
}
service imap-postlogin {
  executable = script-login /etc/dovecot/imappostlogin
  user = $default_internal_user
}
service imap {
  executable = imap imap-postlogin
}
ssl = no
userdb {
  args = uid=dovecot gid=dovecot home=/var/mailboxes/%%2Mu/%%2.2Mu/%%u
  driver = static
}
protocol lmtp {
  mail_plugins = acl sieve
}
protocol lda {
  mail_plugins = acl sieve
}
protocol imap {
  mail_plugins = acl imap_acl
}

Altamente possível, foi a compilação personalizada.

dovecot
  • 1 respostas
  • 514 Views
Martin Hope
JackTheKnife
Asked: 2018-09-20 06:57:36 +0800 CST

Dovecot Sieve: Armazena parte de uma mensagem como variável

  • 1

Eu preciso recuperar algumas partes de uma mensagem que se parece com

Subject: Test message
Message-Id: <[email protected]>
Mime-Version: 1.0
Content-Type: multipart/report; boundary="----=_Part_fba0c199dfcd4d60ae506b37a6320a84"; report-type=notification
To: [email protected]
Date: Mon, 17 Sep 2018 16:21:45 -0400 (EDT)
From: [email protected]


------=_Part_fba0c199dfcd4d60ae506b37a6320a84
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

BTW, this is the correct notification ... it should be "failed" not "failure".
------=_Part_fba0c199dfcd4d60ae506b37a6320a84
Content-Type: message/notification
Content-Transfer-Encoding: 7bit

Final-Recipient: rfc822; [email protected]
Original-Message-ID: <[email protected]>

------=_Part_fba0c199dfcd4d60ae506b37a6320a84—

por exemplo, preciso pegar o que está depois Final-Recipient: rfc822;e Original-Message-ID:armazená-los como variáveis

Eu tentei fazer algo como

if body :raw :contains ["Original-Message-ID:"] {
  set "Original-Message-ID" "${0}";
}

mas a variável definida como Original-Message-IDnão contém o que está depois dela na mensagem.

dovecot
  • 1 respostas
  • 298 Views
Martin Hope
JackTheKnife
Asked: 2018-09-19 11:39:02 +0800 CST

Dovecot Sieve e :variável de saída para executar adicionando caractere inválido

  • 0

Estou tentando fazer o filtro blow Sieve funcionar

require ["fileinto", "imap4flags", "mailbox", "body", "envelope", "vnd.dovecot.pipe", "variables", "vnd.dovecot.execute"];

if envelope :matches "To" "*@*" {
  set "recipient" "${0}";
  set "user" "${1}";
  set "recip_domain" "${2}";
}

if envelope :matches "From" "*" {
  set "sender" "${0}";
}

#Check if recipient is valid user
if execute :output "valid_user" "user-verification" "${recipient}" {
    if string :matches "${valid_user}" "True" {
      if body :raw :contains ["message/notification"] {
        setflag "\\Seen";
        fileinto :create "Notifications";
        stop;
      }
    }
}

Where user-verificationé um extprogram que chama a API e verifica o usuário com base no endereço de e-mail e retorna booleano (como uma saída para o console).

Tudo funciona bem quando vou remover a if string :matches "${valid_user}" "True"instrução de outra forma, parece que não está reconhecendo a valid_uservariável.

Quando eu canalizo valid_userpara algum script apenas para capturar o valor dessa variável, ele gera um erro:

erro: especificado :args item `True?' é inválido.

Por que o ponto de interrogação foi adicionado à variável neste caso?

Pensamentos?

dovecot
  • 1 respostas
  • 306 Views
Martin Hope
JackTheKnife
Asked: 2017-01-06 07:31:49 +0800 CST

Dovecot e "pastas do sistema"

  • 0

Até onde eu sei, "pastas do sistema" como Rascunho, Enviado e Lixeira são criadas pelo aplicativo IMAP (webmail) e não pelo Dovecot, mas existe uma maneira de suprimir esse processo e permitir que o Dovecot faça isso na frente de um webmail?

Encontrei algumas opções de configuração /etc/dovecot/conf.d/mailboxes.confque permitem criar e assinar automaticamente essas caixas de correio de "uso especial", mas não tenho certeza se é isso que estou procurando. Nesse caso, essas "pastas do sistema" serão criadas antes do login do usuário em um webmail ou durante o processo de login, o que será o mesmo que usar uma funcionalidade webamil para criar essas pastas.

Minha configuração Dovecot usa formato mbox e SQL para armazenamento de usuários.

imap dovecot webmail
  • 1 respostas
  • 214 Views
Martin Hope
JackTheKnife
Asked: 2016-12-10 07:39:06 +0800 CST

Dovecot e execução de script - permissão negada para um comando do sistema

  • 0

Eu tenho um script de shell que está procurando um caminho de caixa de correio

result=`find /var/mailboxes -type d -name [email protected]`
perl -pi -e 's/Folder-to-Remove//g' $result/subscriptions

mas ao executá-lo via Dovecot Sieve, recebo uma mensagem de erro:

lmtp: Erro: localizar: `/var/mailboxes/63': Permissão negada

onde /var/mailboxes/63nem é propriedade de[email protected]

Shell script tem permissão para ser executado por outros.

bash dovecot shell-scripting sieve
  • 1 respostas
  • 358 Views
Martin Hope
JackTheKnife
Asked: 2016-12-07 11:48:31 +0800 CST

Como criar uma pasta, mas não assiná-la no Dovecot's Sieve?

  • 1

Eu tenho a regra da peneira:

 if header :contains "subject" ["TOP-SECRET"] {
    setflag "\\Seen";
    fileinto :create "Hidden-Folder";
    stop;
}

com base no qual tudo o que inclui TOP-SECRETno assunto é movido para o hidden-foldere definido como lido.

Existe alguma maneira de definir isso Hidden-Foldercomo não inscrito (oculto na lista de pastas) via peneira? Ou como "enviar" qual arquivo de assinaturas de conta deve ser editado por um script?

dovecot sieve
  • 2 respostas
  • 892 Views
Martin Hope
JackTheKnife
Asked: 2016-11-24 12:59:58 +0800 CST

ldappasswd com ligação RootDN não está funcionando

  • 0

Estou tentando alterar a senha do usuário jdoeusando ldappasswdo vínculo RootDN. Comando executado parece

ldappasswd -H ldap://10.12.21.10 -x -D "CN=ldap_manager,CN=Users,DC=mycompany,DC=local" -w ldap_manager_pswd -s newpasswd "CN=Jane Doe,DC=mycompany,DC=local"

mas dá um erro

Resultado: Erro de protocolo (2) Informações adicionais: 0000203D: LdapErr: DSID-0C090DA1, comentário: OID de solicitação estendida desconhecida, dados 0, v1db1

Bind funciona bem como eu posso executarldapsearch

ldapsearch -H ldap://10.12.21.10 -x -D "CN=ldap_manager,CN=Users,DC=mycompany,DC=local" -w ldap_manager_pswd "CN=Jane Doe"

Alguma dica do que estou perdendo?

ldap
  • 1 respostas
  • 1996 Views
Martin Hope
JackTheKnife
Asked: 2016-10-29 05:36:06 +0800 CST

Dovecot: Liste os usuários da pasta compartilhada usando o endereço de e-mail da pasta compartilhada

  • 0

Eu sei que posso listar usuários de pastas compartilhadas usando o nome da pasta

doveadm acl get -A "Public/TestFolder"

mas é possível listar os usuários da pasta compartilhada usando o endereço de e-mail da pasta compartilhada <shared>usado para adicionar o usuário <user>a uma pasta compartilhada adicionando comandos como:

dovadm acl add -u <shared> INBOX user=<user>
dovecot
  • 1 respostas
  • 384 Views
Martin Hope
JackTheKnife
Asked: 2016-09-23 08:15:17 +0800 CST

Como altero as senhas de usuário do Dovecot armazenadas em um banco de dados?

  • 0

Eu tenho uma configuração executando a configuração AuthDatabse . Tudo funciona bem do lado do webmail, mas se eu quiser usar doveadmpara alterar a senha do usuário, o banco de dados não será afetado.

Qualquer pista?

dovecot
  • 1 respostas
  • 4365 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve