问题列表 - 第5223页

如何在 FreeBSD 13.1 上使用 /etc/hosts

这是 FreeBSD 13.1 的普通全新安装。resolv.conf文件如下,未启用Unbound。

nameserver 192.0.2.1
Run Code Online (Sandbox Code Playgroud)

本地计算机上的 DNS 解析被忽略/etc/hosts。配置中缺少什么?

domain-name-system freebsd

3
推荐指数
1
解决办法
826
查看次数

setuid 不适用于标准用户帐户

看看这个c程序:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main()
{
    printf("UID:  %d\n", getuid());
    printf("EUID: %d\n", geteuid());
    system("id");

    printf("res=%d\n", setuid(1001));

    printf("UID:  %d\n", getuid());
    printf("EUID: %d\n", geteuid());
    system("id");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我的用户帐户是“test”(id 1000)。我有第二个用户帐户:“test2”(id 1001)。

这是我所做的:

gcc test.c -o ./a.out
sudo chown test2 ./a.out
sudo chmod u+s ./a.out
Run Code Online (Sandbox Code Playgroud)

现在,如果我启动 ./a.out 会发生以下情况:

UID:  1000
EUID: 1001
uid=1000(test) gid=1000(test) groups=1000(test),...
res=0
UID:  1000
EUID: 1001
uid=1000(test) gid=1000(test) groups=1000(test),...
          
Run Code Online (Sandbox Code Playgroud)

我不明白为什么我在第二部分看不到 uid=1001...

我已经尝试过这个:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main()
{
    printf("UID:  %d\n", getuid());
    printf("EUID: %d\n", …
Run Code Online (Sandbox Code Playgroud)

setuid

0
推荐指数
1
解决办法
341
查看次数

DigitalOcean 网络防火墙仅允许 22 端口以外的端口上的 SSH 连接

我在 DigitalOcean 上有一个启用了 IPv4 和 IPv6 的 Droplet。该液滴位于数字海洋网络防火墙后面,具有以下规则:

入境:

  • SSH TCP 22 所有 IPv4、所有 IPv6
  • HTTP TCP 80 所有 IPv4、所有 IPv6
  • HTTP TCP 443 所有 IPv4、所有 IPv6

出境:

  • ICMP ICMP 所有 IPv4 所有 IPv6
  • 所有 TCP TCP 所有端口 所有 IPv4 所有 IPv6
  • 所有 UDP UDP 所有端口 所有 IPv4

我的理解和期望是,这将阻止端口 22 以外的端口上的所有 ssh 尝试。但是,在检查 systemd 日志中的 sshd 单元时。我看到以下条目:

2022-12-29 03:00:32 Disconnected from invalid user antonio 43.153.179.44 port 45614 [preauth]
2022-12-29 03:00:32 Received disconnect from 43.153.179.44 port 45614:11: Bye Bye [preauth]
2022-12-29 …
Run Code Online (Sandbox Code Playgroud)

security firewall ssh network-security digital-ocean

2
推荐指数
2
解决办法
1792
查看次数

有什么安全原因不使用“root”用户进行 git 远程操作吗?

我有一些配置(docker-compose相关文件),我喜欢将它们存储git在私人存储github库上。
这些配置由 root 拥有。
是否有任何理由更改文件的所有权以通过除 之外的其他用户执行git push和?git pullroot

security linux git

0
推荐指数
1
解决办法
415
查看次数

VPN 代替 VLAN

我的网络有大约 8000 个用户,他们在多个建筑物中工作。员工流动频繁,目前迫使交换机端口上的 VLAN 配置发生变化。此外,我们组织中还有很多设备制造商,例如Juniper、HP/Aruba、Cisco、TP-Link和华为。

我只想在交换机上使用几个 VLAN:VoIP、打印机、内部网络(内联网)。身份验证后只能通过 VPN 访问互联网。我需要收集日志(IP <-> 用户)- 我所在国家/地区的适用法律。我们在组织中有一个 Radius 服务器,我可以用它来授权用户。

是否可以基于开源软件搭建VPN集群?- 我需要 HA 解决方案。

我也愿意接受其他建议来解决我的问题。

vpn vlan network-security

4
推荐指数
1
解决办法
1493
查看次数

将文件上传到公共 www 文件夹之外的文件夹是一个好习惯吗?

我有一个网站,用户可以在其中上传文件。我不希望任何人都可以访问这些文件。

我看到有些人my_secret_folder在目录的同一级别创建了一个文件夹(例如)www。然后,他们使用以下方法上传文件(使用 PHP 脚本):

$destination = $_SERVER['DOCUMENT_ROOT'] . "/../my_secret_folder/" . $filename;
Run Code Online (Sandbox Code Playgroud)

$destination上传文件的完整路径在哪里。

然后,只允许 PHP 脚本(来自 www 文件夹)访问该文件。将文件上传到公共 www 文件夹之外的文件夹是一个好习惯吗?

php

12
推荐指数
1
解决办法
4228
查看次数

为 Gmail 免费帐户生成 DKIM

我正在使用 Gmail SMTP 和 WordPress 来通过我的自定义域发送邮件(user@example.com)。电子邮件已成功发送,但始终位于每个网络邮件提供商的垃圾邮件文件夹中(例如 Gmail、Rediffmail、Yahoo、Outlook 等)

Gmail SMTP server address: smtp.gmail.com
Gmail SMTP name: Your full name
Gmail SMTP username: Your full Gmail address (e.g. you@gmail.com)
Gmail SMTP password: The password that you use to log in to Gmail
Gmail SMTP port (TLS): 587
Gmail SMTP port (SSL): 465
Run Code Online (Sandbox Code Playgroud)

发生这种情况是因为他们无法验证该电子邮件的发件人以及 DNS 记录(例如 SPF 和 DKIM)。我用谷歌搜索,得到了 Gmail 的 SPF 记录v=spf1 a include:_spf.google.com ~all

但是如何为我的 Gmail SMTP 生成 DKIM。我已经检查了这个Google文档: https: //support.google.com/a/answer/180504#turn-on-dkim,但它是关于Google Business Mail/WorkMail而不是免费Gmail (user@gmail.com)。 …

email email-server smtp gmail dkim

5
推荐指数
1
解决办法
1441
查看次数

如何根据驱动器在多托架机箱中的位置来命名驱动器?

了解多盘位设备中坏驱动器的位置非常重要,但是驱动器的默认命名(例如等/dev/sda/dev/sdb并不能提供特定驱动器物理驻留位置的线索。

我有一个用于备份的 8 盘位外部 JBOD 机柜。它托管一个 ZFS 池并连接到 Arch Linux 盒子。在 Linux 系统上是否可以根据驱动器在机箱中的物理位置使用systemd/来命名驱动器,而不是?udev/dev/sd*

我希望名称能够反映驱动器在机箱中的物理位置 /dev/encl1/dev/encl2...或类似的名称。我希望这些标签默认出现,而不是出现/dev/sd*lsblk和中zpool status

我确实知道机箱中每个驱动器的位置,并将这些信息保存在一个文件中,但最好 lsblk直接使用其他命令查看它。

我尝试创建/etc/udev/rules.d规则

SUBSYSTEM=="block" KERNEL=="sd*" ENV{ID_SERIAL_SHORT}=="ZR5CTR4V" SYMLINK+="encl1"
Run Code Online (Sandbox Code Playgroud)

我在运行后确实得到了这样的符号链接udevadm trigger,但它们并不等同/dev/sd*,而且我无法使用它们作为替代。

linux zfs udev

6
推荐指数
1
解决办法
607
查看次数

从 gp2 到 gp3 存储有什么需要仔细考虑的吗?

我正在维护一个db.m6g.xlarge具有 750GB 磁盘的 AWS RDS 数据库 ( )。这提供了 2250 IOPS,RDS 监控告诉我平均读取吞吐量约为 50MB/s,写入吞吐量约为 2MB/s。

数据库IOPS徘徊在2250左右,显然需要更多的IOPS。

我正在研究新的 gp3 存储,当我为 750GB 磁盘的该存储类型设置价格估算时,我获得了 12000 IOPS 和 500 MiBps (524.288 MBps),价格与当前 gp2 磁盘成本相同。

这听起来好得令人难以置信。获得 12000 IOPS 的 gp2 需要 4TB 存储空间,每月费用为 1500 美元,获得 12000 IOPS 的 io1 磁盘每月费用为 2600 美元。带gp3磁盘的数据库每月费用约为700美元。

在此输入图像描述

我认为其中的“问题”是任何超过 12.000 IOPS 和 500 MiBps 的 IOPS 和/或吞吐量都会产生额外成本,但我并不完全清楚这是如何计算的。

每月配置 IOPS 超过 3,000 0.005 美元;

超过 125MiB/s 每月每配置 MiB/s 0.04 美元

如果我将数据库从 gp2 移动到 gp3,我们将获得额外的 9750 IOPS。如果当前吞吐量约为 50MB/S,我看不出如何超过 gp3 的 500 MiBps 基线。 …

amazon-web-services amazon-rds

9
推荐指数
1
解决办法
6098
查看次数

.htaccess - 重定向所有 URL,但有一个例外

我想将所有 URL 从一个域重定向到另一个域。一些旧的 URL 有新的对应项,其中包含要重定向到的特定页面。所有其他 URL 应重定向到新域的主页。

但我不想重定向sitemap.xml. 所以我做了这样的例外(来自这里):

RewriteCond %{REQUEST_URI} !^/sitemap.xml?$
Run Code Online (Sandbox Code Playgroud)

但这不起作用。

这是我的完整代码:

RewriteEngine on

# exception for the sitemap:
RewriteCond %{REQUEST_URI} !^/sitemap.xml?$

# specific redirects:
Redirect 301 /old-page  https://www.new-domain.com/

# catch the rest:
RedirectMatch 301 ^/ https://www.new-domain.com/
Run Code Online (Sandbox Code Playgroud)

有什么不对?

mod-rewrite .htaccess redirect sitemap 301-redirect

2
推荐指数
1
解决办法
3025
查看次数