小编kub*_*zyk的帖子

无法使用 useradd 添加用户

尝试将(不存在的)用户添加到我的 CentOS 系统时返回useradd: user example exists. 我可以成功地手动将用户添加到 /etc/passwd 和 /etc/shadow,但这种解决方法是一件坏事。用户存在于 LDAP 中,但 PAM 未使用 LDAP 进行身份验证。添加其他用户工作正常。我难住了。

预计到达时间:

[root ~]# userdel example
userdel: error deleting password entry
userdel: error deleting shadow password entry
[root ~]# useradd example
useradd: user example exists
[root ~]# su example
bash-3.2$ whoami
example
bash-3.2$ groups example
example : Users
bash-3.2$ cd
bash: cd: /home/example: No such file or directory
bash-3.2$ 
Run Code Online (Sandbox Code Playgroud)

linux ldap centos

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

添加 haproxy X-Forwarded-Host 请求头

我有一个 Haproxy 实例,它Host使用http-request set-header.

http-request set-header Host internal.example
Run Code Online (Sandbox Code Playgroud)

但是,我仍然希望后端能够访问原始Host标头。我认为这X-Forwarded-Host是一个很好的候选人,但是我正在努力弄清楚如何做到这一点。

我正在使用这个,它有效:

capture request header Host len 64
http-request set-header X-Forwarded-Host %hrl
Run Code Online (Sandbox Code Playgroud)

但当然,这是一个巨大的黑客 - 不能超过 64 个字符,如果我需要捕获另一个标题,它将无法工作。

有没有更好的办法?

http-headers haproxy x-forwarded-for

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

如何在映射新驱动器之前清理旧连接?

我在 Windows Server 2008r2 上有一些脚本,可以使用有限的凭据访问其他服务器系统上的特定资源。如果某人或其他脚本也使用不同的凭据从此服务器访问了该系统并且没有注销,则脚本将失败并显示Error 1219 "The network folder specified is currently mapped using a different user name and password"

如何确保我的脚本在尝试映射新驱动器之前删除与该特定计算机的所有连接?

C:\> net use //server /d  
Run Code Online (Sandbox Code Playgroud)

本身不起作用。我可以跟进并net use看到驱动器仍然共享:

C:\> net use \\server /d
\\server was deleted successfully.


C:\> net use
New connections will be remembered.


Status       Local     Remote                    Network

-------------------------------------------------------------------------------
Disconnected           \\server\somedrive       Microsoft Windows Network
The command completed successfully.
Run Code Online (Sandbox Code Playgroud)

断开的驱动器仍然会导致相同的情况Error 1219

任何人都可以提出比删除该计算机上存在的所有共享的详尽列表更优雅的解决方案吗?

net use \\server\share1 /d
net use \\server\share2 /d
net use \\server\share3 /d
etc... …
Run Code Online (Sandbox Code Playgroud)

networking windows-server-2008 network-share

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

Ansible 如何将输出作为没有括号和 u 的变量

我有来自 ansible 的查询结果,我尝试将结果用作变量

我的剧本是这样的

- name: Query
  oracle_sql:
    username: "{{ user }}"
    password: "{{ password }}"
    service_name: "{{ service_name }}"
    sql: "select smth  from table where smth like 'OK_%'"
  register: smth
Run Code Online (Sandbox Code Playgroud)

结果被格式化为:

"msg": [
    [
        "SMTH"
    ]
]
no stdout, no stderr
Run Code Online (Sandbox Code Playgroud)

在此之后,我想使用我的变量:

- name: echo
  shell: echo {{ smth.msg[0] }} > /tmp/test
Run Code Online (Sandbox Code Playgroud)

输出是这样的:

[uSMTH]
Run Code Online (Sandbox Code Playgroud)

如何删除括号和'u'?我知道这是一个列表,但我无法摆脱它。

我试图从 yaml 或 json 格式转换而没有运气,这最后添加了一些回车

| to_yaml 
| to_json
| to_nice_yaml
| to_nice_json
Run Code Online (Sandbox Code Playgroud)

有什么建议吗?

ansible ansible-playbook

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

如何与四个独立的 LAN 通信

我有 4 个物理上不同的网络。我们称它们为 A、B、C 和 D。

通常,这些应该被隔离。但是,有多种机器需要访问其中的任意两台。这些由必要的防火墙保护。

现在出现了一个要求,即一台机器必须能够访问所有 4 个网络。

我最初的反应是将 4 个 NIC 放入机器中并完成它,但这似乎相当不安全。先前安装的建议是使用交换机来创建公共网络。同样,这似乎并不安全。我的问题是这样的:

架构图

我将如何实现类似于上图的网络,其中路由器是服务器,而 3 个 VLAN 是我的其他网络。这样:

  • 服务器可以根据该特定网络的防火墙访问任何其他网络上的任何机器。
  • 网络上的机器可以根据适用的防火墙访问服务器。
  • 不同网络上的机器无法与另一个网络通信。

我不是在寻找一个接一个的打击,只是为了有人指出我正确的方向。

networking security firewall

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

vim 可以在没有插件的情况下执行缓冲区吗?

如果在 vim 中编辑一些脚本,一个扩展名为 .py 或 .sh 的文件,是否有任何内置的 vim 命令允许运行这样的文件?我知道有很多类似 IDE 的 VIM 插件允许执行文件 vim 编辑,但是没有插件可能吗?

vim vi

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

Linux 上的网络绑定模式 balance-rr / 802.3ad layer3+4

balance-rrxmit_hash_policy 设置为 layer3+4 的802.3ad 什么区别。

https://www.kernel.org/doc/Documentation/networking/bonding.txt

layer3+4:此算法不完全符合 802.3ad。包含分段和未分段数据包的单个 TCP 或 UDP 会话将看到跨两个接口的数据包。这可能会导致无序交付。大多数流量类型不符合此标准,因为 TCP 很少对流量进行分段,并且大多数 UDP 流量不涉及扩展对话。802.3ad 的其他实现可能会也可能不会容忍这种不合规性。

load-balancing bonding round-robin

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

如何更改 https 的证书和密钥

我们有一台服务器,其原始 PKI 证书是由已停产的根 CA 颁发的。我们有一个由不同的根授权链颁发的替代证书。该站点是前一段时间建立的,并建立了严格的传输安全性。

服务器密钥是 4096 位。旧的 CA 根私钥是 1024 位(2006 年发布)。

如何为启用 Strict-Transport-Security 的站点切换 PKI 密钥和证书?我已经搜索了这方面的信息,但到目前为止都是空的。

ssl-certificate x509 apache-2.4

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

为审计师准备的最佳实践 ACL?

一名审计员将很快访问我们的办公室,他们将需要对我们的数据进行只读访问。我已经创建了一个域用户帐户并将它们放入一个名为“Auditors”的组中。

我们有一个包含大约十个共享文件夹的文件服务器 (Windows Server 2008)。所有共享都设置为允许经过身份验证的用户完全访问,并且使用 NTFS ACL 实施访问限制。大多数文件夹允许完全访问“域用户”组,但审核员不需要进行任何更改。因为我们有大约一百万个文件,所以更新 NTFS ACL 需要几个小时。以下是我目前正在考虑的选项。

  • 在共享级别创建一个“员工”组来分配读/写而不是“域用户”
  • 在 NTFS 级别创建一个“staff”组来分配读/写而不是“域用户”
  • 拒绝访问共享级别的“审核员”组
  • 拒绝在 NTFS 级别访问“审核员”组
  • 接受现状并信任审计师。

我将来可能需要配置类似的用户,因为我们的一些承包商需要域帐户,但不应该能够修改我们的客户数据。是否有最佳实践?

windows-server-2008 audit ntfs access-control-list best-practices

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

Nginx 作为 https 代理

我需要将 nginx 设置为 https 代理,但这不起作用:

$ export https_proxy="http://127.0.0.1:8081"
$ curl https://example.com
curl: (56) Received HTTP code 400 from proxy after CONNECT
Run Code Online (Sandbox Code Playgroud)

我的nginx.conf

server {
    listen          8081;
    location / {
            proxy_pass              http://some.proxy.com:3128;
            proxy_set_header        Host            $http_host;
    }
}
Run Code Online (Sandbox Code Playgroud)

nginx proxy https privoxy

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