AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-147741

Matthias Ronge's questions

Martin Hope
Matthias Ronge
Asked: 2024-12-06 00:30:36 +0800 CST

如何阻止 Apache 在 HTML 标头破坏之前返回错误行

  • 6

我使用一个可以在 Apache 中发布文件的简单站点:

文件:/etc/apache2/sites-enabled/contents.conf
<Directory "/mnt/data/contents/">

        Options FollowSymLinks

        Require all granted

        <IfModule mod_expires.c>
                ExpiresActive on
                ExpiresDefault "access plus 7 days"
        </IfModule>
</Directory>

这些文件是简单的 XML,示例以以下几行开始:

<mets:mets xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:xlink="http://www.w3.org/1999/xlink"
           xmlns:kitodo="http://meta.kitodo.org/v1/"

当我在本地下载文件时,wget抱怨没有标题:

user@myhostname:~$ wget http://myhostname/contents/example/example.xml
--2024-12-05 16:14:59--  http://myhostname/contents/example/example.xml
Resolving myhostname (myhostname)... 127.0.1.1
Connecting to myhostname (myhostname)|127.0.1.1|:80... connected.
HTTP request sent, awaiting response... 200 No headers, assuming HTTP/0.9
Length: unspecified
Saving to: ‘example.xml’

example.xml                                        [      <=>                                                                                                                                ]  12,66K  --.-KB/s    in 4,8s

2024-12-05 16:15:04 (2,66 KB/s) - ‘example.xml’ saved [12966]

下载的文件开始如下:

 12:25:45 GMT
Accept-Ranges: bytes
Content-Length: 12563
Cache-Control: max-age=0
Expires: Thu, 05 Dec 2024 09:45:44 GMT
Vary: Accept-Encoding
X-Content-Type-Options: nosniff
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: application/xml; charset=utf-8

<mets:mets xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:xlink="http://www.w3.org/1999/xlink"
           xmlns:kitodo="http://meta.kitodo.org/v1/"

显然,第一行不属于那里,并且阻止正确识别 HTTP 标头。该行来自哪里?我该如何关闭它?我在其他系统上没有遇到过类似情况。

服务器版本:Apache/2.4.41(Ubuntu)

已加载的模块:
core_module(静态)
so_module(静态)
watchdog_module(静态)
http_module(静态)
log_config_module(静态
) logio_module(静态)
version_module(静态)
unixd_module(静态
) access_compat_module(共享)
alias_module(共享)
auth_basic_module
(共享) authn_core_module(共享)
authn_file_module(共享)
authnz_ldap_module
(共享)
authz_core_module(共享) authz_host_module
(共享) authz_user_module(共享)
autoindex_module(共享)
dav_module(共享)
dav_fs_module(共享)
deflate_module(共享)
dir_module(共享)
env_module(共享)
expires_module(共享)
filter_module(共享)
headers_module(共享)
jk_module(共享)
ldap_module(共享)
mime_module(共享)
mpm_prefork_module(共享)
negotiation_module(共享)
php7_module(共享)
reqtimeout_module(共享)
rewrite_module(共享)
setenvif_module(共享)
socache_shmcb_module(共享)
ssl_module(共享)
status_module(共享)

文件:(/etc/apache2/sites-enabled/000-default.conf评论已删除)
<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/typo3/public

        <Directory /var/www/typo3/public/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        JkMount /kitodo ajp13_worker
        JkMount /kitodo/* ajp13_worker
        <Location /kitodo>
                Order allow,deny
                Allow from all
        </Location>
</VirtualHost>
文件:(/etc/apache2/sites-enabled/default-ssl.conf评论已删除)
<IfModule mod_ssl.c>
        <VirtualHost _default_:443>
                ServerAdmin webmaster@localhost

                DocumentRoot /var/www/html

                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined

                SSLEngine on
                SSLCertificateFile      /etc/ssl/certs/ssl-cert-snakeoil.pem
                SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

                <FilesMatch "\.(cgi|shtml|phtml|php)$">
                                SSLOptions +StdEnvVars
                </FilesMatch>
                <Directory /usr/lib/cgi-bin>
                                SSLOptions +StdEnvVars
                </Directory>
        </VirtualHost>
</IfModule>

编辑:输出curl -i:

user@myhostname:~# curl -i http://myhostname/contents/example/example.xml
curl: (1) Received HTTP/0.9 when not allowed

输出wget -O - -o /dev/null --save-headers

 09:41:43 GMT
Accept-Ranges: bytes
Content-Length: 10971
Cache-Control: max-age=0
Expires: Mon, 09 Dec 2024 08:22:33 GMT
Vary: Accept-Encoding
X-Content-Type-Options: nosniff
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: application/xml; charset=utf-8

(...)
ataTable:11:inputText&quot;,onco:function(xhr,status,args,data){preserveMetadata(); updateTitleMetadata();;}});" /><s

(...)代表 XML 文件内容。我还看到末尾有一些不应该属于那里的内容。我认识到这些内容是通过 JkMount 包含的 Web 应用程序的一部分。最后一行的内容也因每次请求而异。

输出tcpdump -vv -i any -s 0 'tcp port http'(我希望我得到了正确的行,因为同时有人在服务器上工作):

09:15:05.940645 IP (tos 0x0, ttl 64, id 26047, offset 0, flags [DF], proto TCP (6), length 60)
    localhost.60850 > myhostname.http: Flags [S], cksum 0xff30 (incorrect -> 0x75f8), seq 4023966924, win 65495, options [mss 65495,sackOK,TS val 2467400527 ecr 0,nop,wscale 7], length 0
09:15:05.940660 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 60)
    myhostname.http > localhost.60850: Flags [S.], cksum 0xff30 (incorrect -> 0xbe63), seq 1059986559, ack 4023966925, win 65483, options [mss 65495,sackOK,TS val 1084365632 ecr 2467400527,nop,wscale 7], length 0
09:15:05.940673 IP (tos 0x0, ttl 64, id 26048, offset 0, flags [DF], proto TCP (6), length 52)
    localhost.60850 > myhostname.http: Flags [.], cksum 0xff28 (incorrect -> 0xe51f), seq 1, ack 1, win 512, options [nop,nop,TS val 2467400527 ecr 1084365632], length 0
09:15:05.940703 IP (tos 0x0, ttl 64, id 26049, offset 0, flags [DF], proto TCP (6), length 241)
    localhost.60850 > myhostname.http: Flags [P.], cksum 0xffe5 (incorrect -> 0x771f), seq 1:190, ack 1, win 512, options [nop,nop,TS val 2467400527 ecr 1084365632], length 189: HTTP, length: 189
        GET /contents/example/example.xml HTTP/1.1
        User-Agent: Wget/1.20.3 (linux-gnu)
        Accept: */*
        Accept-Encoding: identity
        Host: myhostname
        Connection: Keep-Alive

09:15:05.940721 IP (tos 0x0, ttl 64, id 2993, offset 0, flags [DF], proto TCP (6), length 52)
    myhostname.http > localhost.60850: Flags [.], cksum 0xff28 (incorrect -> 0xe463), seq 1, ack 190, win 511, options [nop,nop,TS val 1084365632 ecr 2467400527], length 0
09:15:05.946161 IP (tos 0x0, ttl 64, id 2994, offset 0, flags [DF], proto TCP (6), length 11426)
    myhostname.http > localhost.60850: Flags [P.], cksum 0x2b97 (incorrect -> 0xe10f), seq 1:11375, ack 190, win 512, options [nop,nop,TS val 1084365637 ecr 2467400527], length 11374: HTTP
09:15:05.946180 IP (tos 0x0, ttl 64, id 26050, offset 0, flags [DF], proto TCP (6), length 52)
    localhost.60850 > myhostname.http: Flags [.], cksum 0xff28 (incorrect -> 0xb81b), seq 190, ack 11375, win 463, options [nop,nop,TS val 2467400532 ecr 1084365637], length 0
09:15:10.951973 IP (tos 0x0, ttl 64, id 2995, offset 0, flags [DF], proto TCP (6), length 52)
    myhostname.http > localhost.60850: Flags [F.], cksum 0xff28 (incorrect -> 0xa45b), seq 11375, ack 190, win 512, options [nop,nop,TS val 1084370643 ecr 2467400532], length 0
09:15:10.952765 IP (tos 0x0, ttl 64, id 26051, offset 0, flags [DF], proto TCP (6), length 52)
    localhost.60850 > myhostname.http: Flags [F.], cksum 0xff28 (incorrect -> 0x90cb), seq 190, ack 11376, win 512, options [nop,nop,TS val 2467405539 ecr 1084370643], length 0
09:15:10.952792 IP (tos 0x0, ttl 64, id 2996, offset 0, flags [DF], proto TCP (6), length 52)
    myhostname.http > localhost.60850: Flags [.], cksum 0xff28 (incorrect -> 0x90ca), seq 11376, ack 191, win 512, options [nop,nop,TS val 1084370644 ecr 2467405539], length 0

您可以看到最后三个条目恰好在 5 秒后出现,这是底部不相关的内容。


重要补充发现:

  • Web 文件夹已完全清空,没有 .htaccess 文件可以播放。

  • 如果通过压缩查询 (Accept-Encoding gzip) 检索 XML 文件,则不会发生此行为

  • 如果我从“conf-enabled”中删除“security.conf”,我会得到略有不同(但仍然是错误的)的第一行输出:st-Modified: Thu, 28 Nov 2024 09:41:43 GMT[sic!]

  • 仅当通过指向 CIFS 挂载点的 Web 文件夹中的符号链接下载 XML 文件时才会发生此行为,而当 XML 文件位于文件夹中时则不会发生此行为

apache-2.4
  • 1 个回答
  • 94 Views
Martin Hope
Matthias Ronge
Asked: 2024-11-25 19:04:39 +0800 CST

如何解决通过 Apache / mod_jk 响应缓慢的问题

  • 5

从我的 Tomcat Web 应用程序请求图像(大小为 3 MB)需要 1.425 毫秒,但从通过 mod_jk 连接的同一服务器的 Apache 请求图像则需要 2.478 毫秒,因此慢了 75%。

这可能是什么原因造成的?我可以做些什么来提高速度吗?

没有特殊配置,只有带有一个工作程序、默认端口的 mod_jk,...

版本:
Apache/2.4.41 (Ubuntu)
Apache Tomcat/9.0.31 (Ubuntu)
JVM 版本:11.0.25+9-post-Ubuntu-1ubuntu120.04

000-默认.conf:

<VirtualHost: *:80>
    # ...

    JkMount /kitodo ajp13_worker
    JkMount /kitodo/* ajp13_worker
    <Location /kitodo>
        Order allow,deny
        Allow from all
    </Location>
</VirtualHost>

服务器.xml:

<Connector protocol="AJP/1.3"
        port="8009"
        redirectPort="8443"
        secretRequired="false" />
apache-2.2
  • 1 个回答
  • 30 Views
Martin Hope
Matthias Ronge
Asked: 2017-11-28 05:19:53 +0800 CST

sambaSID 计算的背景

  • 2

我正在贡献并运行一个开源 Web 应用程序,该应用程序在很大程度上在我之前就已经存在。该应用程序将 Web 应用程序用户的 LDAP 条目添加到本地 LDAP 实例,以使这些用户可以通过 Samba 访问文件系统。

在我知道的所有工作示例中,sambaSID存储在 LDAP 中的值都配置为由模式计算

$LOCALSID "-" ($UIDNUMBER * 2 + 1000)

示例:对于具有uid 1002的用户,sambaSID 将类似于S-1-5-21-1234567890-5678912345-987654321 - 3004[为可读性添加空格]。我很好奇为什么这是必要的。这些神奇的数字 2 和 1000 是从哪里来的,它们是否必要,如果是,为什么?

环顾四周,我发现了这个与我们的应用程序无关的PDF ,并准确地解释了这个过程:

5. 设置用户 sambaSID

在为外部 LDAP 创建用户时,您需要特别注意他们的 sambaSID。

用户的正确 Samba 条目类似于以下示例:

uid 号:1001

sambaSID:S-1-5-21-2896602268-470177729-4123194723-3002
gidNumber:1000

sambaPrimaryGroupSID:S-1-5-21-2896602268-470177729-4123194723-3001

如您所见,常规 sambaSID 后面附加了一个 4 位数字(取自上面的 WORKGROUP 示例)。这是通过以下方式生成的:

sambaSID: uidNumber * 2 + 1000
sambaPrimaryGroupSID: gidNumber * 2 + 1001

这些条目必须始终匹配并符合上述架构 - 否则用户将无法通过 SMB 进行连接。

因此,这些数字似乎不是随意选择的。但是,在我们的示例中,与引用的 PDF 不同,我发现sambaPrimaryGroupSID没有经过任何算法,它对 group 100( users) 的值只是附加了,like S-1-5-21-1234567890-5678912345-987654321 - 100,这与上面引用的 PDF 中的解释不同。但是,Samba 访问也可以正常工作,所以我想知道我找到的来源有多可靠。

那些神奇的数字“2”和“1000”是从哪里来的?它们对任何事情都是必要的或有用的吗?

samba
  • 1 个回答
  • 2122 Views
Martin Hope
Matthias Ronge
Asked: 2016-06-17 01:03:10 +0800 CST

如何防止 VMware 控制台卡住鼠标

  • 4

我目前正在设置一个新服务器(Ubuntu LTS),我必须使用 Windows 10 PC 上的 VMware 控制台来执行此操作。我习惯使用 PuTTY,发现 VMware 控制台非常不方便。

我想要实现的是控制台的行为更像普通窗口,比如

  • 只要窗口获得焦点,它就会接受键盘输入,而无需先点击黑色区域
  • 它没有抓住鼠标(一点都没有,我不需要控制台中的鼠标)
  • 使用 Windows 的剪贴板复制粘贴(尤其是粘贴密码)会很好,但是是可选的

我想安装 VMware 工具以使其正常工作,但我不确定它们是否安装正确,但我想(并且已经得到第一个答案)喜欢。但是,VMware 控制台仍然像以前一样运行。有没有办法改变这种行为?(也许某些 vSphere 配置选项只是为了完全禁用控制台中的鼠标,以便它只保留在我的桌面上?)

显然,让 SSH 守护进程工作将是我的下一步,但是我想知道我是否也可以让控制台以这种方式工作。

console vmware-vsphere mouse
  • 1 个回答
  • 4267 Views
Martin Hope
Matthias Ronge
Asked: 2016-06-17 00:55:44 +0800 CST

如何在 Ubuntu 14.04 LTS 上正确设置 VMware 工具?

  • 0

我目前正在 VMware 5.5 上设置新的 Ubuntu 14.04 LTS。我想安装 VMware 工具(可以安装为 CD-ROM 的 TAR 包)。但是,当运行脚本时,机器告诉我它们是遗留的,自动对我是否要安装它们的问题回答“不”,然后把我留在 shell 上。短信将我指向一篇VMware 知识库文章,说我应该安装open-vm-tools而不是使用apt。本文引用了专门针对 Ubuntu 14.04 LTS的客户操作系统安装指南,该指南以从 TAR 包中安装 VMware 工具的说明开始。拒绝这样做。

所以我决定使用apt安装open-vm-tools来代替它。在查找如何做到这一点时(我是 Ubuntu 的新手,以前这里只有 SuSE linuxes)我发现这篇文章特别针对 Ubuntu 14.04 LTS(Trusty)说要使用的包是. 听起来很合理,所以我安装了那个并重新启动了机器。vSphere Client 报告VMware Tools: (?) Is being executed (thirdparty provider。如果我将鼠标悬停在文本上,它会显示以下工具提示:状态未知。工具正在安装,但不受 VMware 管理:open-vm-tools-lts-trusty

VMware 工具:Wird ausgeführt(Drittanbiet... Der Status ist unbekannt. Die Tools werden installiert, aber nicht von VMware verwaltet。

我现在是什么状态?工具是否已经运行?我怎么知道?我想是的,因为我得到:

$ vmware-toolbox-cmd -v
9.4.0.25793 (build-1280544)

但也许我需要启动一些守护进程?我尝试使用键盘补全来查找一些rcvm…或rcopen…命令,但这并没有让我找到任何东西。

VMware 是否正确识别它们,或者它是否认为它们目前正在安装(也许只是德语界面文本具有误导性,但这是我理解的工具提示文本所说的)。包裹真的是open-vm-tools-lts-trusty正确的,还是应该open-vm-tools只有,还是我都需要?(我四处搜寻以了解这两个包之间的区别,但没有找到对我来说清楚的东西。)那open-vm-tools-desktop呢?我也必须安装这个吗?(我不想在那里使用任何 X11,所以我想答案是否定的。但我是对的吗?)客户操作系统安装指南还指出了一些关于vmhgfs驱动程序的内容(应该在 TAR 包中)。open-vm-tools-lts-trusty包里也有那个吗?或者是否有另一个vmhgfs包裹?其次,指南命名一个包open-vm-tools-deploypkg?我需要那个,还是不需要?

如果有人能指出我正确的道路,我将不胜感激。

vmware-vsphere vmware-tools ubuntu-14.04
  • 1 个回答
  • 2303 Views
Martin Hope
Matthias Ronge
Asked: 2013-10-18 23:53:18 +0800 CST

SSH 在 20 分钟后断开活动会话

  • 0

我刚刚设置了一个新的 Linux 机器(VmWare 上的 OpenSuSE 12.3)。现在我说我的 SSH shell 会话在 20 分钟后完全断开,显然是有活动的。(腻子:“网络错误:软件导致连接中止”)

我已经将 Putty 设置为每 64 秒发送一次存活。在sshd_config中,我设置

ClientAliveInterval 50
ClientAliveCountMax 2

并重新加载了守护进程。没有帮助。链接断开大约两分钟后,ssh 向/var/log/messages报告:

… … sshd[…]: Timeout, client not responding.
… … sshd[…]: pam_unix(sshd:session): session closed for user root

我在连接其他虚拟机时没有遇到这种行为,所以我猜问题不在网络上。任何帮助表示赞赏。

ssh
  • 1 个回答
  • 2128 Views
Martin Hope
Matthias Ronge
Asked: 2013-04-25 03:17:28 +0800 CST

你能阻止下载整个网站吗

  • 1

我想知道是否有任何方法可以通过阻止用户将所有内容下载到其硬盘驱动器来保护付费内容的 Web 服务器;例如检测非典型行为(例如保存每个页面、快速浏览所有内容)并能够自动对其做出反应。

我做了一些搜索,例如“异常值检测”、“行为分析”或“入侵检测”并找到了Snort,但这似乎是防火墙而不是 Web 服务器的理想部分。我原以为该解决方案更像是代理服务器、Apache 模块或 Typo3 扩展。也许我进行了不幸的搜索,因为缺少这样一个组件的精确英语表达。

有什么办法可以防止这种行为?

website
  • 1 个回答
  • 444 Views
Martin Hope
Matthias Ronge
Asked: 2012-12-01 03:09:03 +0800 CST

与 WebDAV 链接的最佳实践,因为 FollowSymLinks 不允许显示符号链接

  • 6

符号链接是 Linux 上的一种普遍做法,它使资源(例如目录)在另一个位置可用,而无需维护它的多个副本。这在许多应用程序中实现,例如,拥有资源树和用户目录树:每当用户打算使用某个资源时,符号链接就会被放置到他或她有权访问的目录中。给予足够的许可,他或她可以使用资源(在其中创建文件),这些资源可能物理地写入不同的位置,例如在具有足够空间的设备上。如果用户使用 Samba 访问他的主目录,这会很好地工作。

但是,有充分的理由改用 WebDAV,端口问题就是其中之一。将此类应用程序移植到 WebDAV 时出现的问题:Apache 的 mod_dav 是以不公开符号链接的方式编写的,无论是否设置了 FollowSymLinks。此行为是社区有意为之,因此从未解决错误报告。

但是,如何才能将所需的行为移植到 WebDAV?我尝试改用硬链接,但硬链接目录似乎根本不起作用。使用mount可能有效,但我无法估计数百个安装的副作用。有没有我现在没有过来的选项?是否有已知的“最佳实践”?还是 WebDAV 根本不适合作为 Samba 的替代品?

webdav
  • 2 个回答
  • 9000 Views
Martin Hope
Matthias Ronge
Asked: 2012-12-01 02:05:20 +0800 CST

LDAP 对象类冲突:后缀中不允许属性 ou?

  • 2

我将要设置一个 LDAP 目录。它用作将用户权限从 Web 应用程序传达给 WebDav 文件系统访问的工具,例如,将用户添加到 Web 平台应允许使用相同的凭据登录文件系统。没有其他用途。按照这个鼓励使用 、 等属性的德语教程,我配置了以下后缀和根:cooudc

suffix                "ou=webtool,o=myOrg,c=de"
rootdn                "cn=ldapadmin,ou=webtool,o=myOrg,c=de"

服务器启动,我可以通过LDAP Admin连接到它,它报告“LDAP 错误:缺少对象”。那么,还没有任何对象。

我现在想从 shell 创建 root 和 admin 元素。我创建了一个init.ldif文件:

dn: ou=webtool,o=myOrg,c=de
objectclass: dcObject
objectclass: organization
dc: webtool
o: webtool

dn: cn=ldapadmin,ou=webtool,o=myOrg,c=de
objectclass: organizationalRole
cn: ldapadmin

尝试加载文件遇到错误,告诉我这ou是不允许的:

server:~ # ldapadd -x -D "cn=ldapadmin,ou=webtool,o=myOrg,c=de" -W -f init.ldif
Enter LDAP Password:
adding new entry "ou=webtool,o=myOrg,c=de"
ldap_add: Object class violation (65)
        additional info: attribute 'ou' not allowed

除了后缀,我没有ou在任何地方使用,所以问题是:这里不允许吗?这里允许什么?

ldap
  • 1 个回答
  • 22146 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

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

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve