这个问题是针对 Unix 和 Linux 的。但它也是编程和安全性。
我的程序将通过几种方式之一(解密密码文件、询问代理等)获得一个清晰的密码或解密密钥,我想确保它在使用后可以从内存中删除之前无法写入交换空间它。我认为这意味着获得不可交换的地址空间。但这通常需要 root 权限,而我的程序需要以非 root 身份运行。这可以在 Unix 中便携地完成吗?在 Linux 中有希望吗?
将系统配置为没有交换空间不是一种选择,因为程序的用户可能没有这样的权限,虽然这可能会使系统更安全,但并非所有系统都可以这样做。
我可以在 C 中完成这部分,尽管在 Python3 中完成它的方法也很好。
我的非 root进程可以获得一些非交换页面以确保安全吗?
我可以防止这个过程被暂停吗? 最好退出而不是写入交换的明确密码。
可能的重复:
Rsync 过滤器:仅复制一种模式
我想使用 rsync 从具有特定结束字符串的服务器(或 server-via-ssh)传输所有文件,例如像tar.gz
. 无论他们现在或将来会走多远,我都想要它们。但这不仅仅是扩展。在一种情况下,我想获取所有以-server-cloudimg-amd64-root.tar.gz
. 同样重要的是,我根本不想获取任何其他文件,即使它们位于较浅的路径中。
简单的情况下--include="**/*-server-cloudimg-amd64-root.tar.gz
不会得到它们。我知道 rsync 包含/排除并不简单,没想到它会起作用。我知道有些需要指定要传输的目录。但是 rsync 的逻辑对我来说一直是个谜(不像我见过的任何路径 ACL 规则),因为它也需要单独匹配父目录。我认为所需要的只是一个带有语义的选项,即“如果此文件匹配,则包括所有必要的目录以使其传输而不暗示任何其他匹配”,其方式与该命令mkdir -p ${DIRNAME}
将创建命名目录的父目录大致相同需要。我在 rsync 中看不到这样的选项。是否有一些直接的方法可以一次性完成此操作?