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
    • 最新
    • 标签
主页 / server / 问题

问题[posix](server)

Martin Hope
Daniel Gray
Asked: 2020-11-10 09:47:24 +0800 CST

如何可靠且可移植地将二进制信息序列化到 POSIX shell

  • 1

问题上下文

我正在尝试实现一个作业编排器,其代理/工作程序通过 SSH 会话/shell 连接到机器。我想将(可能是二进制)文件传输到这些代理(任何类型的任务都可能需要)。

显然,如果可以以任何方式配置端口,则nc可以执行一些指令。但是,我正在尝试获得适用于最严格设置的东西。

在这种设置中(手动)工作时,我经常做的事情是将文件序列化为 Base64 或类似文件,然后将数据“粘贴”到控制台会话中,例如:

echo -n "BINARY_BASE64_DATA" | base64 --decode > file_destination.file

我想为我上面描述的代理/工作人员实现类似的东西。

问题

问题的关键在于使用什么工具来获得最大的兼容性表面。大多数 Linux 机器(甚至是最基本的 Docker/Vagrant 映像)似乎都已base64安装。然而,FreeBSD 似乎没有预装这个命令。我知道我可以使用或 Ports 安装它pkg,但我想尽可能多地使用开箱即用的东西。

我寻找了更多 POSIX/Unix-y 的东西,发现了这个:https ://en.wikipedia.org/wiki/List_of_Unix_commands它说:

这是 IEEE Std 1003.1-2008 指定的 Unix 命令列表,它是单一 UNIX 规范 (SUS) 的一部分。这些命令可以在 Unix 操作系统和大多数类 Unix 操作系统上找到。

并且有一个长长的命令表,其中相关的命令uuencode都uudecode被列为“强制”。

在 FreeBSD 上,我可以看到它是开箱即用的。

在我的 Ubuntu 桌面上,它也存在,虽然我不知道它是开箱即用的,还是作为我安装的其他东西的依赖项安装的。但是,在 Ubuntu Vagrant 框(generic/ubuntu2004特别是 )中,调用uuencode会显示以下消息:

$ uuencode

Command 'uuencode' not found, but can be installed with:

apt install sharutils
Please ask your administrator.

在我基于 Ubuntu 14.04 的 Docker 映像上,我得到:

# uuencode
bash: uuencode: command not found
  1. 为什么 Ubuntu 并非在所有情况下都包含uuencode/uudecode开箱即用?这是否使其不符合 POSIX/Unix 标准?
  2. 是否有另一个我缺少的命令提供了我正在寻找的那种功能,或者我应该放弃并要求工作人员/代理机器base64安装二进制文件以与协调器一起使用?
linux unix freebsd posix unix-shell
  • 1 个回答
  • 252 Views
Martin Hope
James Hopwood
Asked: 2020-08-15 04:41:45 +0800 CST

使用 Samba 作为 AD 域成员,并在 Linux 成员之间自动生成一致的 POSIX 属性

  • 0

我正在尝试将多个 Linux 设备加入到具有域登录和 Samba 文件共享功能的 Windows Active Directory 域。我试图避免在此处手动将 POSIX 属性添加到 AD 用户和组。虽然看起来很简单,可以使用 samba 的 autorid 后端执行,但基于 Redhat 的文档文件和打印服务器 - autorid 的缺点

与其他 Linux 设备相比,Autorid 会创建不一致的 uid 和 gid 属性。由于我希望域用户和组拥有的目录和文件的权限在所有成员之间保持一致,(从客户端到服务器,从客户端到客户端)不一致的生成属性对于我的环境是不可接受的。

表面上看,sssd 自动 id 映射(sssd.conf 中的 ldap_id_mapping = true)使用了一种算法,可以自动为跨多个 Linux 主机的域用户生成一致的 uid 和 gid 属性。我会使用它作为 samba 的后端——但是正如 Redhat 在他们的文档中所说,他们不建议这样做,因为 sssd 无法执行 NetBIOS 查找或 NTLM。 将 SMB 共享与 SSSD 和 Winbind 一起使用

因此,为了寻求一个理想的配置,允许跨多个 linux 域成员一致地自动生成 uid 和 gid 属性,但仍允许完整的域 samba 功能,有哪些选择?

active-directory samba samba4 sssd posix
  • 1 个回答
  • 786 Views
Martin Hope
Michael Altfield
Asked: 2020-03-31 03:16:45 +0800 CST

Varnish 是否支持 unix 域套接字文件?

  • 1

清漆是否支持 unix 套接字文件?

我想通过在我的网络服务器之前添加清漆反向代理(HTTP 加速器/缓存)来加速我的网站。我的 Web 服务器的虚拟主机当前配置为侦听“UNIX 域套接字”上的连接。有关此配置的更多信息,请参阅NGINXpath中“ listen”指令的“”参数:

  • https://nginx.org/en/docs/http/ngx_http_core_module.html#listen

varnish 是否可以通过 unix 域套接字文件作为其后端与我现有的 nginx 服务器的配置进行通信?

varnish 是否也可以自己监听域套接字?

linux nginx varnish socket posix
  • 1 个回答
  • 706 Views
Martin Hope
user2437272
Asked: 2016-09-28 06:12:35 +0800 CST

如何找到文件名中包含非法字符的目录中的所有文件?

  • 3

以下是我准备的内容以及我遇到的问题:

find / \! -name "*[:alnum:]*" -type f -ls > ~/Desktop/files_not-allowed-char.txt

我实际上想列出所有包含以下字符之一的文件:

\ / : * ? " < > |

反过来:我想列出名称中包含其他字符的所有文件:

[A-Z][a-z][0-9]äöüÄÖÜß_-.()#[]
or in other "words":
[:alnum:] and "äöüÄÖÜß_-.()#[]"

我希望我能澄清我的愿望。我正在进入未知领域...

提前致谢!


背景信息:我想从 AFP 更改为 SMB,但必须确保重命名所有无效的文件和文件夹名称(例如invalid_Directory_Name./)。

bash command-line-interface posix
  • 1 个回答
  • 3070 Views
Martin Hope
Konstantin Boyandin
Asked: 2016-04-16 18:48:09 +0800 CST

安排作业每 23 分钟运行一次

  • 2

在某些情况下,我需要以 Cron 能够提供的更复杂的方式运行计划作业。比如说,安排一个作业每 23 或 65 分钟运行一次。

在后一种情况下,可以通过添加多个 Cron 条目来运行同一行来解决它。在第一种情况下,要添加的行数太多了。

三个明显的解决方案:

  • 每分钟运行一次该过程;使用作业自己的逻辑来推断它应该何时实际运行并将其状态保持在某个地方(例如,在文件中)
  • 在脚本中使用“sleep”暂停指定的时间,并使用像Supervisor这样的东西保持运行
  • 使用任何能够以任意周期定期运行进程的实用程序(例如监视实用程序)并使用它启动任务

但在某些情况下,它们都是不方便的。

是否有更智能的 Cron 替代品,至少可用于 POSIX 系统,能够使用任意时间表?

cron posix
  • 2 个回答
  • 2440 Views
Martin Hope
Yoav
Asked: 2010-03-18 01:33:27 +0800 CST

在 Linux 中监视和终止挂起的进程

  • 0

我正在编写一个脚本,该脚本运行许多同时运行“dig”命令的进程。偶尔(相对罕见,但自从我多次运行 dig 以来每次运行都会发生)dig 命令以 0% 的 CPU 挂起。因此,我的脚本永远不会终止。我为我运行的每个 dig 命令创建了一个监视进程,它会在一段时间后终止它,但我想知道是否没有更简单、更有效的方法来运行具有预定“到期日期”的进程,即,如果进程运行超过 X 秒,它会收到一个终止它的信号。

谢谢!

linux process posix
  • 3 个回答
  • 615 Views
Martin Hope
0x89
Asked: 2009-08-10 13:11:51 +0800 CST

bash中的双方括号和单方括号有什么区别?

  • 529

我只是想知道两者之间到底有什么区别

[[ $STRING != foo ]]

和

[ $STRING != foo ]

是,除了后者是 POSIX 兼容的,在 sh 中找到,而前者是在 bash 中找到的扩展。

scripting bash shell posix
  • 5 个回答
  • 260914 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