问题列表 - 第5186页

root 如何启动一个只有 root 才能杀死的进程?

在后台启动进程或将其作为systemd服务很容易。

然而,如果我想启动一个进程来监视Linux机器上的活动,那么它就成为了攻击的目标。如果任何用户想做坏事,它会首先通过简单地执行或 来终止该进程,即使他们只是sudoers 或wheel用户。killsystemctl stop

有没有办法强制执行只能杀死的进程root


伙计们,只要想到连rsyslog服务都可以被杀死,你就应该承认 Linux 确实是多么脆弱。这就像飞行员可以关闭黑匣子一样。有航空公司允许这种情况发生吗?或者是否有人给飞行员一份允许名单,以阻止他们采取任何措施来拯救飞机?当然,飞行员可以让飞机坠毁,但黑匣子会记录下来。

从安全角度来看,我关于禁止名单的提议是合法的,尽管它可能会让你感到害怕。所以不要试图责怪提出问题的人,好吗?

permissions audit rsyslog administrative-privileges

4
推荐指数
3
解决办法
5680
查看次数

Nginx 中不可能有条件标头吗?

我目前正在尝试使用 Nginx 有条件地返回一组 CORS 标头。起初,这似乎是一个简单的任务,因为我已经有了这个工作配置:

upstream api-app {
  server unix:/tmp/api-app.sock fail_timeout=0;
}

server {
  listen 80;
  # [other server stuff...]

  # CORS headers added to all ALL responses of this server (needed for all requests)
  more_set_headers 'Access-Control-Allow-Methods: GET,POST,PATCH,PUT,DELETE,OPTIONS';
  more_set_headers 'Access-Control-Allow-Origin: *';
  more_set_headers 'Access-Control-Allow-Credentials: true';
  more_set_headers 'Access-Control-Request-Method: GET,POST,PATCH,PUT,DELETE,OPTIONS';
  more_set_headers 'Access-Control-Request-Headers: Content-Type';
  more_set_headers 'Access-Control-Allow-Headers: Origin,X-Requested-With,Content-Type,Accept,Session-Id,Role-Id,Visitor-Id,X-Window-Location';
  more_set_headers 'Access-Control-Expose-Headers: X-Total-Entries,X-Total-Pages,X-Page,X-Per-Page,X-Folder-Hierarchy';

  location / {
    # For OPTIONS request only return above headers and no content (also allow caching them)
    if ($request_method = 'OPTIONS') {
      # …
Run Code Online (Sandbox Code Playgroud)

nginx conditional cors

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

已安装的 CIFS 驱动器没有写入权限

我在一台 Linux 机器上尝试通过我的 Active Directory 用户名在大型网络中挂载 SMB 共享:

mount -t cifs -o username=myuser,domain=mydomain //server/share /mount/path
Run Code Online (Sandbox Code Playgroud)

密码+成功安装后我尝试touch /mount/path/test.txt,但权限被拒绝。如此多的搜索结果(就赞成票而言,sudo mount是最大的)表明,由于使用写入权限,因此仅授予 root 而不是您的普通用户。但就我而言,我root,因为我首先使用sudo -i,一切都发生在 root 控制台上。/mount/path属于 root 及其下面的所有内容(已安装驱动器的内容)。我已经尝试解决这个问题 2 个小时了,但我陷入了困境。有谁知道为什么我什至不能以 root 身份写入驱动器?

linux active-directory mount server-message-block cifs

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

如何重置/更新/编辑GCP临时外部IP?

我的 GCP 虚拟机上有动态外部 IP。我需要它与众不同。但是我尝试重新启动虚拟机,它总是一样。我很欣赏 Google 试图为他们的客户做好事,而且免费拥有准静态 IP 很酷。但我需要改变它!

有简单的方法吗?(我的意思是无需重新创建 VM,例如某些 CLI 命令?)

编辑,因为甚至没有清除虚拟机属性中的网络设置,我觉得我需要添加这张图片来证明 IP 确实是短暂的: 在此输入图像描述

google-compute-engine google-cloud-platform

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

适用于 Windows 10 VM 的 Virsh 控制台 (QEMU-KVM)

我正在尝试通过使用从我的 Linux 主机访问 Windows 10 虚拟机virsh console

但当我这样做时,我得到了许多其他人都经历过的空控制台。

virsh console win10
Connected to domain 'win10'
Escape character is ^] (Ctrl + ])

Run Code Online (Sandbox Code Playgroud)

而且我根本不会打字。不管怎样,我可以在虚拟机中进行配置来允许这种情况,特别是对于Windows吗?谢谢

windows qemu kvm-virtualization

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

可预测的网络接口名称

所以,我已经研究这个 systemd“可预测的网络接口名称”相当长一段时间了,并对它的工作原理有了一些了解,但出于对雷神的热爱,我无法弄清楚enp X s Y的命名方案,我知道它应该指示设备的物理位置,但是XY到底意味着什么?物理位置是哪一个?另一个到底表示什么,也许是总线索引?我不知道而且真的很想知道。我到处搜索,却找不到任何详细解释这个命名方案如何工作的内容。

networking pci devices systemd

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

为什么我可以更改只读安装的 ext4 文件系统上的保留块?

我预计会出现错误,抱歉 FS 是只读的,但这是可能的。这是出乎意料且违反直觉的,有什么原因吗?

Linux files 5.11.0-27-generic #29~20.04.1-Ubuntu SMP Wed Aug 11 15:58:17 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
files@files:/mnt/disk$ mount | grep /mnt/disk/005
/dev/sdh on /mnt/disk/005 type ext4 (ro,nosuid,nodev,noexec,relatime,user)
files@files:/mnt/disk$ df /mnt/disk/005/
Filesystem      1K-blocks       Used Available Use% Mounted on
/dev/sdh       7751367424 7332824836  27824876 100% /mnt/disk/005
files@files:/mnt/disk$ sudo tune2fs -r 0 /dev/sdh
tune2fs 1.45.5 (07-Jan-2020)
Setting reserved blocks count to 0
files@files:/mnt/disk$ df /mnt/disk/005/
Filesystem      1K-blocks       Used Available Use% Mounted on
/dev/sdh       7751367424 7332824836 418526204  95% /mnt/disk/005
files@files:/mnt/disk$
Run Code Online (Sandbox Code Playgroud)

linux ext4 read-only ubuntu-20.04

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

为什么 firewalld 允许公共流量到达绑定到 Docker 容器的非公共端口?

我正在尝试在 Fedora 中实现一个非常简单的防火墙,其中公共互联网可以访问 SSH、HTTP、HTTPS 和 Cockpit,但不能访问其他内容。同时,服务器通过 Docker 运行微服务,可以在端口 8000-8999 上相互通信。

网络图

我使用以下命令在新安装的 Fedora 服务器上进行了设置:

firewall-cmd --zone=public --add-service=cockpit
firewall-cmd --zone=public --add-service=http
firewall-cmd --zone=public --add-service=https

firewall-cmd --zone=internal --add-source=192.168.1.65
firewall-cmd --zone=internal --add-source=192.168.1.66

firewall-cmd --zone=internal --add-port=8000-8999/tcp

firewall-cmd --runtime-to-permanent
Run Code Online (Sandbox Code Playgroud)

当我使用 检查我的配置时--list-all,一切看起来都正确:

> firewall-cmd --list-all --zone=internal
internal (active)
  target: default
  icmp-block-inversion: no
  interfaces:
  sources: 192.168.1.65 192.168.1.66
  services: dhcpv6-client ssh
  ports: 8000-8999/tcp
  protocols:
  forward: no
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

> firewall-cmd --list-all --zone=public
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp2s0
  sources:
  services: …
Run Code Online (Sandbox Code Playgroud)

networking firewalld fedora-server docker-networking

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

Pod 无法挂载 ConfigMap:`无法同步 configmap 缓存:等待条件超时`

我正在尝试在 v1.18 GKE kubernetes 集群上部署 pod

我的 Pod 循环崩溃,因为它无法挂载其配置映射:

$ kubectl describe pod <pod>

...

Volumes:
  cm-cxf-conf:
    Type:      ConfigMap (a volume populated by a ConfigMap)
    Name:      project-cm-cxf-conf
    Optional:  false

...

Events:
  Type     Reason                  Age                    From                     Message
  ----     ------                  ----                   ----                     -------
  Warning  FailedMount             41m                    kubelet                  MountVolume.SetUp failed for volume "cm-cxf-conf" : failed to sync configmap cache: timed out waiting for the condition

...
Run Code Online (Sandbox Code Playgroud)

但是,配置映射确实存在:

$ kubectl get configmap project-cm-cxf-conf
project-cm-cxf-conf            1      4h40m
Run Code Online (Sandbox Code Playgroud)

导致此错误的原因可能是什么?我该如何修复它?

相关主题

kubernetes

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

使用fixed-cidr-v6更改全局IPv6地址与docker

为了在我的 docker 设置中启用 IPv6,我已在文件中进行了设置/etc/docker/daemon.json

{
"ipv6": true,
"fixed-cidr-v6": "2a01:xxxx:yyyy:zzzz/64"
}
Run Code Online (Sandbox Code Playgroud)

我从我的 ISP 处获得2a01:xxxx:yyyy:zzzz并通过 找到它ip addr | grep inet6 | grep global

我的 ISP 不断改变该zzzz位,并且在重新启动路由器时它也会改变。

问题:

  • A)是否有不需要硬编码更改值的 docker 设置?(想法:设置fixed-cidr-v6为某些链接本地值fd00:...
  • B) 我可以使用动态 DNS 客户端来更新我的域 AAAA 记录。但同样,IPv6 在我的本地设置中是硬编码的。
  • C) Docker 在现实世界中似乎无法与 IPv6 一起使用。我是否必须直接在反向代理后面的主机上(而不是在容器中)运行我的应用程序?

ipv6 docker

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