RSS

  • YouTube
  • LinkedIn
  • 谷歌

在 Ubuntu 服务器上配置邮件服务器

红帽停产 Centos 并让许多像我一样的人习惯了派生的路线 热氢 基于 RPM 的稳定 Linux 服务器的孤儿.

这与本教程有什么关系? 直接响应: ;Para mim tudo”;.

我被迫从 CentOS 迁移我的服务器 8 有关另一个发行版,请访问 VPSs da OVH e consequentemente reconfigurar tudo o que já estava em “;邮轮飞行; 这包括我什至写过的邮件服务器 教程. 保持传统, 根据 我会的 我正在运行配置的步骤编写教程.



继续阅读 > >

乌班图上的铬冻结 22.02 杰米水母

I’;最近更新了我的笔记本电脑与 Ubuntu 从 20.02 自 22.02 通过命令行中的apt,然后完成, 我安装的 Chrome 有烦人的行为. 每次出现下载模式以保存附件甚至上传文件时, Chrome 停止工作, 冻结所有选项卡和菜单.

可以在右键单击收藏夹或停靠并重新打开时退出,但问题不断发生.

经过大量搜索,我发现 本页此评论 并在那里解释了解决方案,最后问题解决了,直到现在.

解决方案

只需关闭 输入反馈声音.

您可以通过命令行执行此操作:

$ dconf write /org/gnome/desktop/sound/input-feedback-sounds false

或者使用 dconf-editor

我希望帮助某人!

用于 Java 脚本的 CPF 验证代码

下面的代码来自一个经过优化的 Javascript 函数,具有最少的 圈复杂度 我根据文章中的解释得到的行 巴西公积金验证方法 - 个人注册. 在第二个数字化测试仪的计算时略有变化. 而不是从第二个数字开始, 代码从第一个开始并使用值 11 作为乘数. 另一个明显的变化是,为了避免比较知道我们是否在第九位和十进制数字, 我将值零分配给最后一个元素 (指数 10) 减少一个比较.

使用的算法是 1 在文章中进行了解释,并且有一个小技巧可以避免与其他等于 10 这是制作模块 10 其余的.

   // Codigo que valida um CPF informado quanto a validade de seus dígitos verificadores.

const validarCpf = (cpf) => {
  if (cpf.length !== 11) { // Supõe-se já vir filtrado o valor
    return false;
  }
  let elementos = cpf.split(''); // convertendo a string em array
  elementos[10] = 0; // Forçando ao valor da ultima multiplicacao ser zero
  let somaA = 0;
  let somaB = 0;

  elementos.reduce(function(i, valor, indice) {
    let multiplicador = 11 - indice;
    somaB += (valor * multiplicador);
    somaA += (valor * (multiplicador > 2 ? multiplicador - 1 : 0));
  }, somaA);
  let moduloA = ((somaA * 10) % 11) % 10;
  let moduloB = ((somaB * 10) % 11) % 10;
  return cpf.replace(/\d{9}(\d{2})$/g, '$1') == ("" + moduloA + moduloB);
}

您可以测试此代码 这里.

针对 PHP 的公积金验证代码

下面的代码是一个PHP函数,根据文章中的解释,优化为具有最少的圈复杂度 巴西公积金验证方法 - 个人注册. 在第二个数字化测试仪的计算时略有变化. 而不是从第二个数字开始, 代码从第一个开始并使用值 11 作为乘数. 另一个明显的变化是,为了避免比较知道我们是否在第九位和十进制数字, 我将值零分配给最后一个元素 (指数 10) 减少一个比较.

使用的算法是 1 在前面引用的文章中进行了解释,并且有一个小技巧可以避免与其他等于 10 这是制作模块 10 其余的.

   // Codigo que valida um CPF informado quanto a validade de seus dígitos verificadores.

   /**
     * 
     * Verifica se um CPF é válido
     * @author Marcos Regis <marcos@marcosregis.com>
     * @param  string $cpf
     * @return bool
     */
    function validar(string $cpf): bool
    {
        if (strlen($cpf) != 11) {
            return false;
        }
        $elementos = (array)str_split($cpf);
        $elementos[10] = 0; // Reduz uma comparação no calculo de $somaB
        $somaA = 0;
        $somaB = 0;
        foreach ($elementos as $indice => $elemento) {
            $multiplicador = count($elementos) - $indice;
            $somaA += (int)$elemento * (int)($multiplicador > 2 ? $multiplicador - 1 : 0);
            $somaB += (int)$elemento * (int)$multiplicador;
        }

        $moduloA = (($somaA * 10) % 11) % 10;
        $moduloB = (($somaB * 10) % 11) % 10;

        return preg_replace('#\d{9}(\d{2})$#', '$1', $cpf) == $moduloA . $moduloB;
    }

您可以测试此代码 这里.

Algoritimo de validação de CPF brasileiro –; 个人注册

在本文中,我将逐步解释算法的转换,以验证 CPF 到 PHP 代码的有效性.

如果您已经知道算法并希望直接转到可用代码, 请单击此处.

但什么是公积金?

公积金是个人注册的首字母缩写. 这是目前由国税局管理和发布的一些巴西文件. 每个巴西人都有权 (或职责) 拥有一个并且只有它才能访问银行服务, 报名参加公立本科课程, 通过公开招标上任, 有信用卡, 除其他例子外.

森林合作伙伴关系的组成

公积金由以下部分组成: 十一位数字, 和 最后三位数字 具有我们将在下面解释的含义.

第九位数字, 从左到右阅读, 表示 税务区域 发行地. 从 0 到 9 的数字有十个区域,如下表所示.

1 –DF, 去, 女士, MT 和 TO
2 –交流, 是, 美联社, PA, 反渗透和反渗透
3 –电子商务, 硕士和圆周率
4 –铝, 铅, 体育, 注册护士
5 - 学士和东南
6 –毫克
7 - ES 和 RJ
8 –SP
9 - 公关和SC
0 - RS

前八位数字是基数.

最后两位数字是结帐数字.

这些数字是根据以下规则计算前九位数字生成的:

第一位数字检查器

对于第一个数字, 我们拿了 8 第一个数字,然后将它们中的每一个乘以一个以 10 以及我们向右推进的程度, 我们减少 1 这个乘数,我们将所有结果相加.

为了更好地理解, 拿 123.456.789-扎伊 作为CPF具有数字的示例 扎伊 故意.

1 x 10 = 10
2 x 9 = 18
3 x 8 = 24
4 x 7 = 28
5 x 6 = 30
6 x 5 = 30
7 x 4 = 28
8 x 3 = 24
9 x 2 = 18
添加 10 + 18 + 24 + 28 + 30 + 30 + 28 + 24 + 18 有 210.

现在, 获得总数后,我们有两种方法可以到达数字检查器.

方法 1

乘 210 由 10, 我们除以 11 剩下的我们拿走了.

然后我们有: 210 x 10 = 2.100

2.100 / 11 = 190 休息 10.

如果其余的是 10 检查数字为零, 否则, 其余的是检查数字.

在我们的案例, 其余等于 10 第一个数字将是 0 (零).

方法 2

我们得到其余的划分 210 由 11.

然后我们有: 210 / 11 等于 19 休息 1.

这是其余时间的规则 0 (零) 或 1 (一). 发生这种情况时,检查器数字为 , 否则我们减去其余的 11 获取检查数字.

就我们的情况而言, 当我们休息时 1, 我们的第一个校验位将是 0 (零).

第二位数字检查器

获取第二位检查器, 我们将第一个校验位添加到 9 初始数字,我们再次执行与第一个数字相同的过程, 不同之处在于我们现在从第二个数字开始.

我们的公积金已经具有价值 123.456.789-0X 必要的操作如下.
2 x 10 = 20
3 x 9 = 27
4 x 8 = 32
5 x 7 = 35
6 x 6 = 36
7 x 5 = 35
8 x 4 = 32
9 x 3 = 27
0 x 2 = 0
添加 20 + 27 + 32 + 35 + 36 + 35 + 32 + 27 + 0 有 244.

现在, 获得总数后,我们应该使用已经解释过的两种方法之一来获得校验位.

方法 1

乘 244 由 10, 我们除以 11 剩下的我们拿走了.

然后我们有: 244 x 10 = 2.440

2.440 / 11 = 221 休息 9.

如果其余的是 10 检查数字为零, 否则, 其余的是检查器数字,在我们的例子中,我们有 9 作为第二位数字检查器.

方法 2

我们得到其余的划分 244 由 11.

然后我们有: 244 / 11 等于 22 休息 2.

请记住,我们有一个规则,其余的什么时候 0 (零) 或 1 (一) 检查数字为零.

如果大于 1 从 11 获取检查数字.

就我们的情况而言, 有 11 ; 2 = 9 作为我们的第二位数字检查器,它与该方法中获得的值相同 1.

公积金有发行限额?

理论上, 我们最多可以有 10^8 或 100.000.000 (一亿) 每个区域的可能组合. 在实践中,由于不使用重复的数字,我们的数字少了一点, 举个例子. 虽然看起来是一个相当大的数字, 它应该在某个时候翻新, 因为即使一个人死了也不能重复使用.

假设它们已经存在于该地区 8 (在圣保罗住宿) 大约 40 发行了数百万份公积金 (我无法获得可靠的数据 2022 所以我使用的常住人口的大致数量是 44,5 数百万人), 将大约留下 60 数以百万计的公积金可用. 以目前公积金的增长率 (年份 2022) 在关于 600 一年一千, 系统应保持在正下方 100 年.

我们在关于公积金组成的解释和示例的最后来到这里. 我们的公积金样本是 123.456.789-09. 下面我们有一些代码示例,用于生成结帐数字, 验证它们多少.

代码

版本 PHP.

版本 Javascript.

设置电子邮件服务器

Tenho meu próprio servidor de e-mail utilizando ;后缀, 多韦科特, MariaDB, 垃圾邮件刺客, ClamAV, Amavisd 新, Fail2ban, Nginx, 后缀管理员和圆立方体 ;抽泣 8.
虽然它有几个食谱如何配置此程序包, 我花了大量的时间来找出如何保持正确运行的服务, 每个配置中的 main.cf 并在 master.cf 并最终设法减少垃圾邮件的洪流,到达每一个瞬间.
反垃圾邮件是这份出版物的焦点. 我遭受了,还患上的不断的尝试使用我的服务作为一个僵尸或脱落的病毒, 欺诈和一切你可以.

我记不清多少次我路过过多的连接的 DNS 服务试图通过对 entupiam 的内存和强迫 s。. a cortar processos para economizar recursos e o ;名为 ;被选为最薄弱的环节.
所以, 这篇文章在私人邮件服务的适当配置中具有焦点, 几个用户和几个域. 当然很多什么是在这短的手册为世界一流的服务, 但我相信,在这些情况下使用的工具或专用和专门的服务应总是被考虑.

Então deixemos de lado o falatório para irmos direto ao ;手牵手.

安装包

第一步是安装所有将要使用的包. 圆立方管和后缀管理员运行在 PHP 支持的 Web 服务器下,其电子邮件帐户可以存储在数据库服务器上. 作为一个网络服务器,我使用Nginx,虽然我更喜欢PostgreSQL,我会使用MariaDB作为DBMS,因为事实上,大多数已经使用它 (由于文字新闻可能).

所以, 在安装过程结束时, 我们应该安装一些新的包存储库.

启用用于分发的额外包存储库, 如果你还没有这样做. 对于中心 8 下面的命令将做到这一点.

$ sudo dnf install epel-release

此外, 安装包 卷曲, 赫托普, 来, 百胜利用, Wget, 网络工具, 计时和证书机器人 这将需要在配置的其他点.

$ sudo dnf install -y curl htop vim yum-utils wget net-tools chrony certbot

后缀

Postfix ;是一个MTA (邮件转账代理). MTA 弥合计算机之间交换电子邮件的差距. 就我们的情况而言, 是主要元素.

我将在此文档中使用的Postfix版本是 3.3. 要了解将安装哪个版本的类型:

$ sudo dnf info postfix

要安装运行命令

$ sudo dnf install -y postfix postfix-mysql postfix-pcre

我们将保留服务,但已配置为与操作系统一起启动.

$ sudo systemctl enable postfix

多韦科特

多韦科特 ;是一个伊马普和Pop3邮件服务器. 有了它,我们将能够通过Postfix发送和接收消息,除其他外,通过身份验证控制对服务的访问.
要安装鸽子与mysql支持只是运行命令:

$ sudo dnf install -y dovecot dovecot-mysql

再来一次, 我们将激活服务,但让它停止.

$ sudo systemctl enable dovecot

阿马维斯

阿马维斯 ;是电子邮件的内容过滤器. 有了它,您可以使用垃圾邮件设置过滤有害消息, 病毒和其他恶意软件. 下面是安装它的命令. 它需要许多将更新和/或一起安装的依赖项. Uma dessas dependencias é o ;斯帕帕萨辛 ;稍后将设置, 以及我们正在安装的所有其他包.

首先确保电源设备存储库已启用, 因为它是从它,我们将安装阿玛维斯-新.

$ sudo dnf config-manager --set-enabled powertools

Em seguida instalamos o Amavis e algumas dependencias sendo uma delas o ;克拉马瓦 ;这是一个简单和相当有效的防病毒最常见的类型的威胁,完全免费.

$ sudo dnf -y install amavisd-new clamd perl-Digest-SHA1 perl-IO-stringy

再次, 我们将激活这些服务,以便它们始终自动启动, 但现在离开他们仍然.

$ sudo systemctl enable amavisd spamassassin

MariaDB (或我的)

通常, quem usa WordPress já possui instalado e configurado o ;MariaDB ;或我的. 如果是这样的话, 可以跳过此步骤.

我特别喜欢波斯特格雷斯QL, 但由于本文档的意图是允许DevOps拥有自己的服务,并且不能总是有几个实例,我决定使用MariaDB. 这样,, 如果您需要稍后添加WordPress, 您不需要添加额外的DBMS,甚至使用包装来支持PostgreSQL.

不要担心此时的设置, 因为我稍后会在另一份出版物中详细说明. 继续安装,我们应该运行命令:

$ sudo dnf install -y mariadb-server

然后激活服务,与系统一起启动

$ sudo systemctl enable mariadb

网络服务器 (Nginx + 菲普 - 弗姆)

最后要安装的元素是 Web 服务器的一部分. 有可能你已经有一个运行像阿帕奇,所以这一点可以跳过. 如果您正在启动一台新服务器,或者您与apache和PHP配置没有亲密关系, 建议关注此安装的提示.

Eu gosto muito do ;Nginx ;e vou usar em conjunto com o ;菲普 - 弗姆.

$ sudo dnf install -y nginx php-fpm

在这一点上,我们已经有了所有的文件需要开始配置的邮件服务器.

我太懒了

不喜欢打字或不担心安装每个项目的详细信息. 你的问题已经结束了!

您可以用下面的行运行本文档中的所有命令:

注意! 此脚本只是一个带有命令行的文件. 最终,它可能不会正常工作,这取决于您的系统设置.

$ sudo dnf update
$ sudo dnf install -y epel-release
$ sudo dnf config-manager --set-enabled powertools
$ sudo dnf -y install --enable-repo=epel-release,powertools curl htop vim yum-utils wget net-tools chrony certbot postfix dovecot amavisd-new clamd perl-Digest-SHA1 perl-IO-stringy mariadb-server ngixn php-fpm
$ sudo systemctl enable postfix mariadb spamassassin amavisd dovecot nginx php-fpm 

安装所有内容后,我们可以启动设置. Comecemos pelo ;MariaDB.

电子邮件服务器的反垃圾邮件

前段时间,我已经发表了一篇文章,展示了我如何使用 Linux 上最常见的开源环境工具设置服务器和电子邮件. 使用 后缀, 多韦科特, 后修复管理, 新, 圆立方, 新年垃圾邮件刺客.

现在,我将显示另一个工具,这是垃圾邮件的替代品,这是 邮件清洁器, 新年.



继续阅读 > >

保护您的 WordPress 免受攻击

您访问的此站点是 WordPress. 我喜欢它的轻松.

WordPress 非常擅长在 VPS 或云中快速生成博客, 但它的轻松也是它最大的缺陷.

拥有一个网站是多么简单, 互联网上绝大多数的页面都是使用它的,因此这吸引了那些寻找其开源编程缺陷的人.



继续阅读 > >

乌本图上的码头. 服务 nginx 无法生成: ADD 失败: 统计 /var/lib/docker/tmp/docker-builder(;)/startup.sh: 没有这样的文件或目录

乌本图的码头

有时, 使用拉多克时, 在尝试容器重建后,将发生此错误。 no such file or directory 消息上 docker-compose up -d –build nginx 命令.

我不清楚什么是实际问题, 但运行命令与sudo, 我们可以成功运行它.

Seems that the regular user need access rights to directory /var/lib/docker/tmp/ but do not have. So, running with sudo the trouble is bypassed and the build can finished normally.

使用 sudo 构建容器后, 可以卸载它,并重新加载,而无需 sudo.

Servidor de Email –; 部分 4 ; 后缀 3

部分 1 ; 配置 main. cf 文件

这是在 CentOS 中创建邮件服务器过程的第四部分 8 和后缀配置的第一部分. 如果你是偶然来到这里的, 最好先阅读下面的出版物之一:

部分 1 ; 软件包的安装

部分 2 ; 配置 MariaDB

部分 3 ; Dovecot 配置

后缀是我们邮件服务器最重要的部分. 他将负责与其他 Mta 交谈, 以便您接收和发送电子邮件, 并使其能够到达, 因此他必须通过服务器的名称或您的 主机 名.



继续阅读 > >